diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2011-11-09 07:11:37 +0000 | 
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2011-11-09 07:11:37 +0000 | 
| commit | 0485d51a764f41ed4f65e7af4358c531fd7d74d9 (patch) | |
| tree | 85a89ff76f543e40525d6aa107ba4c81cd69ad1f /llvm/lib/Analysis | |
| parent | fa4520968b1cfa1e4010d28581f8a3564d908860 (diff) | |
| download | bcm5719-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.cpp | 5 | 
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()); | 

