llvm-project/llvm/lib/CodeGen/GlobalISel
Serge Pavlov b3913a9cdf [GlobalISel] Do not crash on widening vector result
Function buildCopyToRegs did not handle properly the case when it should
make wider vector result. It happened, for example, in a function that
returns value of type <2 x f32>, which should be widen to <4 x f32> to
fit XMM register. The function eventually calls
MachineIRBuilder.buildUnmerge, which does not expect that only one
destination register is specified.

Now this case is treated specifically in buildCopyToRegs.

Differential Revision: https://reviews.llvm.org/D128546
2022-09-30 21:30:55 +07:00
..
CMakeLists.txt [nfc][codegen] Move RegisterBank[Info].cpp under CodeGen 2022-02-15 11:27:15 -08:00
CSEInfo.cpp [CodeGen] Qualify auto variables in for loops (NFC) 2022-07-17 01:33:28 -07:00
CSEMIRBuilder.cpp [GlobalISel] Change ConstantFoldVectorBinop to return vector of APInt 2022-05-13 09:33:07 +01:00
CallLowering.cpp [GlobalISel] Do not crash on widening vector result 2022-09-30 21:30:55 +07:00
Combiner.cpp [GlobalISel][DebugInfo] salvageDebugInfo analogue for gMIR 2022-08-01 11:14:53 +02:00
CombinerHelper.cpp [AMDGPU][GISel] Add Identity BUILD_VECTOR Combines 2022-09-30 14:07:13 +00:00
GISelChangeObserver.cpp
GISelKnownBits.cpp [GlobalISel] Enforce G_ASSERT_ALIGN to have a valid alignment > 0. 2022-09-22 16:05:07 +01:00
GlobalISel.cpp Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
IRTranslator.cpp GlobalISel: Pass through AssumptionCache 2022-09-19 19:10:51 -04:00
InlineAsmLowering.cpp [IR] Don't use blockaddresses as callbr arguments 2022-07-15 10:18:17 +02:00
InstructionSelect.cpp [GlobalISel][DebugInfo] Salvage trivially dead instructions 2022-09-17 03:54:55 +03:00
InstructionSelector.cpp [GISel] Don't fold convergent instruction across CFG 2022-07-01 10:24:24 -07:00
LegacyLegalizerInfo.cpp [llvm] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 11:24:15 -07:00
LegalityPredicates.cpp GlobalISel: Add memSizeNotByteSizePow2 legality helper 2022-04-11 19:43:37 -04:00
LegalizeMutations.cpp GlobalISel: Add LegalizeMutations to help use More/FewerElements 2022-04-19 21:04:32 -04:00
Legalizer.cpp [GlobalISel][DebugInfo] Salvage trivially dead instructions 2022-09-17 03:54:55 +03:00
LegalizerHelper.cpp [GlobalISel][Legalizer] Fix lowerSelect() not sign-extending the mask value. 2022-09-20 16:40:34 +01:00
LegalizerInfo.cpp [GlobalISel] Use std::initializer_list::size (NFC) 2022-09-11 12:19:37 -07:00
LoadStoreOpt.cpp [CodeGen] Qualify auto variables in for loops (NFC) 2022-07-17 01:33:28 -07:00
Localizer.cpp Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
LostDebugLocObserver.cpp
MachineIRBuilder.cpp [GlobalISel] Propagate PCSections metadata to MachineInstr 2022-09-07 11:36:02 +02:00
RegBankSelect.cpp [globalisel] Select register bank for DBG_VALUE 2022-08-09 13:11:51 +08:00
Utils.cpp [GISel] Add more cases to isKnownNeverNaN 2022-09-30 14:10:56 +00:00