[llvm] 1c18ebb - [NFC][SCEV] Do not track users of SCEVConstants
Max Kazantsev via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 24 22:33:19 PDT 2021
Author: Max Kazantsev
Date: 2021-10-25T12:30:46+07:00
New Revision: 1c18ebb2cc7c2fbd0be43d9ceaabe52d7317c19d
URL: https://github.com/llvm/llvm-project/commit/1c18ebb2cc7c2fbd0be43d9ceaabe52d7317c19d
DIFF: https://github.com/llvm/llvm-project/commit/1c18ebb2cc7c2fbd0be43d9ceaabe52d7317c19d.diff
LOG: [NFC][SCEV] Do not track users of SCEVConstants
Follow-up from D112295, suggested by Nikita: we can avoid tracking
users of SCEVConstants because dropping their cached info is unlikely
to give any new prospects for fact inference, and it should not introduce
any correctness problems.
Added:
Modified:
llvm/lib/Analysis/ScalarEvolution.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index 7898438399c3..bb80729a2909 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -13304,7 +13304,11 @@ PredicatedScalarEvolution::PredicatedScalarEvolution(ScalarEvolution &SE,
void ScalarEvolution::registerUser(const SCEV *User,
ArrayRef<const SCEV *> Ops) {
for (auto *Op : Ops)
- SCEVUsers[Op].insert(User);
+ // We do not expect that forgetting cached data for SCEVConstants will ever
+ // open any prospects for sharpening or introduce any correctness issues,
+ // so we don't bother storing their dependencies.
+ if (!isa<SCEVConstant>(Op))
+ SCEVUsers[Op].insert(User);
}
const SCEV *PredicatedScalarEvolution::getSCEV(Value *V) {
More information about the llvm-commits
mailing list