aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ScalarEvolution.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-04-27 12:57:28 +0200
committerNikita Popov <npopov@redhat.com>2023-04-27 15:18:07 +0200
commitfa0014a68bb452ff12af6e4af5e6e919dbe8584b (patch)
treec6b1d7ab538fb2a83e9d75f10657bf04e461472a /llvm/lib/Analysis/ScalarEvolution.cpp
parent079c525f206228c3343048bb5a74a8e9a428de1a (diff)
downloadllvm-fa0014a68bb452ff12af6e4af5e6e919dbe8584b.zip
llvm-fa0014a68bb452ff12af6e4af5e6e919dbe8584b.tar.gz
llvm-fa0014a68bb452ff12af6e4af5e6e919dbe8584b.tar.bz2
[SCEV] Drop LCSSA check in createNodeFromSelectLikePHI()
SCEV expressions no longer try to preserve LCSSA form. SCEV construction will try to look through LCSSA phi nodes. As such, we also no longer need to limit this special-case fold.
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolution.cpp')
-rw-r--r--llvm/lib/Analysis/ScalarEvolution.cpp5
1 files changed, 0 insertions, 5 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index d7aeb0b..3edd4f7 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -6013,11 +6013,6 @@ const SCEV *ScalarEvolution::createNodeFromSelectLikePHI(PHINode *PN) {
if (PN->getNumIncomingValues() == 2 && all_of(PN->blocks(), IsReachable)) {
const Loop *L = LI.getLoopFor(PN->getParent());
- // We don't want to break LCSSA, even in a SCEV expression tree.
- for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)
- if (LI.getLoopFor(PN->getIncomingBlock(i)) != L)
- return nullptr;
-
// Try to match
//
// br %cond, label %left, label %right