[llvm] [AMDGPU] V_SET_INACTIVE optimizations (PR #98864)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 03:20:17 PDT 2024


================
@@ -1058,6 +1071,20 @@ void SIWholeQuadMode::lowerBlock(MachineBasicBlock &MBB) {
     case AMDGPU::SI_KILL_F32_COND_IMM_TERMINATOR:
       SplitPoint = lowerKillF32(MBB, MI);
       break;
+    case AMDGPU::ENTER_STRICT_WWM:
+      ActiveLanesReg = MI.getOperand(0).getReg();
+      break;
+    case AMDGPU::EXIT_STRICT_WWM:
+      ActiveLanesReg = 0;
+      break;
+    case AMDGPU::V_SET_INACTIVE_B32:
+    case AMDGPU::V_SET_INACTIVE_B64:
+      if (ActiveLanesReg) {
+        MI.addOperand(*MBB.getParent(),
+                      MachineOperand::CreateReg(ActiveLanesReg, false, true));
+      } else
+        assert(State == StateExact || State == StateWQM);
----------------
jayfoad wrote:

Nit: braces around the else part, since the if part has them.

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


More information about the llvm-commits mailing list