forked from OSchip/llvm-project
![]() 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 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CSETest.cpp | ||
ConstantFoldingTest.cpp | ||
GISelMITest.cpp | ||
GISelMITest.h | ||
GISelUtilsTest.cpp | ||
KnownBitsTest.cpp | ||
KnownBitsVectorTest.cpp | ||
LegalizerHelperTest.cpp | ||
LegalizerInfoTest.cpp | ||
LegalizerTest.cpp | ||
MachineIRBuilderTest.cpp | ||
PatternMatchTest.cpp |