[llvm] [NewGVN] Prevent cyclic dependencies by ensuring Leader has min RPO number (PR #82110)

Alina Sbirlea via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 27 07:45:16 PST 2024


================
@@ -311,15 +312,21 @@ class CongruenceClass {
   }
 
   // Leader functions
-  Value *getLeader() const { return RepLeader; }
-  void setLeader(Value *Leader) { RepLeader = Leader; }
+  Value *getLeader() const { return RepLeader.first; }
+  void setLeader(std::pair<Value *, unsigned int> Leader) {
+    RepLeader = Leader;
+  }
   const std::pair<Value *, unsigned int> &getNextLeader() const {
----------------
alinas wrote:

This can be a separate NFC: I see no use for having getNextLeader return the pair, could return the .first like getLeader().

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


More information about the llvm-commits mailing list