[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