[llvm] [AMDGPU] Add GFX1250 unclaused VMEM workaround (PR #208467)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 08:50:16 PDT 2026


================
@@ -3629,5 +3629,18 @@ bool SIInsertWaitcnts::run() {
     }
   }
 
+  if (MFI->isEntryFunction() && ST.hasRequiresInitialUnclausedVmem()) {
+    // Hardware entrypoints must begin with a specific sequence:
+    //   GLOBAL_WB SCOPE:SCOPE_CU
+    //   V_NOP
+    MachineBasicBlock::iterator I = EntryBB.begin();
+    BuildMI(EntryBB, I, DebugLoc(), TII.get(AMDGPU::GLOBAL_WB))
+        .addImm(AMDGPU::CPol::SCOPE_CU)
+        .addReg(AMDGPU::EXEC, RegState::Implicit);
----------------
jayfoad wrote:

Same as V_NOP, it's a VMEM operation so they should all depend on EXEC? Anyway it's already there in the instruction definition, just like for V_NOP.

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


More information about the llvm-commits mailing list