llvm-project/llvm/lib/CodeGen/SelectionDAG
Paul Walker 0e21f1d56a [SelectionDAG] Extend WidenVecOp_INSERT_SUBVECTOR to cover more cases.
WidenVecOp_INSERT_SUBVECTOR only supported cases where widening
effectively converts the insert into a copy.  However, when the
widened subvector is no bigger than the vector being inserted into
and we can be sure there's no loss of data, we can simply emit
another INSERT_SUBVECTOR.

Fixes: #54982

Differential Revision: https://reviews.llvm.org/D127508
2022-06-17 12:39:42 +00:00
..
CMakeLists.txt
DAGCombiner.cpp [DAGCombiner] Fold fold (fp_to_bf16 (bf16_to_fp op)) -> op 2022-06-15 19:54:39 +02:00
FastISel.cpp [FastISel] Fix load folding for registers with fixups 2022-05-16 10:25:25 +02:00
FunctionLoweringInfo.cpp [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf 2022-05-19 11:23:13 +01:00
InstrEmitter.cpp [SelectionDAG] Don't apply MinRCSize constraint in InstrEmitter::AddRegisterOperand for IMPLICIT_DEF sources. 2022-06-16 14:55:14 -07:00
InstrEmitter.h [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes 2022-04-06 11:55:38 +01:00
LegalizeDAG.cpp Promote bf16 to f32 when the target doesn't support it 2022-06-15 12:56:31 +02:00
LegalizeFloatTypes.cpp Promote bf16 to f32 when the target doesn't support it 2022-06-15 12:56:31 +02:00
LegalizeIntegerTypes.cpp [LegalizeTypes][NFC] Merge promote SPLAT_VECTOR and promote SCALAR_TO_VECTOR to one function 2022-06-17 02:43:52 +00:00
LegalizeTypes.cpp [LegalizeTypes] Fix bug in expensive checks verification 2022-05-26 13:13:32 -07:00
LegalizeTypes.h [LegalizeTypes][NFC] Merge promote SPLAT_VECTOR and promote SCALAR_TO_VECTOR to one function 2022-06-17 02:43:52 +00:00
LegalizeTypesGeneric.cpp [SelectionDAG][VP] Add splitting support for VP_MERGE 2022-01-25 10:33:23 +00:00
LegalizeVectorOps.cpp [RISCV][VP] Add basic RVV codegen for vp.fcmp 2022-04-07 09:16:07 +01:00
LegalizeVectorTypes.cpp [SelectionDAG] Extend WidenVecOp_INSERT_SUBVECTOR to cover more cases. 2022-06-17 12:39:42 +00:00
ResourcePriorityQueue.cpp Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 00:31:44 -07:00
SDNodeDbgValue.h Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
ScheduleDAGFast.cpp [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes 2022-04-06 11:55:38 +01:00
ScheduleDAGRRList.cpp
ScheduleDAGSDNodes.cpp [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes 2022-04-06 11:55:38 +01:00
ScheduleDAGSDNodes.h [CodeGen] Use default member initialization (NFC) 2022-01-30 12:32:51 -08:00
ScheduleDAGVLIW.cpp Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
SelectionDAG.cpp Allow bitwidth difference when checking for isOneOrOneSplat. 2022-06-16 16:04:20 +00:00
SelectionDAGAddressAnalysis.cpp [SelectionDAG] Replace error prone index check in BaseIndexOffset::computeAliasing 2021-10-05 12:15:55 +02:00
SelectionDAGBuilder.cpp [PS5] Trap after noreturn calls, with special case for stack-check-fail 2022-06-15 09:02:17 -07:00
SelectionDAGBuilder.h [RISCV][VP] Add basic RVV codegen for vp.icmp 2022-04-06 16:51:22 +01:00
SelectionDAGDumper.cpp Promote bf16 to f32 when the target doesn't support it 2022-06-15 12:56:31 +02:00
SelectionDAGISel.cpp [SelectionDAG] Handle trapping aggregate (PR49839) 2022-06-13 15:06:53 +02:00
SelectionDAGPrinter.cpp Revert "[CodeGen] Place SDNode debug ID declaration under appropriate #if" 2022-04-06 20:32:53 +03:00
SelectionDAGTargetInfo.cpp
StatepointLowering.cpp [StatepointLowering] Properly handle local and non-local relocates of the same value. 2022-05-16 17:02:34 +07:00
StatepointLowering.h
TargetLowering.cpp [SelectionDAG] fold 'Op0 - (X * MulC)' to 'Op0 + (X << log2(-MulC))' 2022-06-15 05:50:18 +00:00