[llvm] aa29435 - [RISCV] Reuse RISCVRegWithSubRegs class to shorten some code in RISCVRegisterInfo.td. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 1 13:46:45 PST 2023
Author: Craig Topper
Date: 2023-02-01T13:46:39-08:00
New Revision: aa2943502cf2986948af69681d9b833614645cd0
URL: https://github.com/llvm/llvm-project/commit/aa2943502cf2986948af69681d9b833614645cd0
DIFF: https://github.com/llvm/llvm-project/commit/aa2943502cf2986948af69681d9b833614645cd0.diff
LOG: [RISCV] Reuse RISCVRegWithSubRegs class to shorten some code in RISCVRegisterInfo.td. NFC
Added:
Modified:
llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVRegisterInfo.td b/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
index d9a0243d213d6..f8e0c94b5caa9 100644
--- a/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
+++ b/llvm/lib/Target/RISCV/RISCVRegisterInfo.td
@@ -16,37 +16,33 @@ class RISCVReg<bits<5> Enc, string n, list<string> alt = []> : Register<n> {
let AltNames = alt;
}
+class RISCVRegWithSubRegs<bits<5> Enc, string n, list<Register> subregs,
+ list<string> alt = []>
+ : RegisterWithSubRegs<n, subregs> {
+ let HWEncoding{4-0} = Enc;
+ let AltNames = alt;
+}
+
class RISCVReg16<bits<5> Enc, string n, list<string> alt = []> : Register<n> {
let HWEncoding{4-0} = Enc;
let AltNames = alt;
}
def sub_16 : SubRegIndex<16>;
-class RISCVReg32<RISCVReg16 subreg> : Register<""> {
- let HWEncoding{4-0} = subreg.HWEncoding{4-0};
- let SubRegs = [subreg];
+class RISCVReg32<RISCVReg16 subreg>
+ : RISCVRegWithSubRegs<subreg.HWEncoding{4-0}, subreg.AsmName, [subreg],
+ subreg.AltNames> {
let SubRegIndices = [sub_16];
- let AsmName = subreg.AsmName;
- let AltNames = subreg.AltNames;
}
// Because RISCVReg64 register have AsmName and AltNames that alias with their
// 16/32-bit sub-register, RISCVAsmParser will need to coerce a register number
// from a RISCVReg16/RISCVReg32 to the equivalent RISCVReg64 when appropriate.
def sub_32 : SubRegIndex<32>;
-class RISCVReg64<RISCVReg32 subreg> : Register<""> {
- let HWEncoding{4-0} = subreg.HWEncoding{4-0};
- let SubRegs = [subreg];
+class RISCVReg64<RISCVReg32 subreg>
+ : RISCVRegWithSubRegs<subreg.HWEncoding{4-0}, subreg.AsmName, [subreg],
+ subreg.AltNames> {
let SubRegIndices = [sub_32];
- let AsmName = subreg.AsmName;
- let AltNames = subreg.AltNames;
-}
-
-class RISCVRegWithSubRegs<bits<5> Enc, string n, list<Register> subregs,
- list<string> alt = []>
- : RegisterWithSubRegs<n, subregs> {
- let HWEncoding{4-0} = Enc;
- let AltNames = alt;
}
def ABIRegAltName : RegAltNameIndex;
More information about the llvm-commits
mailing list