aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis/ScalarEvolution.h
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
commitf3a060a607765698d9e794627435a717311fa002 (patch)
tree9d004368211ce140a476954a0d8164d83c30de45 /include/llvm/Analysis/ScalarEvolution.h
parent215d56ebe19f169da2552b1ec73ea179e53f6bf1 (diff)
downloadexternal_llvm-f3a060a607765698d9e794627435a717311fa002.tar.gz
external_llvm-f3a060a607765698d9e794627435a717311fa002.tar.bz2
external_llvm-f3a060a607765698d9e794627435a717311fa002.zip
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/llvm/Analysis/ScalarEvolution.h')
-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.