Skip to content

Commit dbb3fe7

Browse files
committed
AMDGPU: Remove wrapper around TRI::getRegClass
This shadows the member in the base class, but differs slightly in behavior. The base method doesn't check for the invalid case.
1 parent 99aa6e5 commit dbb3fe7

File tree

4 files changed

+7
-18
lines changed

4 files changed

+7
-18
lines changed

llvm/lib/Target/AMDGPU/SIFoldOperands.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,10 +1301,11 @@ void SIFoldOperandsImpl::foldOperand(
13011301
continue;
13021302

13031303
const int SrcIdx = MovOp == AMDGPU::V_MOV_B16_t16_e64 ? 2 : 1;
1304-
const TargetRegisterClass *MovSrcRC =
1305-
TRI->getRegClass(TII->getOpRegClassID(MovDesc.operands()[SrcIdx]));
13061304

1307-
if (MovSrcRC) {
1305+
int16_t RegClassID = TII->getOpRegClassID(MovDesc.operands()[SrcIdx]);
1306+
if (RegClassID != -1) {
1307+
const TargetRegisterClass *MovSrcRC = TRI->getRegClass(RegClassID);
1308+
13081309
if (UseSubReg)
13091310
MovSrcRC = TRI->getMatchingSuperRegClass(SrcRC, MovSrcRC, UseSubReg);
13101311
if (!MRI->constrainRegClass(SrcReg, MovSrcRC))

llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5964,7 +5964,7 @@ SIInstrInfo::getRegClass(const MCInstrDesc &TID, unsigned OpNum,
59645964
return nullptr;
59655965
const MCOperandInfo &OpInfo = TID.operands()[OpNum];
59665966
int16_t RegClass = getOpRegClassID(OpInfo);
5967-
return RI.getRegClass(RegClass);
5967+
return RegClass < 0 ? nullptr : RI.getRegClass(RegClass);
59685968
}
59695969

59705970
const TargetRegisterClass *SIInstrInfo::getOpRegClass(const MachineInstr &MI,
@@ -5982,7 +5982,8 @@ const TargetRegisterClass *SIInstrInfo::getOpRegClass(const MachineInstr &MI,
59825982
return RI.getPhysRegBaseClass(Reg);
59835983
}
59845984

5985-
return RI.getRegClass(getOpRegClassID(Desc.operands()[OpNo]));
5985+
int16_t RegClass = getOpRegClassID(Desc.operands()[OpNo]);
5986+
return RegClass < 0 ? nullptr : RI.getRegClass(RegClass);
59865987
}
59875988

59885989
void SIInstrInfo::legalizeOpWithMove(MachineInstr &MI, unsigned OpIdx) const {

llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3897,17 +3897,6 @@ const TargetRegisterClass *SIRegisterInfo::getVGPR64Class() const {
38973897
: &AMDGPU::VReg_64RegClass;
38983898
}
38993899

3900-
// FIXME: This should be deleted
3901-
const TargetRegisterClass *
3902-
SIRegisterInfo::getRegClass(unsigned RCID) const {
3903-
switch ((int)RCID) {
3904-
case -1:
3905-
return nullptr;
3906-
default:
3907-
return AMDGPUGenRegisterInfo::getRegClass(RCID);
3908-
}
3909-
}
3910-
39113900
// Find reaching register definition
39123901
MachineInstr *SIRegisterInfo::findReachingDef(Register Reg, unsigned SubReg,
39133902
MachineInstr &Use,

llvm/lib/Target/AMDGPU/SIRegisterInfo.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -391,8 +391,6 @@ class SIRegisterInfo final : public AMDGPUGenRegisterInfo {
391391

392392
MCRegister getExec() const;
393393

394-
const TargetRegisterClass *getRegClass(unsigned RCID) const;
395-
396394
// Find reaching register definition
397395
MachineInstr *findReachingDef(Register Reg, unsigned SubReg,
398396
MachineInstr &Use,

0 commit comments

Comments
 (0)