Add support for walking through G_LSHR in getTestBitReg. Equivalent to the code in getTestBitOperand in AArch64ISelLowering.
(tbz (lshr x, c), b) -> (tbz x, b+c) when b + c is < # bits in x
Paths
| Differential D74077
[AArch64][GlobalISel] Fold G_LSHR into test bit calculation ClosedPublic Authored by paquette on Feb 5 2020, 10:29 AM.
Details Summary Add support for walking through G_LSHR in getTestBitReg. Equivalent to the code in getTestBitOperand in AArch64ISelLowering. (tbz (lshr x, c), b) -> (tbz x, b+c) when b + c is < # bits in x
Diff Detail Event TimelineHerald added subscribers: Petar.Avramovic, hiraditya, kristof.beyls, rovka. · View Herald Transcript This revision is now accepted and ready to land.Feb 5 2020, 3:03 PM Closed by commit rG7212f65784c1: [AArch64][GlobalISel] Fold G_LSHR into test bit calculation (authored by paquette). · Explain WhyFeb 5 2020, 3:20 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 242687 llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-shift-tbz-tbnz.mir
|