[llvm] [AMDGPU] Consider FLAT instructions for VMEM hazard detection (PR #137170)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 16 02:47:30 PDT 2025


================
@@ -1417,9 +1417,8 @@ static bool shouldRunLdsBranchVmemWARHazardFixup(const MachineFunction &MF,
   bool HasVmem = false;
   for (auto &MBB : MF) {
     for (auto &MI : MBB) {
-      HasLds |= SIInstrInfo::isDS(MI);
-      HasVmem |= (SIInstrInfo::isVMEM(MI) && !SIInstrInfo::isFLAT(MI)) ||
-                 SIInstrInfo::isSegmentSpecificFLAT(MI);
+      HasLds |= SIInstrInfo::isDS(MI) || SIInstrInfo::isLDSDMA(MI);
+      HasVmem |= SIInstrInfo::isVMEM(MI) && !SIInstrInfo::isLDSDMA(MI);
----------------
jayfoad wrote:

> So what we actually want for `HasVmem` is just plain `SIInstrInfo::isVMEM(MI)`?

That seems trivially correct to me. Anything different would be weird and would need justification.

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


More information about the llvm-commits mailing list