Lines Matching refs:TRI

115 static bool hasVGPROperands(const MachineInstr &MI, const SIRegisterInfo *TRI) {  in hasVGPROperands()  argument
122 if (TRI->hasVGPRs(MRI.getRegClass(MI.getOperand(i).getReg()))) in hasVGPROperands()
130 const SIRegisterInfo &TRI, in getCopyRegClasses() argument
138 TRI.getPhysRegClass(SrcReg); in getCopyRegClasses()
146 TRI.getPhysRegClass(DstReg); in getCopyRegClasses()
153 const SIRegisterInfo &TRI) { in isVGPRToSGPRCopy() argument
154 return TRI.isSGPRClass(DstRC) && TRI.hasVGPRs(SrcRC); in isVGPRToSGPRCopy()
159 const SIRegisterInfo &TRI) { in isSGPRToVGPRCopy() argument
160 return TRI.isSGPRClass(SrcRC) && TRI.hasVGPRs(DstRC); in isSGPRToVGPRCopy()
177 const SIRegisterInfo *TRI, in foldVGPRCopyIntoRegSequence() argument
183 if (!TRI->isSGPRClass(MRI.getRegClass(DstReg))) in foldVGPRCopyIntoRegSequence()
194 std::tie(SrcRC, DstRC) = getCopyRegClasses(CopyUse, *TRI, MRI); in foldVGPRCopyIntoRegSequence()
196 if (!isSGPRToVGPRCopy(SrcRC, DstRC, *TRI)) in foldVGPRCopyIntoRegSequence()
221 assert(TRI->isSGPRClass(SrcRC) && in foldVGPRCopyIntoRegSequence()
224 SrcRC = TRI->getSubRegClass(SrcRC, SrcSubReg); in foldVGPRCopyIntoRegSequence()
225 const TargetRegisterClass *NewSrcRC = TRI->getEquivalentVGPRClass(SrcRC); in foldVGPRCopyIntoRegSequence()
241 const SIRegisterInfo *TRI = in runOnMachineFunction() local
266 std::tie(SrcRC, DstRC) = getCopyRegClasses(MI, *TRI, MRI); in runOnMachineFunction()
267 if (isVGPRToSGPRCopy(SrcRC, DstRC, *TRI)) { in runOnMachineFunction()
277 if (!TRI->isSGPRClass(MRI.getRegClass(Reg))) in runOnMachineFunction()
320 if (TRI->hasVGPRs(MRI.getRegClass(Reg))) { in runOnMachineFunction()
345 if (TRI->hasVGPRs(TII->getOpRegClass(MI, 0)) || in runOnMachineFunction()
346 !hasVGPROperands(MI, TRI)) { in runOnMachineFunction()
347 foldVGPRCopyIntoRegSequence(MI, TRI, TII, MRI); in runOnMachineFunction()
361 if (TRI->isSGPRClass(DstRC) && in runOnMachineFunction()
362 (TRI->hasVGPRs(Src0RC) || TRI->hasVGPRs(Src1RC))) { in runOnMachineFunction()