summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-11-09 07:11:37 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-11-09 07:11:37 +0000
commit0485d51a764f41ed4f65e7af4358c531fd7d74d9 (patch)
tree85a89ff76f543e40525d6aa107ba4c81cd69ad1f /llvm/lib/Analysis
parentfa4520968b1cfa1e4010d28581f8a3564d908860 (diff)
downloadbcm5719-llvm-0485d51a764f41ed4f65e7af4358c531fd7d74d9.tar.gz
bcm5719-llvm-0485d51a764f41ed4f65e7af4358c531fd7d74d9.zip
Don't forget to check FlagNW when determining whether an AddRecExpr will wrap
or not. Patch by Brendon Cahoon! llvm-svn: 144173
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r--llvm/lib/Analysis/ScalarEvolution.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index f65cf343355..b940d93d6ee 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -6228,8 +6228,9 @@ ScalarEvolution::HowManyLessThans(const SCEV *LHS, const SCEV *RHS,
return getCouldNotCompute();
// Check to see if we have a flag which makes analysis easy.
- bool NoWrap = isSigned ? AddRec->getNoWrapFlags(SCEV::FlagNSW) :
- AddRec->getNoWrapFlags(SCEV::FlagNUW);
+ bool NoWrap = isSigned ?
+ AddRec->getNoWrapFlags((SCEV::NoWrapFlags)(SCEV::FlagNSW | SCEV::FlagNW)) :
+ AddRec->getNoWrapFlags((SCEV::NoWrapFlags)(SCEV::FlagNUW | SCEV::FlagNW));
if (AddRec->isAffine()) {
unsigned BitWidth = getTypeSizeInBits(AddRec->getType());
OpenPOWER on IntegriCloud