[PATCH] D68194: [LCSSA] Forget values we create LCSSA phis for

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 7 15:04:37 PDT 2019


efriedma added a comment.

> I know this contradicts existing code in SCEV that tries not to break LCSSA, I'm wondering if we should just remove those in favor of teaching SCEV expander about preserving LCSSA.

Currently, SCEV deliberately doesn't look through LCSSA PHI nodes (there's code in ScalarEvolution::createNodeForPHI etc.).  You're saying we should change that?  It might be a good idea.  I recently ran into an performance issue involving a nested loop where SCEV for the outer loop was getting confused by an LCSSA PHI for the inner loop.  I'd be worried about loop passes getting confused, though; for example, if they assume all AddRecs are part of the current loop nest.

That said, this patch probably isn't the right place to have that discussion.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68194/new/

https://reviews.llvm.org/D68194





More information about the llvm-commits mailing list