[llvm] ae503d3 - [RISCV] Use template to reduce some code. NFC

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 11 23:06:13 PST 2022


Author: Craig Topper
Date: 2022-11-11T23:05:58-08:00
New Revision: ae503d3760129b6859de50be7fd84b1c5ffdcb96

URL: https://github.com/llvm/llvm-project/commit/ae503d3760129b6859de50be7fd84b1c5ffdcb96
DIFF: https://github.com/llvm/llvm-project/commit/ae503d3760129b6859de50be7fd84b1c5ffdcb96.diff

LOG: [RISCV] Use template to reduce some code. NFC

Added: 
    

Modified: 
    llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    llvm/lib/Target/RISCV/RISCVInstrInfoZb.td

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h b/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
index 252d38f5be0d9..cb5c930a1a40e 100644
--- a/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
+++ b/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
@@ -63,14 +63,8 @@ class RISCVDAGToDAGISel : public SelectionDAGISel {
   bool selectZExti32(SDValue N, SDValue &Val);
 
   bool selectSHXADDOp(SDValue N, unsigned ShAmt, SDValue &Val);
-  bool selectSH1ADDOp(SDValue N, SDValue &Val) {
-    return selectSHXADDOp(N, 1, Val);
-  }
-  bool selectSH2ADDOp(SDValue N, SDValue &Val) {
-    return selectSHXADDOp(N, 2, Val);
-  }
-  bool selectSH3ADDOp(SDValue N, SDValue &Val) {
-    return selectSHXADDOp(N, 3, Val);
+  template <unsigned Width> bool selectSHXADDOp(SDValue N, SDValue &Val) {
+    return selectSHXADDOp(N, Width, Val);
   }
 
   bool hasAllNBitUsers(SDNode *Node, unsigned Bits) const;

diff  --git a/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td b/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
index 61476dd43d296..602e895e9a8c7 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
@@ -252,9 +252,9 @@ def Shifted32OnesMask : PatLeaf<(imm), [{
          Imm == UINT64_C(0xFFFFFFFF) << TrailingZeros;
 }], TrailingZeros>;
 
-def sh1add_op : ComplexPattern<XLenVT, 1, "selectSH1ADDOp", [], [], 6>;
-def sh2add_op : ComplexPattern<XLenVT, 1, "selectSH2ADDOp", [], [], 6>;
-def sh3add_op : ComplexPattern<XLenVT, 1, "selectSH3ADDOp", [], [], 6>;
+def sh1add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<1>", [], [], 6>;
+def sh2add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<2>", [], [], 6>;
+def sh3add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<3>", [], [], 6>;
 
 //===----------------------------------------------------------------------===//
 // Instruction class templates


        


More information about the llvm-commits mailing list