[llvm] [AMDGPU] Fix hw stage metadata setting for unsigned values (PR #154502)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 22 08:07:56 PDT 2025


================
@@ -1061,6 +1061,17 @@ VersionTuple AMDGPUPALMetadata::getPALVersion() {
   return VersionTuple(getPALVersion(0), getPALVersion(1));
 }
 
+// Set the field in a given .hardware_stages entry to a maximum value
+void AMDGPUPALMetadata::updateHwStageMaximum(unsigned CC, StringRef field,
+                                             unsigned Val) {
+  msgpack::MapDocNode HwStageFieldMapNode = getHwStage(CC);
+  auto It = HwStageFieldMapNode.find(field);
+  if (It == HwStageFieldMapNode.end())
+    HwStageFieldMapNode[field] = Val;
+  else
+    It->second = std::max<unsigned>(It->second.getUInt(), Val);
----------------
jayfoad wrote:

Can you do something like:
```suggestion
  auto &Node = HwStageFieldMapNode[field];
  if (Node.isEmpty())
    Node = Val;
  else
    Node = std::max<unsigned>(Node.getUInt(), Val);
```

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


More information about the llvm-commits mailing list