diff options
author | Dan Gohman <gohman@apple.com> | 2009-02-17 20:49:49 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-02-17 20:49:49 +0000 |
commit | 60f8a63e2502d57e879bf52a4a48505b74fa9716 (patch) | |
tree | 9d004368211ce140a476954a0d8164d83c30de45 /include | |
parent | a84f47c3e7bd1ba161ca46b64bd2469d49593320 (diff) | |
download | llvm-60f8a63e2502d57e879bf52a4a48505b74fa9716.tar.gz llvm-60f8a63e2502d57e879bf52a4a48505b74fa9716.tar.bz2 llvm-60f8a63e2502d57e879bf52a4a48505b74fa9716.tar.xz |
Add a method to ScalarEvolution for telling it when a loop has been
modified in a way that may effect the trip count calculation. Change
IndVars to use this method when it rewrites pointer or floating-point
induction variables instead of using a doInitialization method to
sneak these changes in before ScalarEvolution has a chance to see
the loop. This eliminates the need for LoopPass to depend on
ScalarEvolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64810 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/ScalarEvolution.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h index d94329d265..963117fdd5 100644 --- a/include/llvm/Analysis/ScalarEvolution.h +++ b/include/llvm/Analysis/ScalarEvolution.h @@ -301,6 +301,11 @@ namespace llvm { /// an analyzable loop-invariant iteration count. bool hasLoopInvariantIterationCount(const Loop *L) const; + /// forgetLoopIterationCount - 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. + void forgetLoopIterationCount(const Loop *L); + /// deleteValueFromRecords - This method should be called by the /// client before it removes a Value from the program, to make sure /// that no dangling references are left around. |