[llvm] 1d67adb - [RISCV] Give CSImm12MulBy4 PatLeaf priority over CSImm12MulBy8. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 2 20:59:45 PDT 2022
Author: Craig Topper
Date: 2022-06-02T20:51:14-07:00
New Revision: 1d67adbfbf2743a9ee7a08be2ce441710c95e5e8
URL: https://github.com/llvm/llvm-project/commit/1d67adbfbf2743a9ee7a08be2ce441710c95e5e8
DIFF: https://github.com/llvm/llvm-project/commit/1d67adbfbf2743a9ee7a08be2ce441710c95e5e8.diff
LOG: [RISCV] Give CSImm12MulBy4 PatLeaf priority over CSImm12MulBy8. NFC
The immediate range check for CSImm12MulBy8 included some values
covered by CSImm12MulBy4. I assume CSImm12MulBy4 had priority due
to pattern order in the td file, but this makes the priority
explicit in the predicate.
Added:
Modified:
llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td b/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
index ea9f5f150925c..33fe909738432 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
@@ -218,8 +218,9 @@ def CSImm12MulBy8 : PatLeaf<(imm), [{
if (!N->hasOneUse())
return false;
int64_t C = N->getSExtValue();
- // Skip if C is simm12 or can be optimized by the PatLeaf AddiPair.
- return !isInt<13>(C) && isInt<15>(C) && (C & 7) == 0;
+ // Skip if C is simm12 or can be optimized by the PatLeaf AddiPair or
+ // CSImm12MulBy4.
+ return !isInt<14>(C) && isInt<15>(C) && (C & 7) == 0;
}]>;
def SimmShiftRightBy2XForm : SDNodeXForm<imm, [{
More information about the llvm-commits
mailing list