diff options
author | Dan Gohman <gohman@apple.com> | 2009-09-17 18:05:20 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-09-17 18:05:20 +0000 |
commit | c20e8bfb90176ee9cd27b027c11a3c8c9c117dd6 (patch) | |
tree | 0d7e9d9548abac5b768f7bc42fabb8da8d8f0a96 /include | |
parent | 47472be0fc842626bbc7103ca8c2d724c213d67e (diff) | |
download | external_llvm-c20e8bfb90176ee9cd27b027c11a3c8c9c117dd6.zip external_llvm-c20e8bfb90176ee9cd27b027c11a3c8c9c117dd6.tar.gz external_llvm-c20e8bfb90176ee9cd27b027c11a3c8c9c117dd6.tar.bz2 |
Teach ScalarEvolution how to reason about no-wrap flags on loops
where the induction variable has a non-unit stride, such as {0,+,2}, and
there are expressions such as {1,+,2} inside the loop formed with
or or add nsw operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82151 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/ScalarEvolution.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h index e3be8ee..548f8f6 100644 --- a/include/llvm/Analysis/ScalarEvolution.h +++ b/include/llvm/Analysis/ScalarEvolution.h @@ -253,7 +253,8 @@ namespace llvm { /// CouldNotCompute if an intermediate computation overflows. const SCEV *getBECount(const SCEV *Start, const SCEV *End, - const SCEV *Step); + const SCEV *Step, + bool NoWrap); /// getBackedgeTakenInfo - Return the BackedgeTakenInfo for the given /// loop, lazily computing new values if the loop hasn't been analyzed |