[PATCH] D44677: [SCEV] Make computeExitLimit more simple and more powerful

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 26 12:16:28 PDT 2018


efriedma added a comment.

computeExitLimit's logic shouldn't care if the exiting block is inside a nested loop, as long as the condition is invariant relative to the inner loop.  (This should work correctly, as far as I can tell; if it doesn't, it would be easy to fix.) So the question is if there's some invariant related to the caching?

The comment for forgetLoop says "This method should be called by the client when it has changed a loop in a way that may effect ScalarEvolution's ability to compute a trip count".  We could try to restrict this, bit I'm not sure what restriction would actually be useful.  I can't imagine any formulation which doesn't require calling forgetLoop when a branch that exits that loop is added/removed/modified.


Repository:
  rL LLVM

https://reviews.llvm.org/D44677





More information about the llvm-commits mailing list