Skip to content

Commit 7a2d9da

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 1fafa1c commit 7a2d9da

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
@@ -1284,10 +1284,11 @@ void SIFoldOperandsImpl::foldOperand(
12841284
continue;
12851285

12861286
const int SrcIdx = MovOp == AMDGPU::V_MOV_B16_t16_e64 ? 2 : 1;
1287-
const TargetRegisterClass *MovSrcRC =
1288-
TRI->getRegClass(TII->getOpRegClassID(MovDesc.operands()[SrcIdx]));
12891287

1290-
if (MovSrcRC) {
1288+
int16_t RegClassID = TII->getOpRegClassID(MovDesc.operands()[SrcIdx]);
1289+
if (RegClassID != -1) {
1290+
const TargetRegisterClass *MovSrcRC = TRI->getRegClass(RegClassID);
1291+
12911292
if (UseSubReg)
12921293
MovSrcRC = TRI->getMatchingSuperRegClass(SrcRC, MovSrcRC, UseSubReg);
12931294

llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6032,7 +6032,7 @@ const TargetRegisterClass *SIInstrInfo::getRegClass(const MCInstrDesc &TID,
60326032
return nullptr;
60336033
const MCOperandInfo &OpInfo = TID.operands()[OpNum];
60346034
int16_t RegClass = getOpRegClassID(OpInfo);
6035-
return RI.getRegClass(RegClass);
6035+
return RegClass < 0 ? nullptr : RI.getRegClass(RegClass);
60366036
}
60376037

60386038
const TargetRegisterClass *SIInstrInfo::getOpRegClass(const MachineInstr &MI,
@@ -6050,7 +6050,8 @@ const TargetRegisterClass *SIInstrInfo::getOpRegClass(const MachineInstr &MI,
60506050
return RI.getPhysRegBaseClass(Reg);
60516051
}
60526052

6053-
return RI.getRegClass(getOpRegClassID(Desc.operands()[OpNo]));
6053+
int16_t RegClass = getOpRegClassID(Desc.operands()[OpNo]);
6054+
return RegClass < 0 ? nullptr : RI.getRegClass(RegClass);
60546055
}
60556056

60566057
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
@@ -3915,17 +3915,6 @@ const TargetRegisterClass *SIRegisterInfo::getVGPR64Class() const {
39153915
: &AMDGPU::VReg_64RegClass;
39163916
}
39173917

3918-
// FIXME: This should be deleted
3919-
const TargetRegisterClass *
3920-
SIRegisterInfo::getRegClass(unsigned RCID) const {
3921-
switch ((int)RCID) {
3922-
case -1:
3923-
return nullptr;
3924-
default:
3925-
return AMDGPUGenRegisterInfo::getRegClass(RCID);
3926-
}
3927-
}
3928-
39293918
// Find reaching register definition
39303919
MachineInstr *SIRegisterInfo::findReachingDef(Register Reg, unsigned SubReg,
39313920
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)