[llvm] [UniformityAnalysis] Add CallbackVH to keep UniformValues consistent on value deletion (PR #187658)

Juan Manuel Martinez CaamaƱo via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 9 06:57:18 PDT 2026


================
@@ -107,6 +143,15 @@ template <> void llvm::GenericUniformityAnalysisImpl<SSAContext>::initialize() {
     pushUsers(Arg);
 }
 
+template <>
+void llvm::GenericUniformityAnalysisImpl<SSAContext>::registerCallbacks() {
+  IRUniformValueCallbackManager *Manager =
+      new IRUniformValueCallbackManager(UniformValues);
+  for (const Value *V : UniformValues)
+    Manager->registerValue(V);
+  UniformValueCallbacks.reset(Manager);
----------------
jmmartinez wrote:

```suggestion
  std::unique_ptr<IRUniformValueCallbackManager> Manager =
      make_unique<IRUniformValueCallbackManager>(UniformValues);
  for (const Value *V : UniformValues)
    Manager->registerValue(V);
  UniformValueCallbacks = std::move(Manager);
```

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


More information about the llvm-commits mailing list