Lines Matching refs:Wait
155 void addWait(AMDGPU::Waitcnt &Wait, InstCounterType T, unsigned Count) { in addWait() argument
158 Wait.VmCnt = std::min(Wait.VmCnt, Count); in addWait()
161 Wait.ExpCnt = std::min(Wait.ExpCnt, Count); in addWait()
164 Wait.LgkmCnt = std::min(Wait.LgkmCnt, Count); in addWait()
167 Wait.VsCnt = std::min(Wait.VsCnt, Count); in addWait()
241 void simplifyWaitcnt(AMDGPU::Waitcnt &Wait) const;
244 AMDGPU::Waitcnt &Wait) const;
245 void applyWaitcnt(const AMDGPU::Waitcnt &Wait);
446 bool generateWaitcnt(AMDGPU::Waitcnt Wait,
456 AMDGPU::Waitcnt &Wait,
738 void WaitcntBrackets::simplifyWaitcnt(AMDGPU::Waitcnt &Wait) const { in simplifyWaitcnt()
739 simplifyWaitcnt(VM_CNT, Wait.VmCnt); in simplifyWaitcnt()
740 simplifyWaitcnt(EXP_CNT, Wait.ExpCnt); in simplifyWaitcnt()
741 simplifyWaitcnt(LGKM_CNT, Wait.LgkmCnt); in simplifyWaitcnt()
742 simplifyWaitcnt(VS_CNT, Wait.VsCnt); in simplifyWaitcnt()
758 AMDGPU::Waitcnt &Wait) const { in determineWait()
770 addWait(Wait, T, 0); in determineWait()
775 addWait(Wait, T, 0); in determineWait()
780 addWait(Wait, T, NeededWait); in determineWait()
785 void WaitcntBrackets::applyWaitcnt(const AMDGPU::Waitcnt &Wait) { in applyWaitcnt() argument
786 applyWaitcnt(VM_CNT, Wait.VmCnt); in applyWaitcnt()
787 applyWaitcnt(EXP_CNT, Wait.ExpCnt); in applyWaitcnt()
788 applyWaitcnt(LGKM_CNT, Wait.LgkmCnt); in applyWaitcnt()
789 applyWaitcnt(VS_CNT, Wait.VsCnt); in applyWaitcnt()
836 AMDGPU::Waitcnt &Wait, MachineBasicBlock::instr_iterator It) { in applyPreexistingWaitcnt() argument
853 Wait = Wait.combined(OldWait); in applyPreexistingWaitcnt()
870 Wait.VsCnt = std::min(Wait.VsCnt, OldVSCnt); in applyPreexistingWaitcnt()
884 if (Wait.hasWaitExceptVsCnt()) { in applyPreexistingWaitcnt()
885 unsigned NewEnc = AMDGPU::encodeWaitcnt(IV, Wait); in applyPreexistingWaitcnt()
891 ScoreBrackets.applyWaitcnt(Wait); in applyPreexistingWaitcnt()
892 Wait.VmCnt = ~0u; in applyPreexistingWaitcnt()
893 Wait.LgkmCnt = ~0u; in applyPreexistingWaitcnt()
894 Wait.ExpCnt = ~0u; in applyPreexistingWaitcnt()
911 if (Wait.hasWaitVsCnt()) { in applyPreexistingWaitcnt()
916 if (Wait.VsCnt != OldVSCnt) { in applyPreexistingWaitcnt()
918 ->setImm(Wait.VsCnt); in applyPreexistingWaitcnt()
921 ScoreBrackets.applyWaitcnt(Wait); in applyPreexistingWaitcnt()
922 Wait.VsCnt = ~0u; in applyPreexistingWaitcnt()
982 AMDGPU::Waitcnt Wait; in generateWaitcntInstBefore() local
993 Wait.VmCnt = 0; in generateWaitcntInstBefore()
1003 Wait = Wait.combined(AMDGPU::Waitcnt::allZero(ST->hasVscnt())); in generateWaitcntInstBefore()
1011 Wait.VmCnt = 0; in generateWaitcntInstBefore()
1079 Wait.ExpCnt = 0; in generateWaitcntInstBefore()
1087 Wait = AMDGPU::Waitcnt(); in generateWaitcntInstBefore()
1099 LGKM_CNT, ScoreBrackets.getRegScore(RegNo, LGKM_CNT), Wait); in generateWaitcntInstBefore()
1110 LGKM_CNT, ScoreBrackets.getRegScore(RegNo, LGKM_CNT), Wait); in generateWaitcntInstBefore()
1130 addWait(Wait, LGKM_CNT, 0); in generateWaitcntInstBefore()
1143 VM_CNT, ScoreBrackets.getRegScore(RegNo, VM_CNT), Wait); in generateWaitcntInstBefore()
1146 EXP_CNT, ScoreBrackets.getRegScore(RegNo, EXP_CNT), Wait); in generateWaitcntInstBefore()
1169 VM_CNT, ScoreBrackets.getRegScore(RegNo, VM_CNT), Wait); in generateWaitcntInstBefore()
1174 EXP_CNT, ScoreBrackets.getRegScore(RegNo, EXP_CNT), Wait); in generateWaitcntInstBefore()
1178 LGKM_CNT, ScoreBrackets.getRegScore(RegNo, LGKM_CNT), Wait); in generateWaitcntInstBefore()
1190 Wait = Wait.combined(AMDGPU::Waitcnt::allZero(ST->hasVscnt())); in generateWaitcntInstBefore()
1200 Wait.LgkmCnt = 0; in generateWaitcntInstBefore()
1205 ScoreBrackets.simplifyWaitcnt(Wait); in generateWaitcntInstBefore()
1208 Wait = AMDGPU::Waitcnt::allZero(ST->hasVscnt()); in generateWaitcntInstBefore()
1211 Wait.VmCnt = 0; in generateWaitcntInstBefore()
1213 Wait.ExpCnt = 0; in generateWaitcntInstBefore()
1215 Wait.LgkmCnt = 0; in generateWaitcntInstBefore()
1217 Wait.VsCnt = 0; in generateWaitcntInstBefore()
1223 Wait.VmCnt = 0; in generateWaitcntInstBefore()
1226 return generateWaitcnt(Wait, MI.getIterator(), *MI.getParent(), ScoreBrackets, in generateWaitcntInstBefore()
1235 AMDGPU::Waitcnt Wait; in generateWaitcntBlockEnd() local
1242 Wait.VmCnt = 0; in generateWaitcntBlockEnd()
1244 return generateWaitcnt(Wait, Block.instr_end(), Block, ScoreBrackets, in generateWaitcntBlockEnd()
1248 bool SIInsertWaitcnts::generateWaitcnt(AMDGPU::Waitcnt Wait, in generateWaitcnt() argument
1260 applyPreexistingWaitcnt(ScoreBrackets, *OldWaitcntInstr, Wait, It); in generateWaitcnt()
1262 ScoreBrackets.applyWaitcnt(Wait); in generateWaitcnt()
1265 if (Wait.ExpCnt != ~0u && It != Block.instr_end() && in generateWaitcnt()
1269 if (Wait.ExpCnt < WaitExp->getImm()) { in generateWaitcnt()
1270 WaitExp->setImm(Wait.ExpCnt); in generateWaitcnt()
1273 Wait.ExpCnt = ~0u; in generateWaitcnt()
1281 if (Wait.hasWaitExceptVsCnt()) { in generateWaitcnt()
1282 unsigned Enc = AMDGPU::encodeWaitcnt(IV, Wait); in generateWaitcnt()
1293 if (Wait.hasWaitVsCnt()) { in generateWaitcnt()
1298 .addImm(Wait.VsCnt); in generateWaitcnt()