Lines Matching refs:SIInstrInfo
125 if (!SIInstrInfo::isMAI(MI) || in isXDL()
137 static bool isSendMsgTraceDataOrGDS(const SIInstrInfo &TII, in isSendMsgTraceDataOrGDS()
173 return SIInstrInfo::isVALU(MI) && in isLdsDma()
174 (SIInstrInfo::isMUBUF(MI) || SIInstrInfo::isFLAT(MI)); in isLdsDma()
177 static unsigned getHWReg(const SIInstrInfo *TII, const MachineInstr &RegInstr) { in getHWReg()
193 if (SIInstrInfo::isSMRD(*MI) && checkSMRDHazards(MI) > 0) in getHazardType()
206 if ((SIInstrInfo::isVMEM(*MI) || in getHazardType()
207 SIInstrInfo::isFLAT(*MI)) in getHazardType()
211 if (SIInstrInfo::isVALU(*MI) && checkVALUHazards(MI) > 0) in getHazardType()
214 if (SIInstrInfo::isDPP(*MI) && checkDPPHazards(MI) > 0) in getHazardType()
223 if ((SIInstrInfo::isVALU(*MI) || SIInstrInfo::isVMEM(*MI) || in getHazardType()
224 SIInstrInfo::isFLAT(*MI) || SIInstrInfo::isDS(*MI) || in getHazardType()
225 SIInstrInfo::isEXP(*MI)) && checkMAIVALUHazards(MI) > 0) in getHazardType()
248 if (SIInstrInfo::isMAI(*MI) && checkMAIHazards(MI) > 0) in getHazardType()
251 if ((SIInstrInfo::isVMEM(*MI) || in getHazardType()
252 SIInstrInfo::isFLAT(*MI) || in getHazardType()
253 SIInstrInfo::isDS(*MI)) && checkMAILdStHazards(MI) > 0) in getHazardType()
262 static void insertNoopsInBundle(MachineInstr *MI, const SIInstrInfo &TII, in insertNoopsInBundle()
335 if (SIInstrInfo::isSMRD(*MI)) in PreEmitNoopsCommon()
346 if (SIInstrInfo::isVMEM(*MI) || SIInstrInfo::isFLAT(*MI)) in PreEmitNoopsCommon()
349 if (SIInstrInfo::isVALU(*MI)) in PreEmitNoopsCommon()
352 if (SIInstrInfo::isDPP(*MI)) in PreEmitNoopsCommon()
361 if ((SIInstrInfo::isVALU(*MI) || SIInstrInfo::isVMEM(*MI) || in PreEmitNoopsCommon()
362 SIInstrInfo::isFLAT(*MI) || SIInstrInfo::isDS(*MI) || in PreEmitNoopsCommon()
363 SIInstrInfo::isEXP(*MI)) && checkMAIVALUHazards(MI) > 0) in PreEmitNoopsCommon()
387 if (SIInstrInfo::isMAI(*MI)) in PreEmitNoopsCommon()
390 if (SIInstrInfo::isVMEM(*MI) || in PreEmitNoopsCommon()
391 SIInstrInfo::isFLAT(*MI) || in PreEmitNoopsCommon()
392 SIInstrInfo::isDS(*MI)) in PreEmitNoopsCommon()
502 GetNumWaitStatesFn GetNumWaitStates = SIInstrInfo::getNumWaitStates) { in getWaitStatesSince()
612 return !SIInstrInfo::isSMRD(*MI); in breaksSMEMSoftClause()
616 return !SIInstrInfo::isVMEM(*MI) && !SIInstrInfo::isFLAT(*MI); in breaksVMEMSoftClause()
741 const SIInstrInfo *TII = ST.getInstrInfo(); in checkDPPHazards()
771 const SIInstrInfo *TII = ST.getInstrInfo(); in checkDivFMasHazards()
786 const SIInstrInfo *TII = ST.getInstrInfo(); in checkGetRegHazards()
799 const SIInstrInfo *TII = ST.getInstrInfo(); in checkSetRegHazards()
814 const SIInstrInfo *TII = ST.getInstrInfo(); in createsVALUHazard()
887 if (ST.hasTransForwardingHazard() && !SIInstrInfo::isTRANS(*VALU)) { in checkVALUHazards()
891 if (!SIInstrInfo::isTRANS(MI)) in checkVALUHazards()
894 const SIInstrInfo *TII = ST.getInstrInfo(); in checkVALUHazards()
915 if (!SIInstrInfo::isVALU(MI)) in checkVALUHazards()
917 const SIInstrInfo *TII = ST.getInstrInfo(); in checkVALUHazards()
918 if (SIInstrInfo::isSDWA(MI)) { in checkVALUHazards()
957 if (!SIInstrInfo::isVALU(MI)) in checkVALUHazards()
1049 const SIInstrInfo *TII = ST.getInstrInfo(); in checkRWLaneHazards()
1072 const SIInstrInfo *TII = ST.getInstrInfo(); in checkRFEHazards()
1084 const SIInstrInfo *TII = ST.getInstrInfo(); in checkReadM0Hazards()
1112 const SIInstrInfo *TII = ST.getInstrInfo(); in fixVcmpxPermlaneHazards()
1122 return SIInstrInfo::isVALU(MI) && Opc != AMDGPU::V_NOP_e32 && in fixVcmpxPermlaneHazards()
1149 if (!SIInstrInfo::isSALU(*MI) && !SIInstrInfo::isSMRD(*MI)) in fixVMEMtoScalarWriteHazards()
1158 if (!SIInstrInfo::isVMEM(I) && !SIInstrInfo::isDS(I) && in fixVMEMtoScalarWriteHazards()
1159 !SIInstrInfo::isFLAT(I)) in fixVMEMtoScalarWriteHazards()
1173 return SIInstrInfo::isVALU(MI) || in fixVMEMtoScalarWriteHazards()
1184 const SIInstrInfo *TII = ST.getInstrInfo(); in fixVMEMtoScalarWriteHazards()
1196 if (!SIInstrInfo::isVALU(*MI)) in fixSMEMtoVectorWriteHazards()
1210 const SIInstrInfo *TII = ST.getInstrInfo(); in fixSMEMtoVectorWriteHazards()
1228 return SIInstrInfo::isSMRD(I) && I.readsRegister(SDSTReg, TRI); in fixSMEMtoVectorWriteHazards()
1283 if (!SIInstrInfo::isVALU(*MI)) in fixVcmpxExecWARHazard()
1291 if (SIInstrInfo::isVALU(I)) in fixVcmpxExecWARHazard()
1296 const SIInstrInfo *TII = ST.getInstrInfo(); in fixVcmpxExecWARHazard()
1298 if (SIInstrInfo::isVALU(MI)) { in fixVcmpxExecWARHazard()
1332 HasLds |= SIInstrInfo::isDS(MI); in shouldRunLdsBranchVmemWARHazardFixup()
1334 SIInstrInfo::isVMEM(MI) || SIInstrInfo::isSegmentSpecificFLAT(MI); in shouldRunLdsBranchVmemWARHazardFixup()
1356 if (SIInstrInfo::isDS(MI)) in fixLdsBranchVmemWARHazard()
1358 if (SIInstrInfo::isVMEM(MI) || SIInstrInfo::isSegmentSpecificFLAT(MI)) in fixLdsBranchVmemWARHazard()
1396 const SIInstrInfo *TII = ST.getInstrInfo(); in fixLdsBranchVmemWARHazard()
1406 if (!SIInstrInfo::isLDSDIR(*MI)) in fixLdsDirectVALUHazard()
1415 if (!SIInstrInfo::isVALU(I)) in fixLdsDirectVALUHazard()
1417 VisitedTrans = VisitedTrans || SIInstrInfo::isTRANS(I); in fixLdsDirectVALUHazard()
1425 return SIInstrInfo::isVMEM(I) || SIInstrInfo::isFLAT(I) || in fixLdsDirectVALUHazard()
1426 SIInstrInfo::isDS(I) || SIInstrInfo::isEXP(I); in fixLdsDirectVALUHazard()
1429 return SIInstrInfo::isVALU(MI) ? 1 : 0; in fixLdsDirectVALUHazard()
1450 if (!SIInstrInfo::isLDSDIR(*MI)) in fixLdsDirectVMEMHazard()
1457 if (!SIInstrInfo::isVMEM(I) && !SIInstrInfo::isFLAT(I) && in fixLdsDirectVMEMHazard()
1458 !SIInstrInfo::isDS(I)) in fixLdsDirectVMEMHazard()
1466 return SIInstrInfo::isVALU(I) || SIInstrInfo::isEXP(I) || in fixLdsDirectVMEMHazard()
1470 (LdsdirCanWait && SIInstrInfo::isLDSDIR(I) && in fixLdsDirectVMEMHazard()
1494 if (!ST.isWave64() || !SIInstrInfo::isVALU(*MI)) in fixVALUPartialForwardingHazard()
1543 if (SIInstrInfo::isVMEM(I) || SIInstrInfo::isFLAT(I) || in fixVALUPartialForwardingHazard()
1544 SIInstrInfo::isDS(I) || SIInstrInfo::isEXP(I) || in fixVALUPartialForwardingHazard()
1551 if (SIInstrInfo::isVALU(I)) { in fixVALUPartialForwardingHazard()
1558 } else if (SIInstrInfo::isSALU(I)) { in fixVALUPartialForwardingHazard()
1622 if (SIInstrInfo::isVALU(MI)) in fixVALUPartialForwardingHazard()
1643 if (!SIInstrInfo::isVALU(*MI)) in fixVALUTransUseHazard()
1680 if (SIInstrInfo::isVMEM(I) || SIInstrInfo::isFLAT(I) || in fixVALUTransUseHazard()
1681 SIInstrInfo::isDS(I) || SIInstrInfo::isEXP(I) || in fixVALUTransUseHazard()
1687 if (SIInstrInfo::isTRANS(I)) { in fixVALUTransUseHazard()
1698 if (SIInstrInfo::isVALU(MI)) in fixVALUTransUseHazard()
1700 if (SIInstrInfo::isTRANS(MI)) in fixVALUTransUseHazard()
1719 if (!SIInstrInfo::isWMMA(*MI) && !SIInstrInfo::isSWMMAC(*MI)) in fixWMMAHazards()
1722 const SIInstrInfo *TII = ST.getInstrInfo(); in fixWMMAHazards()
1726 if (!SIInstrInfo::isWMMA(I) && !SIInstrInfo::isSWMMAC(I)) in fixWMMAHazards()
1767 if (SIInstrInfo::isSWMMAC(*MI)) { in fixWMMAHazards()
1780 return SIInstrInfo::isVALU(I); in fixWMMAHazards()
1901 if (!SIInstrInfo::isMUBUF(*MI) && !SIInstrInfo::isMTBUF(*MI)) in checkNSAtoVMEMHazard()
1904 const SIInstrInfo *TII = ST.getInstrInfo(); in checkNSAtoVMEMHazard()
1910 if (!SIInstrInfo::isMIMG(I)) in checkNSAtoVMEMHazard()
1931 if (!SIInstrInfo::isVMEM(I) && !SIInstrInfo::isFLAT(I)) in checkFPAtomicToDenormModeHazard()
1933 return SIInstrInfo::isFPAtomic(I); in checkFPAtomicToDenormModeHazard()
1937 if (WaitStates >= 3 || SIInstrInfo::isVALU(MI)) in checkFPAtomicToDenormModeHazard()
1960 assert(SIInstrInfo::isMAI(*MI)); in checkMAIHazards()
1971 if (!SIInstrInfo::isMFMA(*MI) || MFI->getOccupancy() < 2) in checkMFMAPadding()
1977 if (!SIInstrInfo::isMFMA(MI)) in checkMFMAPadding()
2000 return SIInstrInfo::isVALU(MI) || MI.isInlineAsm(); in checkMAIHazards908()
2050 if (!SIInstrInfo::isMFMA(MI)) in checkMAIHazards908()
2129 if (!SIInstrInfo::isMFMA(MI)) in checkMAIHazards908()
2164 return SIInstrInfo::isVALU(MI) && !SIInstrInfo::isMFMA(MI); in checkMAIHazards90A()
2168 return SIInstrInfo::isVALU(MI) && !SIInstrInfo::isMFMA(MI) && in checkMAIHazards90A()
2169 !SIInstrInfo::isDOT(MI); in checkMAIHazards90A()
2172 if (!SIInstrInfo::isMFMA(*MI)) in checkMAIHazards90A()
2226 if (!SIInstrInfo::isMFMA(MI)) in checkMAIHazards90A()
2402 return SIInstrInfo::isVALU(MI) && !SIInstrInfo::isMAI(MI); in checkMAILdStHazards()
2425 if (SIInstrInfo::isMFMA(*MI)) in checkMAIVALUHazards()
2432 bool IsMem = SIInstrInfo::isVMEM(*MI) || in checkMAIVALUHazards()
2433 SIInstrInfo::isFLAT(*MI) || in checkMAIVALUHazards()
2434 SIInstrInfo::isDS(*MI); in checkMAIVALUHazards()
2435 bool IsMemOrExport = IsMem || SIInstrInfo::isEXP(*MI); in checkMAIVALUHazards()
2436 bool IsVALU = SIInstrInfo::isVALU(*MI); in checkMAIVALUHazards()
2441 if (!SIInstrInfo::isMFMA(MI) || in checkMAIVALUHazards()
2450 if (!SIInstrInfo::isDOT(MI) || in checkMAIVALUHazards()
2682 if (!SIInstrInfo::isMFMA(MI) || isDGEMM(MI.getOpcode()) || in checkMAIVALUHazards()
2735 if (SIInstrInfo::isMFMA(MI)) in ShouldPreferAnother()
2755 if (!ST.isWave64() || !SIInstrInfo::isSALU(*MI)) in fixVALUMaskWriteHazard()
2825 if (!SIInstrInfo::isVALU(I)) in fixVALUMaskWriteHazard()