[llvm] [AMDGPU] Add support for GFX12 expert scheduling mode 2 (PR #170319)
Stephen Thomas via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 8 03:17:17 PST 2025
================
@@ -1778,6 +1895,39 @@ bool WaitcntGeneratorGFX12Plus::applyPreexistingWaitcnt(
}
}
+ if (WaitcntDepctrInstr) {
+ // Get the encoded Depctr immediate and override the VA_VDST and VM_VSRC
+ // subfields with the new required values.
+ unsigned Enc =
+ TII->getNamedOperand(*WaitcntDepctrInstr, AMDGPU::OpName::simm16)
+ ->getImm();
+ Enc = AMDGPU::DepCtr::encodeFieldVmVsrc(Enc, Wait.VmVsrc);
+ Enc = AMDGPU::DepCtr::encodeFieldVaVdst(Enc, Wait.VaVdst);
+
+ ScoreBrackets.applyWaitcnt(VA_VDST, Wait.VaVdst);
+ ScoreBrackets.applyWaitcnt(VM_VSRC, Wait.VmVsrc);
+ Wait.VaVdst = ~0u;
+ Wait.VmVsrc = ~0u;
+
+ // If that new encoded Depctr immediate would actually still wait
+ // for anything, update the instruction's operand. Otherwise it can
+ // just be deleted.
+ if (Enc != 0xffff) {
----------------
stepthomas wrote:
See above
https://github.com/llvm/llvm-project/pull/170319
More information about the llvm-commits
mailing list