[llvm] 7b75110 - [SCEV] Turn validity check in getExistingSCEV into assert (NFC).
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 28 04:17:26 PST 2021
Author: Florian Hahn
Date: 2021-11-28T12:16:55Z
New Revision: 7b75110fac979be24eed0178caa9d1f8c68e14eb
URL: https://github.com/llvm/llvm-project/commit/7b75110fac979be24eed0178caa9d1f8c68e14eb
DIFF: https://github.com/llvm/llvm-project/commit/7b75110fac979be24eed0178caa9d1f8c68e14eb.diff
LOG: [SCEV] Turn validity check in getExistingSCEV into assert (NFC).
Now that we track users of SCEV expressions, we should be able to always
invalidate containing expressions.
With that, I think the case where a value gets removed but
SCEVs containing references to it should not be possible any longer.
Turn check into an assert.
This slightly reduces compile-time:
NewPM-O3: -0.27%
NewPM-ReleaseThinLTO: -0.21%
NewPM-ReleaseLTO-g: -0.26%
http://llvm-compile-time-tracker.com/compare.php?from=c3dc6b081da6ba503e67d260033f81f61eb38ea3&to=95a4a028b1f1dd0bc3d221435953b7d2c031b3d5&stat=instructions
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D114633
Added:
Modified:
llvm/lib/Analysis/ScalarEvolution.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index f41b89517abcb..8007cefc4bd79 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -4146,10 +4146,9 @@ const SCEV *ScalarEvolution::getExistingSCEV(Value *V) {
ValueExprMapType::iterator I = ValueExprMap.find_as(V);
if (I != ValueExprMap.end()) {
const SCEV *S = I->second;
- if (checkValidity(S))
- return S;
- eraseValueFromMap(V);
- forgetMemoizedResults(S);
+ assert(checkValidity(S) &&
+ "existing SCEV has not been properly invalidated");
+ return S;
}
return nullptr;
}
More information about the llvm-commits
mailing list