diff options
author | Nikita Popov <npopov@redhat.com> | 2023-04-27 12:57:28 +0200 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2023-04-27 15:18:07 +0200 |
commit | fa0014a68bb452ff12af6e4af5e6e919dbe8584b (patch) | |
tree | c6b1d7ab538fb2a83e9d75f10657bf04e461472a /llvm/lib/Analysis/ScalarEvolution.cpp | |
parent | 079c525f206228c3343048bb5a74a8e9a428de1a (diff) | |
download | llvm-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.cpp | 5 |
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 |