diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2007-09-27 14:12:54 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2007-09-27 14:12:54 +0000 |
commit | 9a2f93121b31bf6345d1552bdc43037f89714d86 (patch) | |
tree | 03e09ec0b003b8c2de973c25e6db2d1aa1554202 /lib/Analysis/ScalarEvolution.cpp | |
parent | 0678f60bf2597b1be126a246ad61486449de220d (diff) |
Build the correct range for loops with unusual bounds. Fix from Jay Foad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42394 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ScalarEvolution.cpp')
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index aaba49eacd..069f6ec714 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -2470,7 +2470,7 @@ SCEVHandle SCEVAddRecExpr::getNumIterationsInRange(ConstantRange Range) const { APInt End = A.sge(One) ? (Range.getUpper() - One) : Range.getLower(); // The exit value should be (End+A)/A. - APInt ExitVal = (End + A).sdiv(A); + APInt ExitVal = (End + A).udiv(A); ConstantInt *ExitValue = ConstantInt::get(ExitVal); // Evaluate at the exit value. If we really did fall out of the valid |