llvm-project/llvm/unittests/CodeGen
Konstantin Schwarz 64bef13f08 [GlobalISel] Look through truncs and extends in narrowScalarShift
If a G_SHL is fed by a G_CONSTANT, the lower and upper bits of the source can be
shifted individually by the constant shift amount.

However in case the shift amount came from a G_TRUNC(G_CONSTANT), the generic shift legalization
code was used, producing intermediate shifts that are potentially illegal on some targets.

This change teaches narrowScalarShift to look through G_TRUNCs and G_*EXTs.

Reviewed By: paquette

Differential Revision: https://reviews.llvm.org/D89100
2021-08-10 13:49:22 +02:00
..
GlobalISel [GlobalISel] Look through truncs and extends in narrowScalarShift 2021-08-10 13:49:22 +02:00
AArch64SelectionDAGTest.cpp [CostModel] Return an invalid cost for memory ops with unsupported types 2021-06-08 12:07:36 +01:00
AllocationOrderTest.cpp [NFC][regalloc] Separate iteration from AllocationOrder 2020-10-05 16:13:18 -07:00
AsmPrinterDwarfTest.cpp [unittests][CodeGen] Mark tests that cannot be executed with GTEST_SKIP() 2021-05-21 13:39:52 +07:00
CMakeLists.txt [MIRPrinter] Add machine metadata support. 2021-06-19 12:48:08 -04:00
DIEHashTest.cpp [unittests][CodeGen] Mark tests that cannot be executed with GTEST_SKIP() 2021-05-21 13:39:52 +07:00
DIETest.cpp [unittests][CodeGen] Mark tests that cannot be executed with GTEST_SKIP() 2021-05-21 13:39:52 +07:00
LexicalScopesTest.cpp [LexicalScopesTest] Add missing IRBuilder.h include (NFC) 2021-06-06 16:29:50 +02:00
LowLevelTypeTest.cpp Add support for zero-sized Scalars as a LowLevelType 2021-07-22 13:47:19 +02:00
MFCommon.inc [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
MachineInstrBundleIteratorTest.cpp
MachineInstrTest.cpp [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
MachineOperandTest.cpp [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
PassManagerTest.cpp [unittests][CodeGen] Mark tests that cannot be executed with GTEST_SKIP() 2021-05-21 13:39:52 +07:00
ScalableVectorMVTsTest.cpp [llvm] Add enum iteration to Sequence 2021-07-21 12:48:53 +00:00
SelectionDAGAddressAnalysisTest.cpp [unittests][CodeGen] Mark tests that cannot be executed with GTEST_SKIP() 2021-05-21 13:39:52 +07:00
TargetOptionsTest.cpp [unittests][CodeGen] Mark tests that cannot be executed with GTEST_SKIP() 2021-05-21 13:39:52 +07:00
TestAsmPrinter.cpp [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
TestAsmPrinter.h [debug-info] refactor emitDwarfUnitLength 2021-02-25 21:00:25 -05:00
TypeTraitsTest.cpp Switch from llvm::is_trivially_copyable to std::is_trivially_copyable 2020-12-02 22:02:48 -08:00