summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-02-17 20:49:49 +0000
committerDan Gohman <gohman@apple.com>2009-02-17 20:49:49 +0000
commit60f8a63e2502d57e879bf52a4a48505b74fa9716 (patch)
tree9d004368211ce140a476954a0d8164d83c30de45 /include
parenta84f47c3e7bd1ba161ca46b64bd2469d49593320 (diff)
downloadllvm-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.h5
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.