Lines Matching refs:SIInstrInfo
126 if (!SIInstrInfo::isMAI(MI) || in isXDL()
138 static bool isSendMsgTraceDataOrGDS(const SIInstrInfo &TII, in isSendMsgTraceDataOrGDS()
174 return SIInstrInfo::isVALU(MI) && in isLdsDma()
175 (SIInstrInfo::isMUBUF(MI) || SIInstrInfo::isFLAT(MI)); in isLdsDma()
178 static unsigned getHWReg(const SIInstrInfo *TII, const MachineInstr &RegInstr) { in getHWReg()
194 if (SIInstrInfo::isSMRD(*MI) && checkSMRDHazards(MI) > 0) in getHazardType()
207 if ((SIInstrInfo::isVMEM(*MI) || in getHazardType()
208 SIInstrInfo::isFLAT(*MI)) in getHazardType()
212 if (SIInstrInfo::isVALU(*MI) && checkVALUHazards(MI) > 0) in getHazardType()
215 if (SIInstrInfo::isDPP(*MI) && checkDPPHazards(MI) > 0) in getHazardType()
224 if ((SIInstrInfo::isVALU(*MI) || SIInstrInfo::isVMEM(*MI) || in getHazardType()
225 SIInstrInfo::isFLAT(*MI) || SIInstrInfo::isDS(*MI) || in getHazardType()
226 SIInstrInfo::isEXP(*MI)) && checkMAIVALUHazards(MI) > 0) in getHazardType()
249 if (SIInstrInfo::isMAI(*MI) && checkMAIHazards(MI) > 0) in getHazardType()
252 if ((SIInstrInfo::isVMEM(*MI) || in getHazardType()
253 SIInstrInfo::isFLAT(*MI) || in getHazardType()
254 SIInstrInfo::isDS(*MI)) && checkMAILdStHazards(MI) > 0) in getHazardType()
263 static void insertNoopsInBundle(MachineInstr *MI, const SIInstrInfo &TII, in insertNoopsInBundle()
336 if (SIInstrInfo::isSMRD(*MI)) in PreEmitNoopsCommon()
347 if (SIInstrInfo::isVMEM(*MI) || SIInstrInfo::isFLAT(*MI)) in PreEmitNoopsCommon()
350 if (SIInstrInfo::isVALU(*MI)) in PreEmitNoopsCommon()
353 if (SIInstrInfo::isDPP(*MI)) in PreEmitNoopsCommon()
362 if ((SIInstrInfo::isVALU(*MI) || SIInstrInfo::isVMEM(*MI) || in PreEmitNoopsCommon()
363 SIInstrInfo::isFLAT(*MI) || SIInstrInfo::isDS(*MI) || in PreEmitNoopsCommon()
364 SIInstrInfo::isEXP(*MI)) && checkMAIVALUHazards(MI) > 0) in PreEmitNoopsCommon()
389 if (SIInstrInfo::isMAI(*MI)) in PreEmitNoopsCommon()
392 if (SIInstrInfo::isVMEM(*MI) || in PreEmitNoopsCommon()
393 SIInstrInfo::isFLAT(*MI) || in PreEmitNoopsCommon()
394 SIInstrInfo::isDS(*MI)) in PreEmitNoopsCommon()
504 GetNumWaitStatesFn GetNumWaitStates = SIInstrInfo::getNumWaitStates) { in getWaitStatesSince()
614 return !SIInstrInfo::isSMRD(*MI); in breaksSMEMSoftClause()
618 return !SIInstrInfo::isVMEM(*MI) && !SIInstrInfo::isFLAT(*MI); in breaksVMEMSoftClause()
743 const SIInstrInfo *TII = ST.getInstrInfo(); in checkDPPHazards()
773 const SIInstrInfo *TII = ST.getInstrInfo(); in checkDivFMasHazards()
788 const SIInstrInfo *TII = ST.getInstrInfo(); in checkGetRegHazards()
801 const SIInstrInfo *TII = ST.getInstrInfo(); in checkSetRegHazards()
816 const SIInstrInfo *TII = ST.getInstrInfo(); in createsVALUHazard()
889 if (ST.hasTransForwardingHazard() && !SIInstrInfo::isTRANS(*VALU)) { in checkVALUHazards()
893 if (!SIInstrInfo::isTRANS(MI)) in checkVALUHazards()
896 const SIInstrInfo *TII = ST.getInstrInfo(); in checkVALUHazards()
917 if (!SIInstrInfo::isVALU(MI)) in checkVALUHazards()
919 const SIInstrInfo *TII = ST.getInstrInfo(); in checkVALUHazards()
920 if (SIInstrInfo::isSDWA(MI)) { in checkVALUHazards()
959 if (!SIInstrInfo::isVALU(MI)) in checkVALUHazards()
1051 const SIInstrInfo *TII = ST.getInstrInfo(); in checkRWLaneHazards()
1074 const SIInstrInfo *TII = ST.getInstrInfo(); in checkRFEHazards()
1086 const SIInstrInfo *TII = ST.getInstrInfo(); in checkReadM0Hazards()
1115 const SIInstrInfo *TII = ST.getInstrInfo(); in fixVcmpxPermlaneHazards()
1125 return SIInstrInfo::isVALU(MI) && Opc != AMDGPU::V_NOP_e32 && in fixVcmpxPermlaneHazards()
1152 if (!SIInstrInfo::isSALU(*MI) && !SIInstrInfo::isSMRD(*MI)) in fixVMEMtoScalarWriteHazards()
1161 if (!SIInstrInfo::isVMEM(I) && !SIInstrInfo::isDS(I) && in fixVMEMtoScalarWriteHazards()
1162 !SIInstrInfo::isFLAT(I)) in fixVMEMtoScalarWriteHazards()
1176 return SIInstrInfo::isVALU(MI) || in fixVMEMtoScalarWriteHazards()
1187 const SIInstrInfo *TII = ST.getInstrInfo(); in fixVMEMtoScalarWriteHazards()
1199 if (!SIInstrInfo::isVALU(*MI)) in fixSMEMtoVectorWriteHazards()
1213 const SIInstrInfo *TII = ST.getInstrInfo(); in fixSMEMtoVectorWriteHazards()
1231 return SIInstrInfo::isSMRD(I) && I.readsRegister(SDSTReg, TRI); in fixSMEMtoVectorWriteHazards()
1286 if (!SIInstrInfo::isVALU(*MI)) in fixVcmpxExecWARHazard()
1294 if (SIInstrInfo::isVALU(I)) in fixVcmpxExecWARHazard()
1299 const SIInstrInfo *TII = ST.getInstrInfo(); in fixVcmpxExecWARHazard()
1301 if (SIInstrInfo::isVALU(MI)) { in fixVcmpxExecWARHazard()
1335 HasLds |= SIInstrInfo::isDS(MI); in shouldRunLdsBranchVmemWARHazardFixup()
1337 SIInstrInfo::isVMEM(MI) || SIInstrInfo::isSegmentSpecificFLAT(MI); in shouldRunLdsBranchVmemWARHazardFixup()
1359 if (SIInstrInfo::isDS(MI)) in fixLdsBranchVmemWARHazard()
1361 if (SIInstrInfo::isVMEM(MI) || SIInstrInfo::isSegmentSpecificFLAT(MI)) in fixLdsBranchVmemWARHazard()
1399 const SIInstrInfo *TII = ST.getInstrInfo(); in fixLdsBranchVmemWARHazard()
1409 if (!SIInstrInfo::isLDSDIR(*MI)) in fixLdsDirectVALUHazard()
1418 if (!SIInstrInfo::isVALU(I)) in fixLdsDirectVALUHazard()
1420 VisitedTrans = VisitedTrans || SIInstrInfo::isTRANS(I); in fixLdsDirectVALUHazard()
1428 return SIInstrInfo::isVMEM(I) || SIInstrInfo::isFLAT(I) || in fixLdsDirectVALUHazard()
1429 SIInstrInfo::isDS(I) || SIInstrInfo::isEXP(I); in fixLdsDirectVALUHazard()
1432 return SIInstrInfo::isVALU(MI) ? 1 : 0; in fixLdsDirectVALUHazard()
1453 if (!SIInstrInfo::isLDSDIR(*MI)) in fixLdsDirectVMEMHazard()
1460 if (!SIInstrInfo::isVMEM(I) && !SIInstrInfo::isFLAT(I) && in fixLdsDirectVMEMHazard()
1461 !SIInstrInfo::isDS(I)) in fixLdsDirectVMEMHazard()
1469 return SIInstrInfo::isVALU(I) || SIInstrInfo::isEXP(I) || in fixLdsDirectVMEMHazard()
1473 (LdsdirCanWait && SIInstrInfo::isLDSDIR(I) && in fixLdsDirectVMEMHazard()
1497 if (!ST.isWave64() || !SIInstrInfo::isVALU(*MI)) in fixVALUPartialForwardingHazard()
1546 if (SIInstrInfo::isVMEM(I) || SIInstrInfo::isFLAT(I) || in fixVALUPartialForwardingHazard()
1547 SIInstrInfo::isDS(I) || SIInstrInfo::isEXP(I) || in fixVALUPartialForwardingHazard()
1554 if (SIInstrInfo::isVALU(I)) { in fixVALUPartialForwardingHazard()
1561 } else if (SIInstrInfo::isSALU(I)) { in fixVALUPartialForwardingHazard()
1625 if (SIInstrInfo::isVALU(MI)) in fixVALUPartialForwardingHazard()
1646 if (!SIInstrInfo::isVALU(*MI)) in fixVALUTransUseHazard()
1683 if (SIInstrInfo::isVMEM(I) || SIInstrInfo::isFLAT(I) || in fixVALUTransUseHazard()
1684 SIInstrInfo::isDS(I) || SIInstrInfo::isEXP(I) || in fixVALUTransUseHazard()
1690 if (SIInstrInfo::isTRANS(I)) { in fixVALUTransUseHazard()
1701 if (SIInstrInfo::isVALU(MI)) in fixVALUTransUseHazard()
1703 if (SIInstrInfo::isTRANS(MI)) in fixVALUTransUseHazard()
1722 if (!SIInstrInfo::isWMMA(*MI) && !SIInstrInfo::isSWMMAC(*MI)) in fixWMMAHazards()
1725 const SIInstrInfo *TII = ST.getInstrInfo(); in fixWMMAHazards()
1729 if (!SIInstrInfo::isWMMA(I) && !SIInstrInfo::isSWMMAC(I)) in fixWMMAHazards()
1750 if (SIInstrInfo::isSWMMAC(*MI)) { in fixWMMAHazards()
1763 return SIInstrInfo::isVALU(I); in fixWMMAHazards()
1884 if (!SIInstrInfo::isMUBUF(*MI) && !SIInstrInfo::isMTBUF(*MI)) in checkNSAtoVMEMHazard()
1887 const SIInstrInfo *TII = ST.getInstrInfo(); in checkNSAtoVMEMHazard()
1893 if (!SIInstrInfo::isMIMG(I)) in checkNSAtoVMEMHazard()
1914 if (!SIInstrInfo::isVMEM(I) && !SIInstrInfo::isFLAT(I)) in checkFPAtomicToDenormModeHazard()
1916 return SIInstrInfo::isFPAtomic(I); in checkFPAtomicToDenormModeHazard()
1920 if (WaitStates >= 3 || SIInstrInfo::isVALU(MI)) in checkFPAtomicToDenormModeHazard()
1943 assert(SIInstrInfo::isMAI(*MI)); in checkMAIHazards()
1954 if (!SIInstrInfo::isMFMA(*MI) || MFI->getOccupancy() < 2) in checkMFMAPadding()
1960 if (!SIInstrInfo::isMFMA(MI)) in checkMFMAPadding()
1983 return SIInstrInfo::isVALU(MI) || MI.isInlineAsm(); in checkMAIHazards908()
2033 if (!SIInstrInfo::isMFMA(MI)) in checkMAIHazards908()
2112 if (!SIInstrInfo::isMFMA(MI)) in checkMAIHazards908()
2182 return SIInstrInfo::isVALU(MI) && !SIInstrInfo::isMFMA(MI); in checkMAIHazards90A()
2186 return SIInstrInfo::isVALU(MI) && !SIInstrInfo::isMFMA(MI) && in checkMAIHazards90A()
2187 !SIInstrInfo::isDOT(MI); in checkMAIHazards90A()
2190 if (!SIInstrInfo::isMFMA(*MI)) in checkMAIHazards90A()
2229 if (!SIInstrInfo::isMFMA(MI)) in checkMAIHazards90A()
2402 return SIInstrInfo::isVALU(MI) && !SIInstrInfo::isMAI(MI); in checkMAILdStHazards()
2457 if (SIInstrInfo::isMFMA(*MI)) in checkMAIVALUHazards()
2464 bool IsMem = SIInstrInfo::isVMEM(*MI) || in checkMAIVALUHazards()
2465 SIInstrInfo::isFLAT(*MI) || in checkMAIVALUHazards()
2466 SIInstrInfo::isDS(*MI); in checkMAIVALUHazards()
2467 bool IsMemOrExport = IsMem || SIInstrInfo::isEXP(*MI); in checkMAIVALUHazards()
2468 bool IsVALU = SIInstrInfo::isVALU(*MI); in checkMAIVALUHazards()
2473 if (!SIInstrInfo::isMFMA(MI) || in checkMAIVALUHazards()
2482 if (!SIInstrInfo::isDOT(MI) || in checkMAIVALUHazards()
2696 if (!SIInstrInfo::isMFMA(MI) || isDGEMM(MI.getOpcode()) || in checkMAIVALUHazards()
2749 if (SIInstrInfo::isMFMA(MI)) in ShouldPreferAnother()
2769 if (!ST.isWave64() || !SIInstrInfo::isSALU(*MI)) in fixVALUMaskWriteHazard()
2839 if (!SIInstrInfo::isVALU(I)) in fixVALUMaskWriteHazard()
2902 const SIInstrInfo &TII) { in ensureEntrySetPrio()