aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis/ScalarEvolutionExpressions.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-07-10 16:42:52 +0000
committerDan Gohman <gohman@apple.com>2009-07-10 16:42:52 +0000
commit1b342583f6fc42f548912632f6aa24fc6e11986a (patch)
tree9eb60b46c5918990509c32d8147f954ca535bd8e /include/llvm/Analysis/ScalarEvolutionExpressions.h
parent16a412edb6d279bb5fbffba3ff1a6c914e478aaf (diff)
downloadexternal_llvm-1b342583f6fc42f548912632f6aa24fc6e11986a.zip
external_llvm-1b342583f6fc42f548912632f6aa24fc6e11986a.tar.gz
external_llvm-1b342583f6fc42f548912632f6aa24fc6e11986a.tar.bz2
Generalize ScalarEvolution's cast-folding code to support more kinds
of loops. Add several new functions to for working with ScalarEvolution's add-hoc value-range analysis functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75252 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/ScalarEvolutionExpressions.h')
-rw-r--r--include/llvm/Analysis/ScalarEvolutionExpressions.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h
index d564040..e87d063 100644
--- a/include/llvm/Analysis/ScalarEvolutionExpressions.h
+++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h
@@ -453,6 +453,12 @@ namespace llvm {
const SCEV *Conc,
ScalarEvolution &SE) const;
+ /// getPostIncExpr - Return an expression representing the value of
+ /// this expression one iteration of the loop ahead.
+ const SCEV *getPostIncExpr(ScalarEvolution &SE) const {
+ return SE.getAddExpr(this, getStepRecurrence(SE));
+ }
+
virtual void print(raw_ostream &OS) const;
/// Methods for support type inquiry through isa, cast, and dyn_cast: