@@ -5939,7 +5939,6 @@ SIInstrInfo::getWholeWaveFunctionSetup(MachineFunction &MF) const {
59395939
59405940static const TargetRegisterClass *
59415941adjustAllocatableRegClass (const GCNSubtarget &ST, const SIRegisterInfo &RI,
5942- const MachineRegisterInfo &MRI,
59435942 const MCInstrDesc &TID, unsigned RCID,
59445943 bool IsAllocatable) {
59455944 if ((IsAllocatable || !ST.hasGFX90AInsts ()) &&
@@ -5999,25 +5998,26 @@ const TargetRegisterClass *SIInstrInfo::getRegClass(const MCInstrDesc &TID,
59995998 TID.Opcode , AMDGPU::OpName::data1);
60005999 }
60016000 }
6002- return adjustAllocatableRegClass (ST, RI, MF.getRegInfo (), TID, RegClass,
6003- IsAllocatable);
6001+ return adjustAllocatableRegClass (ST, RI, TID, RegClass, IsAllocatable);
60046002}
60056003
60066004const TargetRegisterClass *SIInstrInfo::getOpRegClass (const MachineInstr &MI,
60076005 unsigned OpNo) const {
6008- const MachineRegisterInfo &MRI = MI.getParent ()->getParent ()->getRegInfo ();
60096006 const MCInstrDesc &Desc = get (MI.getOpcode ());
60106007 if (MI.isVariadic () || OpNo >= Desc.getNumOperands () ||
60116008 Desc.operands ()[OpNo].RegClass == -1 ) {
60126009 Register Reg = MI.getOperand (OpNo).getReg ();
60136010
6014- if (Reg.isVirtual ())
6011+ if (Reg.isVirtual ()) {
6012+ const MachineRegisterInfo &MRI =
6013+ MI.getParent ()->getParent ()->getRegInfo ();
60156014 return MRI.getRegClass (Reg);
6015+ }
60166016 return RI.getPhysRegBaseClass (Reg);
60176017 }
60186018
60196019 unsigned RCID = Desc.operands ()[OpNo].RegClass ;
6020- return adjustAllocatableRegClass (ST, RI, MRI, Desc, RCID, true );
6020+ return adjustAllocatableRegClass (ST, RI, Desc, RCID, true );
60216021}
60226022
60236023void SIInstrInfo::legalizeOpWithMove (MachineInstr &MI, unsigned OpIdx) const {
0 commit comments