Skip to content

Commit d04d291

Browse files
authored
[RISCV] Remove implicit conversions of MCRegister to unsigned. NFC (#167588)
Rename RegNum to Reg.
1 parent ae2b303 commit d04d291

File tree

3 files changed

+25
-29
lines changed

3 files changed

+25
-29
lines changed

llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
352352
} Kind;
353353

354354
struct RegOp {
355-
MCRegister RegNum;
355+
MCRegister Reg;
356356
bool IsGPRAsFPR;
357357
};
358358

@@ -461,20 +461,18 @@ struct RISCVOperand final : public MCParsedAsmOperand {
461461
bool isReg() const override { return Kind == KindTy::Register; }
462462
bool isExpr() const { return Kind == KindTy::Expression; }
463463
bool isV0Reg() const {
464-
return Kind == KindTy::Register && Reg.RegNum == RISCV::V0;
464+
return Kind == KindTy::Register && Reg.Reg == RISCV::V0;
465465
}
466466
bool isAnyReg() const {
467467
return Kind == KindTy::Register &&
468-
(RISCVMCRegisterClasses[RISCV::GPRRegClassID].contains(Reg.RegNum) ||
469-
RISCVMCRegisterClasses[RISCV::FPR64RegClassID].contains(Reg.RegNum) ||
470-
RISCVMCRegisterClasses[RISCV::VRRegClassID].contains(Reg.RegNum));
468+
(RISCVMCRegisterClasses[RISCV::GPRRegClassID].contains(Reg.Reg) ||
469+
RISCVMCRegisterClasses[RISCV::FPR64RegClassID].contains(Reg.Reg) ||
470+
RISCVMCRegisterClasses[RISCV::VRRegClassID].contains(Reg.Reg));
471471
}
472472
bool isAnyRegC() const {
473473
return Kind == KindTy::Register &&
474-
(RISCVMCRegisterClasses[RISCV::GPRCRegClassID].contains(
475-
Reg.RegNum) ||
476-
RISCVMCRegisterClasses[RISCV::FPR64CRegClassID].contains(
477-
Reg.RegNum));
474+
(RISCVMCRegisterClasses[RISCV::GPRCRegClassID].contains(Reg.Reg) ||
475+
RISCVMCRegisterClasses[RISCV::FPR64CRegClassID].contains(Reg.Reg));
478476
}
479477
bool isImm() const override { return isExpr(); }
480478
bool isMem() const override { return false; }
@@ -488,35 +486,33 @@ struct RISCVOperand final : public MCParsedAsmOperand {
488486

489487
bool isGPR() const {
490488
return Kind == KindTy::Register &&
491-
RISCVMCRegisterClasses[RISCV::GPRRegClassID].contains(Reg.RegNum);
489+
RISCVMCRegisterClasses[RISCV::GPRRegClassID].contains(Reg.Reg);
492490
}
493491

494492
bool isGPRPair() const {
495493
return Kind == KindTy::Register &&
496-
RISCVMCRegisterClasses[RISCV::GPRPairRegClassID].contains(
497-
Reg.RegNum);
494+
RISCVMCRegisterClasses[RISCV::GPRPairRegClassID].contains(Reg.Reg);
498495
}
499496

500497
bool isGPRPairC() const {
501498
return Kind == KindTy::Register &&
502-
RISCVMCRegisterClasses[RISCV::GPRPairCRegClassID].contains(
503-
Reg.RegNum);
499+
RISCVMCRegisterClasses[RISCV::GPRPairCRegClassID].contains(Reg.Reg);
504500
}
505501

506502
bool isGPRPairNoX0() const {
507503
return Kind == KindTy::Register &&
508504
RISCVMCRegisterClasses[RISCV::GPRPairNoX0RegClassID].contains(
509-
Reg.RegNum);
505+
Reg.Reg);
510506
}
511507

512508
bool isGPRF16() const {
513509
return Kind == KindTy::Register &&
514-
RISCVMCRegisterClasses[RISCV::GPRF16RegClassID].contains(Reg.RegNum);
510+
RISCVMCRegisterClasses[RISCV::GPRF16RegClassID].contains(Reg.Reg);
515511
}
516512

517513
bool isGPRF32() const {
518514
return Kind == KindTy::Register &&
519-
RISCVMCRegisterClasses[RISCV::GPRF32RegClassID].contains(Reg.RegNum);
515+
RISCVMCRegisterClasses[RISCV::GPRF32RegClassID].contains(Reg.Reg);
520516
}
521517

522518
bool isGPRAsFPR() const { return isGPR() && Reg.IsGPRAsFPR; }
@@ -991,7 +987,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
991987

992988
MCRegister getReg() const override {
993989
assert(Kind == KindTy::Register && "Invalid type access!");
994-
return Reg.RegNum;
990+
return Reg.Reg;
995991
}
996992

997993
StringRef getSysReg() const {
@@ -1047,7 +1043,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
10471043
OS << "<fpimm: " << FPImm.Val << ">";
10481044
break;
10491045
case KindTy::Register:
1050-
OS << "<reg: " << RegName(Reg.RegNum) << " (" << Reg.RegNum
1046+
OS << "<reg: " << RegName(Reg.Reg) << " (" << Reg.Reg.id()
10511047
<< (Reg.IsGPRAsFPR ? ") GPRasFPR>" : ")>");
10521048
break;
10531049
case KindTy::Token:
@@ -1099,7 +1095,7 @@ struct RISCVOperand final : public MCParsedAsmOperand {
10991095
static std::unique_ptr<RISCVOperand>
11001096
createReg(MCRegister Reg, SMLoc S, SMLoc E, bool IsGPRAsFPR = false) {
11011097
auto Op = std::make_unique<RISCVOperand>(KindTy::Register);
1102-
Op->Reg.RegNum = Reg;
1098+
Op->Reg.Reg = Reg;
11031099
Op->Reg.IsGPRAsFPR = IsGPRAsFPR;
11041100
Op->StartLoc = S;
11051101
Op->EndLoc = E;
@@ -1335,28 +1331,28 @@ unsigned RISCVAsmParser::validateTargetOperandClass(MCParsedAsmOperand &AsmOp,
13351331
bool IsRegVR = RISCVMCRegisterClasses[RISCV::VRRegClassID].contains(Reg);
13361332

13371333
if (IsRegFPR64 && Kind == MCK_FPR128) {
1338-
Op.Reg.RegNum = convertFPR64ToFPR128(Reg);
1334+
Op.Reg.Reg = convertFPR64ToFPR128(Reg);
13391335
return Match_Success;
13401336
}
13411337
// As the parser couldn't differentiate an FPR32 from an FPR64, coerce the
13421338
// register from FPR64 to FPR32 or FPR64C to FPR32C if necessary.
13431339
if ((IsRegFPR64 && Kind == MCK_FPR32) ||
13441340
(IsRegFPR64C && Kind == MCK_FPR32C)) {
1345-
Op.Reg.RegNum = convertFPR64ToFPR32(Reg);
1341+
Op.Reg.Reg = convertFPR64ToFPR32(Reg);
13461342
return Match_Success;
13471343
}
13481344
// As the parser couldn't differentiate an FPR16 from an FPR64, coerce the
13491345
// register from FPR64 to FPR16 if necessary.
13501346
if (IsRegFPR64 && Kind == MCK_FPR16) {
1351-
Op.Reg.RegNum = convertFPR64ToFPR16(Reg);
1347+
Op.Reg.Reg = convertFPR64ToFPR16(Reg);
13521348
return Match_Success;
13531349
}
13541350
if (Kind == MCK_GPRAsFPR16 && Op.isGPRAsFPR()) {
1355-
Op.Reg.RegNum = Reg - RISCV::X0 + RISCV::X0_H;
1351+
Op.Reg.Reg = Reg - RISCV::X0 + RISCV::X0_H;
13561352
return Match_Success;
13571353
}
13581354
if (Kind == MCK_GPRAsFPR32 && Op.isGPRAsFPR()) {
1359-
Op.Reg.RegNum = Reg - RISCV::X0 + RISCV::X0_W;
1355+
Op.Reg.Reg = Reg - RISCV::X0 + RISCV::X0_W;
13601356
return Match_Success;
13611357
}
13621358

@@ -1372,8 +1368,8 @@ unsigned RISCVAsmParser::validateTargetOperandClass(MCParsedAsmOperand &AsmOp,
13721368
// As the parser couldn't differentiate an VRM2/VRM4/VRM8 from an VR, coerce
13731369
// the register from VR to VRM2/VRM4/VRM8 if necessary.
13741370
if (IsRegVR && (Kind == MCK_VRM2 || Kind == MCK_VRM4 || Kind == MCK_VRM8)) {
1375-
Op.Reg.RegNum = convertVRToVRMx(*getContext().getRegisterInfo(), Reg, Kind);
1376-
if (!Op.Reg.RegNum)
1371+
Op.Reg.Reg = convertVRToVRMx(*getContext().getRegisterInfo(), Reg, Kind);
1372+
if (!Op.Reg.Reg)
13771373
return Match_InvalidOperand;
13781374
return Match_Success;
13791375
}

llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ enum RLISTENCODE {
700700

701701
inline unsigned encodeRegList(MCRegister EndReg, bool IsRVE = false) {
702702
assert((!IsRVE || EndReg <= RISCV::X9) && "Invalid Rlist for RV32E");
703-
switch (EndReg) {
703+
switch (EndReg.id()) {
704704
case RISCV::X1:
705705
return RLISTENCODE::RA;
706706
case RISCV::X8:

llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ unsigned RISCVMCCodeEmitter::getVMaskReg(const MCInst &MI, unsigned OpNo,
725725
MCOperand MO = MI.getOperand(OpNo);
726726
assert(MO.isReg() && "Expected a register.");
727727

728-
switch (MO.getReg()) {
728+
switch (MO.getReg().id()) {
729729
default:
730730
llvm_unreachable("Invalid mask register.");
731731
case RISCV::V0:

0 commit comments

Comments
 (0)