- Jul 27, 2020
-
-
biplmish authored
This patch adds the td definitions and asm/disasm tests for the following instructions: Vector Extract Double Left Index - vextdubvlx, vextduhvlx, vextduwvlx, vextddvlx Vector Extract Double Right Index - vextdubvrx, vextduhvrx, vextduwvrx, vextddvrx Differential Revision: https://reviews.llvm.org/D84384
-
Mehdi Amini authored
This member is already publicly declared on the base class. The redundant declaration is mangled differently though and in some unoptimized build it requires a definition to also exist. However we have a definition for the base ShapedType class, removing the declaration here will redirect every use to the base class member instead. Differential Revision: https://reviews.llvm.org/D84615
-
Fangrui Song authored
-
Matt Arsenault authored
We don't really need these asserts. The LegalizerInfo is also overly-aggressivly constructed, even when not in use. It needs to not assert on dummy targets that have manually specified, unrelated features.
-
biplmish authored
Remove the duplicate LE test, correct the labels and remove common tests for vec_splat builtin. Differential Revision: https://reviews.llvm.org/D84382
-
QingShan Zhang authored
Store Addr and Store Addr+8 are clusterable pair. They have memory(ctrl) dependency on different loads. Current implementation will put these two stores into different group and miss to cluster them. Reviewed By: evandro Differential Revision: https://reviews.llvm.org/D84139
-
Juneyoung Lee authored
-
Lang Hames authored
-
Valentin Clement authored
Reviewed By: tskeith, klausler, ichoyjx Differential Revision: https://reviews.llvm.org/D83998
-
Martin Storsjö authored
Previously, the test could pass with one part of c3b1d730 removed.
-
Jez Ng authored
Needed for testing Objective-C programs (since e.g. Core Foundation is a framework) Reviewed By: #lld-macho, compnerd Differential Revision: https://reviews.llvm.org/D83925
-
Craig Topper authored
[X86] Turn X86DAGToDAGISel::tryVPTERNLOG into a fully custom instruction selector that can handle bitcasts between logic ops Previously we just matched the logic ops and replaced with an X86ISD::VPTERNLOG node that we would send through the normal pattern match. But that approach couldn't handle a bitcast between the logic ops. Extending that approach would require us to peek through the bitcasts and emit new bitcasts to match the types. Those new bitcasts would then have to be properly topologically sorted. This patch instead switches to directly emitting the MachineSDNode and skips the normal tablegen pattern matching. We do have to handle load folding and broadcast load folding ourselves now. Which also means commuting the immediate control. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D83630
-
Tim Keith authored
If a symbol (that is not a dummy argument) is implicitly declared inside a statement function, don't create it in the statement function's scope. Instead, treat statement functions like blocks when finding the inclusive scope and create the symbol there. Add a new flag, StmtFunction, to symbols that represent statement functions. Differential Revision: https://reviews.llvm.org/D84588
-
Hannes Käufler authored
-
Craig Topper authored
These cost methods don't make much sense in X86Subtarget. Make them methods in X86's TTI and move the feature checks from the X86Subtarget constructor into these methods. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D84594
-
Juneyoung Lee authored
-
Bruno Ricci authored
-
Bruno Ricci authored
-
Bruno Ricci authored
-
- Jul 26, 2020
-
-
Simon Pilgrim authored
If we lower a v2i64 shuffle to PSHUFD, we currently clamp undef elements to 0, (elements 0,1 of the v4i32) which can result in the shuffle referencing more elements of the source vector than expected, affecting later shuffle combines and KnownBits/SimplifyDemanded calls. By ensuring we widen the undef mask element we allow getV4X86ShuffleImm8 to use inline elements as the default, which are more likely to fold.
-
Vincent Zhao authored
This diff provides a concrete test case for the error that will be raised when the iteration space is non hyper-rectangular. The corresponding emission method for this error message has been changed as well. Differential Revision: https://reviews.llvm.org/D84531
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
The legal cases should be the first rules.
-
Matt Arsenault authored
-
Matt Arsenault authored
I noticed these don't use the _gfx9, non-m0 reading variants but not sure if that's a bug or not. It's the same in the DAG.
-
Matt Arsenault authored
-
Sanjay Patel authored
-
Matt Arsenault authored
-
Matt Arsenault authored
This matches the DAG behavior and fixes immediate folding
-
Matt Arsenault authored
Split into separate tests and make more consistent with the others.
-
Xing GUO authored
This patch renames getUsedSectionNames() to getNonEmptySectionNames. NFC.
-
Sanjay Patel authored
-
Sanjay Patel authored
Follow-up to D84035 / rG7393d757. This sidesteps a question of FMF/poison on fcmp raised in PR46077: http://bugs.llvm.org/PR46077 https://alive2.llvm.org/ce/z/TCsyzD define i1 @src(float %x) { %0: %x42 = fadd nnan ninf float %x, 42.000000 %r = fcmp ueq float %x42, inf ret i1 %r } => define i1 @tgt(float %x) { %0: ret i1 0 } Transformation seems to be correct! https://alive2.llvm.org/ce/z/FQaH7a define i1 @src(i8 %x) { %0: %cast = uitofp i8 %x to float %r = fcmp one float inf, %cast ret i1 %r } => define i1 @tgt(i8 %x) { %0: ret i1 1 } Transformation seems to be correct!
-
Sanjay Patel authored
-
Juneyoung Lee authored
-
Juneyoung Lee authored
This is a simple patch that adds constant folding for freeze instruction. IIUC, it isn't needed to update ConstantFold.cpp because there is no freeze constexpr. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D84597
-
Juneyoung Lee authored
This is a simple patch that makes canCreateUndefOrPoison use Instruction::isBinaryOp because BinaryOperator inherits Instruction. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D84596
-
Juneyoung Lee authored
-