================
@@ -1107,20 +1143,32 @@ void WaitcntBrackets::updateByEvent(HWEvents E,
MachineInstr &Inst) {
}
}
-void WaitcntBrackets::recordAsyncMark(MachineInstr &Inst) {
+void WaitcntBrackets::recordAsyncMark(MachineInstr &Inst, uint32_t StageMask) {
// In the absence of loops, AsyncMarks can grow linearly with the program
// until we encounter an ASYNCMARK_WAIT. We could drop the oldest mark above
a
// limit every time we push a new mark, but that seems like unnecessary work
// in practical cases. We do separately truncate the array when processing a
// loop, which should be sufficient.
- AsyncMarks.push_back(AsyncScore);
- LLVM_DEBUG({
- dbgs() << "recordAsyncMark:\n" << Inst;
- for (const auto &Mark : AsyncMarks) {
- llvm::interleaveComma(Mark, dbgs());
- dbgs() << '\n';
- }
- });
+ //
+ // The mark joins every stage it names. Each stage gets its own copy of the
----------------
ssahasra wrote:
```suggestion
// A mark is inserted in every stage named. Each stage gets a copy of its
corresponding score.
```
https://github.com/llvm/llvm-project/pull/220442
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits