[llvm] r303314 - [Statistics] Use Statistic::operator+= instead of adding and assigning separately.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed May 17 16:22:11 PDT 2017
Author: ctopper
Date: Wed May 17 18:22:10 2017
New Revision: 303314
URL: http://llvm.org/viewvc/llvm-project?rev=303314&view=rev
Log:
[Statistics] Use Statistic::operator+= instead of adding and assigning separately.
I believe this technically fixes a multithreaded race condition in this code. But my primary concern was as part of looking at removing the ability to treat Statistics like a plain unsigned. There are many weird operations on Statistics in the codebase.
Modified:
llvm/trunk/lib/Transforms/Scalar/EarlyCSE.cpp
llvm/trunk/lib/Transforms/Scalar/LoadCombine.cpp
Modified: llvm/trunk/lib/Transforms/Scalar/EarlyCSE.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/EarlyCSE.cpp?rev=303314&r1=303313&r2=303314&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/EarlyCSE.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/EarlyCSE.cpp Wed May 17 18:22:10 2017
@@ -606,7 +606,7 @@ bool EarlyCSE::processNode(DomTreeNode *
if (unsigned Count = replaceDominatedUsesWith(
CondInst, TorF, DT, BasicBlockEdge(Pred, BB))) {
Changed = true;
- NumCSECVP = NumCSECVP + Count;
+ NumCSECVP += Count;
}
}
}
Modified: llvm/trunk/lib/Transforms/Scalar/LoadCombine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoadCombine.cpp?rev=303314&r1=303313&r2=303314&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/LoadCombine.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/LoadCombine.cpp Wed May 17 18:22:10 2017
@@ -228,7 +228,7 @@ bool LoadCombine::combineLoads(SmallVect
L.Load->replaceAllUsesWith(V);
}
- NumLoadsCombined = NumLoadsCombined + Loads.size();
+ NumLoadsCombined += Loads.size();
return true;
}
More information about the llvm-commits
mailing list