================
@@ -1107,13 +1153,31 @@ void WaitcntBrackets::updateByEvent(WaitEventType E,
MachineInstr &Inst) {
setVMemScore(LDSDMA_BEGIN + Slot, T, CurrScore);
}
+ if (Context->isAsyncLdsDmaWrite(Inst) && T == LOAD_CNT) {
+ // FIXME: Not supported on GFX12 yet. Will need a new feature when we do.
+ assert(!SIInstrInfo::usesASYNC_CNT(Inst));
+ AsyncScore[T] = CurrScore;
+ }
+
if (SIInstrInfo::isSBarrierSCCWrite(Inst.getOpcode())) {
setRegScore(AMDGPU::SCC, T, CurrScore);
PendingSCCWrite = &Inst;
}
}
}
+void WaitcntBrackets::recordAsyncMark(MachineInstr &Inst) {
+ AsyncMarkers.emplace_back(AsyncScore);
----------------
jayfoad wrote:
Nit: feels odd to use emplace_back when it's just going to invoke the copy
constructor, since it has no advantage over push_back
https://github.com/llvm/llvm-project/pull/173259
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits