diff --git a/llvm/lib/Transforms/Scalar/NewGVN.cpp b/llvm/lib/Transforms/Scalar/NewGVN.cpp --- a/llvm/lib/Transforms/Scalar/NewGVN.cpp +++ b/llvm/lib/Transforms/Scalar/NewGVN.cpp @@ -4109,7 +4109,7 @@ U->set(DominatingLeader); // This is now a use of the dominating leader, which means if the // dominating leader was dead, it's now live! - auto &LeaderUseCount = UseCounts[DominatingLeader]; + auto LeaderUseCount = UseCounts[DominatingLeader]; // It's about to be alive again. if (LeaderUseCount == 0 && isa(DominatingLeader)) ProbablyDead.erase(cast(DominatingLeader)); @@ -4120,7 +4120,7 @@ if (--IIUseCount == 0) ProbablyDead.insert(II); } - ++LeaderUseCount; + ++UseCounts[DominatingLeader]; AnythingReplaced = true; } }