Skip to content

Commit bcaa5f7

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 1bb104e commit bcaa5f7

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
@@ -1309,10 +1309,11 @@ void SIFoldOperandsImpl::foldOperand(
13091309
continue;
13101310

13111311
const int SrcIdx = MovOp == AMDGPU::V_MOV_B16_t16_e64 ? 2 : 1;
1312-
const TargetRegisterClass *MovSrcRC =
1313-
TRI->getRegClass(TII->getOpRegClassID(MovDesc.operands()[SrcIdx]));
13141312

1315-
if (MovSrcRC) {
1313+
int16_t RegClassID = TII->getOpRegClassID(MovDesc.operands()[SrcIdx]);
1314+
if (RegClassID != -1) {
1315+
const TargetRegisterClass *MovSrcRC = TRI->getRegClass(RegClassID);
1316+
13161317
if (UseSubReg)
13171318
MovSrcRC = TRI->getMatchingSuperRegClass(SrcRC, MovSrcRC, UseSubReg);
13181319

llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6041,7 +6041,7 @@ SIInstrInfo::getRegClass(const MCInstrDesc &TID, unsigned OpNum,
60416041
return nullptr;
60426042
const MCOperandInfo &OpInfo = TID.operands()[OpNum];
60436043
int16_t RegClass = getOpRegClassID(OpInfo);
6044-
return RI.getRegClass(RegClass);
6044+
return RegClass < 0 ? nullptr : RI.getRegClass(RegClass);
60456045
}
60466046

60476047
const TargetRegisterClass *SIInstrInfo::getOpRegClass(const MachineInstr &MI,
@@ -6059,7 +6059,8 @@ const TargetRegisterClass *SIInstrInfo::getOpRegClass(const MachineInstr &MI,
60596059
return RI.getPhysRegBaseClass(Reg);
60606060
}
60616061

6062-
return RI.getRegClass(getOpRegClassID(Desc.operands()[OpNo]));
6062+
int16_t RegClass = getOpRegClassID(Desc.operands()[OpNo]);
6063+
return RegClass < 0 ? nullptr : RI.getRegClass(RegClass);
60636064
}
60646065

60656066
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
@@ -3893,17 +3893,6 @@ const TargetRegisterClass *SIRegisterInfo::getVGPR64Class() const {
38933893
: &AMDGPU::VReg_64RegClass;
38943894
}
38953895

3896-
// FIXME: This should be deleted
3897-
const TargetRegisterClass *
3898-
SIRegisterInfo::getRegClass(unsigned RCID) const {
3899-
switch ((int)RCID) {
3900-
case -1:
3901-
return nullptr;
3902-
default:
3903-
return AMDGPUGenRegisterInfo::getRegClass(RCID);
3904-
}
3905-
}
3906-
39073896
// Find reaching register definition
39083897
MachineInstr *SIRegisterInfo::findReachingDef(Register Reg, unsigned SubReg,
39093898
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)