llvm-project/llvm/lib/CodeGen/SelectionDAG
Craig Topper 0cd6712a7a [DAGCombiner][X86] Disable narrowExtractedVectorLoad if the element type size isn't byte sized
The address calculation for the offset assumes that you can calculate the offset by multiplying the index by the store size of the element. But that only works if the element's store size is exactly its real size since we store vectors tightly packed in memory. There are improvements we could make to this like special casing extracting element 0. I think we could also handle cases where the extracted VT is byte sized and the index is aligned with the extract element count.

Differential Revision: https://reviews.llvm.org/D75377
2020-03-01 18:13:25 -08:00
..
CMakeLists.txt [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
DAGCombiner.cpp [DAGCombiner][X86] Disable narrowExtractedVectorLoad if the element type size isn't byte sized 2020-03-01 18:13:25 -08:00
FastISel.cpp Add dbgs() output to help track down missing DW_AT_location bugs, NFC 2020-02-13 14:38:44 -08:00
FunctionLoweringInfo.cpp [KnownBits] Introduce anyext instead of passing a flag into zext 2020-02-12 19:06:53 +00:00
InstrEmitter.cpp Reland "[WebAssembly][InstrEmitter] Foundation for multivalue call lowering" 2020-02-18 13:49:46 -08:00
InstrEmitter.h [SelectionDAG] Enhance the simplification of `copyto` from `implicit-def`. 2019-05-27 18:26:29 +00:00
LLVMBuild.txt
LegalizeDAG.cpp No longer generate calls to *_finite 2020-02-28 10:07:37 +01:00
LegalizeFloatTypes.cpp [X86][LegalizeTypes] Add SoftPromoteHalf support STRICT_FP_EXTEND and STRICT_FP_ROUND 2020-02-11 22:30:04 -08:00
LegalizeIntegerTypes.cpp [SelectionDAG][PowerPC][AArch64][X86][ARM] Add chain input and output the ISD::FLT_ROUNDS_ 2020-02-25 16:58:23 -08:00
LegalizeTypes.cpp [LegalizeTypes][ARM][AArch64][PowerPC][RISCV][X86] Use BUILD_PAIR to return expanded integer results from ReplaceNodeResults instead of just returning two results. 2020-02-08 09:52:31 -08:00
LegalizeTypes.h [LegalizeTypes][X86] Add a new strategy for type legalizing f16 type that softens it to i16, but promotes to f32 around arithmetic ops. 2020-02-01 11:21:04 -08:00
LegalizeTypesGeneric.cpp [LegalizeTypes][X86] Add a new strategy for type legalizing f16 type that softens it to i16, but promotes to f32 around arithmetic ops. 2020-02-01 11:21:04 -08:00
LegalizeVectorOps.cpp [SDAG] Add SDNode::values() = make_range(values_begin(), values_end()) 2020-02-26 12:07:38 -06:00
LegalizeVectorTypes.cpp [LegalizeTypes] Scalarize non-byte sized loads in WidenRecRes_Load and SplitVecResLoad 2020-02-24 15:14:33 -08:00
ResourcePriorityQueue.cpp
SDNodeDbgValue.h
ScheduleDAGFast.cpp Finish moving TargetRegisterInfo::isVirtualRegister() and friends to llvm::Register as started by r367614. NFC 2019-08-01 23:27:28 +00:00
ScheduleDAGRRList.cpp [ScheduleDAG] When a node is cloned, add an edge between the nodes. 2019-10-04 19:51:40 +00:00
ScheduleDAGSDNodes.cpp Allow "callbr" to return non-void values 2020-02-24 18:29:06 -08:00
ScheduleDAGSDNodes.h Prune Analysis includes from SelectionDAG.h 2019-10-19 01:07:48 +00:00
ScheduleDAGVLIW.cpp Prune Analysis includes from SelectionDAG.h 2019-10-19 01:07:48 +00:00
SelectionDAG.cpp [SelectionDAG] Merge constant SDNode arithmetic into foldConstantArithmetic 2020-02-24 18:54:22 +00:00
SelectionDAGAddressAnalysis.cpp Prune a LegacyDivergenceAnalysis and MachineLoopInfo include each 2019-10-19 01:31:09 +00:00
SelectionDAGBuilder.cpp [SelectionDAG][PowerPC][AArch64][X86][ARM] Add chain input and output the ISD::FLT_ROUNDS_ 2020-02-25 16:58:23 -08:00
SelectionDAGBuilder.h [FPEnv] Fix chain handling regression after 04a8696 2020-01-14 14:10:57 +01:00
SelectionDAGDumper.cpp [Intrinsic] Add fixed point saturating division intrinsics. 2020-02-24 10:50:52 +01:00
SelectionDAGISel.cpp Add dbgs() output to help track down missing DW_AT_location bugs, NFC 2020-02-13 14:38:44 -08:00
SelectionDAGPrinter.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
SelectionDAGTargetInfo.cpp
StatepointLowering.cpp [Statepoint] Remove redundant clear of call target on register 2020-02-13 10:25:50 +07:00
StatepointLowering.h [FastISel] Fix crash for gc.relocate lowring 2019-04-05 05:41:08 +00:00
TargetLowering.cpp [TargetLowering] SimplifyDemandedBits - fix SCALAR_TO_VECTOR knownbits bug 2020-02-28 15:23:37 +00:00