[llvm] [llvm-mca][AMDGPU] Retire instructions that have issue carry over correctly (PR #83881)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 4 10:33:40 PST 2024


================
@@ -257,8 +257,9 @@ llvm::Error InOrderIssueStage::tryIssue(InstRef &IR) {
   }
 
   // If the instruction has a latency of 0, we need to handle
-  // the execution and retirement now.
-  if (IS.isExecuted()) {
+  // the execution and retirement now. If the instruction is issued in multiple
+  // cycles, we cannot retire until it is finished issuing.
+  if (IS.isExecuted() && !ShouldCarryOver) {
     PRF.onInstructionExecuted(&IS);
----------------
michaelmaitland wrote:

Maybe we need to have `onInstructionExecuted` and `notifyEvent` called in `updateCarriedOver` too?

https://github.com/llvm/llvm-project/pull/83881


More information about the llvm-commits mailing list