Skip to content

Commit 5d88a84

Browse files
committed
[RISCV] Simplify some RISCVInstrInfoC classes by removing arguments that never change. NFC
1 parent a6aa936 commit 5d88a84

File tree

2 files changed

+19
-21
lines changed

2 files changed

+19
-21
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoC.td

+18-20
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,8 @@ class CStore_rri<bits<3> funct3, string OpcodeStr,
259259
OpcodeStr, "$rs2, ${imm}(${rs1})">;
260260

261261
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
262-
class Bcz<bits<3> funct3, string OpcodeStr,
263-
RegisterClass cls>
264-
: RVInst16CB<funct3, 0b01, (outs), (ins cls:$rs1, simm9_lsb0:$imm),
262+
class Bcz<bits<3> funct3, string OpcodeStr>
263+
: RVInst16CB<funct3, 0b01, (outs), (ins GPRC:$rs1, simm9_lsb0:$imm),
265264
OpcodeStr, "$rs1, $imm"> {
266265
let isBranch = 1;
267266
let isTerminator = 1;
@@ -273,9 +272,9 @@ class Bcz<bits<3> funct3, string OpcodeStr,
273272
}
274273

275274
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
276-
class Shift_right<bits<2> funct2, string OpcodeStr, RegisterClass cls,
277-
Operand ImmOpnd>
278-
: RVInst16CB<0b100, 0b01, (outs cls:$rd), (ins cls:$rs1, ImmOpnd:$imm),
275+
class Shift_right<bits<2> funct2, string OpcodeStr>
276+
: RVInst16CB<0b100, 0b01, (outs GPRC:$rd),
277+
(ins GPRC:$rs1, uimmlog2xlennonzero:$imm),
279278
OpcodeStr, "$rs1, $imm"> {
280279
let Constraints = "$rs1 = $rd";
281280
let Inst{12} = imm{5};
@@ -284,10 +283,9 @@ class Shift_right<bits<2> funct2, string OpcodeStr, RegisterClass cls,
284283
}
285284

286285
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
287-
class CA_ALU<bits<6> funct6, bits<2> funct2, string OpcodeStr,
288-
RegisterClass cls>
289-
: RVInst16CA<funct6, funct2, 0b01, (outs cls:$rd_wb), (ins cls:$rd, cls:$rs2),
290-
OpcodeStr, "$rd, $rs2"> {
286+
class CA_ALU<bits<6> funct6, bits<2> funct2, string OpcodeStr>
287+
: RVInst16CA<funct6, funct2, 0b01, (outs GPRC:$rd_wb),
288+
(ins GPRC:$rd, GPRC:$rs2), OpcodeStr, "$rd, $rs2"> {
291289
bits<3> rd;
292290
let Constraints = "$rd = $rd_wb";
293291
let Inst{9-7} = rd;
@@ -465,9 +463,9 @@ def C_LUI : RVInst16CI<0b011, 0b01, (outs GPRNoX0X2:$rd),
465463
let Inst{6-2} = imm{4-0};
466464
}
467465

468-
def C_SRLI : Shift_right<0b00, "c.srli", GPRC, uimmlog2xlennonzero>,
466+
def C_SRLI : Shift_right<0b00, "c.srli">,
469467
Sched<[WriteShiftImm, ReadShiftImm]>;
470-
def C_SRAI : Shift_right<0b01, "c.srai", GPRC, uimmlog2xlennonzero>,
468+
def C_SRAI : Shift_right<0b01, "c.srai">,
471469
Sched<[WriteShiftImm, ReadShiftImm]>;
472470

473471
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
@@ -480,19 +478,19 @@ def C_ANDI : RVInst16CB<0b100, 0b01, (outs GPRC:$rd), (ins GPRC:$rs1, simm6:$imm
480478
let Inst{6-2} = imm{4-0};
481479
}
482480

483-
def C_SUB : CA_ALU<0b100011, 0b00, "c.sub", GPRC>,
481+
def C_SUB : CA_ALU<0b100011, 0b00, "c.sub">,
484482
Sched<[WriteIALU, ReadIALU, ReadIALU]>;
485-
def C_XOR : CA_ALU<0b100011, 0b01, "c.xor", GPRC>,
483+
def C_XOR : CA_ALU<0b100011, 0b01, "c.xor">,
486484
Sched<[WriteIALU, ReadIALU, ReadIALU]>;
487-
def C_OR : CA_ALU<0b100011, 0b10, "c.or" , GPRC>,
485+
def C_OR : CA_ALU<0b100011, 0b10, "c.or">,
488486
Sched<[WriteIALU, ReadIALU, ReadIALU]>;
489-
def C_AND : CA_ALU<0b100011, 0b11, "c.and", GPRC>,
487+
def C_AND : CA_ALU<0b100011, 0b11, "c.and">,
490488
Sched<[WriteIALU, ReadIALU, ReadIALU]>;
491489

492490
let Predicates = [HasStdExtCOrZca, IsRV64] in {
493-
def C_SUBW : CA_ALU<0b100111, 0b00, "c.subw", GPRC>,
491+
def C_SUBW : CA_ALU<0b100111, 0b00, "c.subw">,
494492
Sched<[WriteIALU32, ReadIALU32, ReadIALU32]>;
495-
def C_ADDW : CA_ALU<0b100111, 0b01, "c.addw", GPRC>,
493+
def C_ADDW : CA_ALU<0b100111, 0b01, "c.addw">,
496494
Sched<[WriteIALU32, ReadIALU32, ReadIALU32]>;
497495
}
498496

@@ -504,8 +502,8 @@ def C_J : RVInst16CJ<0b101, 0b01, (outs), (ins simm12_lsb0:$offset),
504502
let isBarrier=1;
505503
}
506504

507-
def C_BEQZ : Bcz<0b110, "c.beqz", GPRC>, Sched<[WriteJmp, ReadJmp]>;
508-
def C_BNEZ : Bcz<0b111, "c.bnez", GPRC>, Sched<[WriteJmp, ReadJmp]>;
505+
def C_BEQZ : Bcz<0b110, "c.beqz">, Sched<[WriteJmp, ReadJmp]>;
506+
def C_BNEZ : Bcz<0b111, "c.bnez">, Sched<[WriteJmp, ReadJmp]>;
509507

510508
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
511509
def C_SLLI : RVInst16CI<0b000, 0b10, (outs GPRNoX0:$rd_wb),

llvm/lib/Target/RISCV/RISCVInstrInfoZc.td

+1-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ def C_ZEXT_B : RVZcArith_r<0b11000 , "c.zext.b">,
186186
Sched<[WriteIALU, ReadIALU]>;
187187

188188
let Predicates = [HasStdExtZcb, HasStdExtZmmul] in
189-
def C_MUL : CA_ALU<0b100111, 0b10, "c.mul", GPRC>,
189+
def C_MUL : CA_ALU<0b100111, 0b10, "c.mul">,
190190
Sched<[WriteIMul, ReadIMul, ReadIMul]>;
191191

192192
let Predicates = [HasStdExtZcb] in {

0 commit comments

Comments
 (0)