[llvm] [AMDGPU] Make SGPR occupancy the exact inverse of getMaxNumSGPRs (PR #201342)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 3 08:20:24 PDT 2026


================
@@ -50,6 +53,29 @@ const AMDGPUMCExpr *AMDGPUMCExpr::create(VariantKind Kind,
   return new (Ctx) AMDGPUMCExpr(Kind, Args, Ctx);
 }
 
+unsigned AMDGPUMCExpr::getNumExpectedArgs(VariantKind Kind) {
+  switch (Kind) {
+  case AGVK_None:
+  case AGVK_Or:
+  case AGVK_Max:
+  case AGVK_Min:
+    // Variadic: any number of operands (the parser already requires >= 1).
+    return 0;
+  case AGVK_Lit:
+  case AGVK_Lit64:
+  case AGVK_InstPrefSize:
+    return 1;
+  case AGVK_TotalNumVGPRs:
+  case AGVK_AlignTo:
+    return 2;
+  case AGVK_ExtraSGPRs:
+    return 3;
+  case AGVK_Occupancy:
+    return 9;
+  }
+  llvm_unreachable("Unknown AMDGPUMCExpr kind.");
----------------
shiltian wrote:

```suggestion
  llvm_unreachable("unknown AMDGPUMCExpr kind.");
```

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


More information about the llvm-commits mailing list