From: Sanjoy Das <sanjoy@playingwithpointers.com>
Date: Fri, 23 Oct 2015 20:09:57 +0000 (+0000)
Subject: [SCEV] Fix stylistic issue in MatchBinaryAddToConst; NFCI
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=cf0160bc3b361cabec58be5746431f64d35eb2e9;p=oota-llvm.git

[SCEV] Fix stylistic issue in MatchBinaryAddToConst; NFCI

Instead of checking `(FlagsPresent & ExpectedFlags) != 0`, check
`(FlagsPresent & ExpectedFlags) == ExpectedFlags`.  Right now they're
equivalent since `ExpectedFlags` can only be either `FlagNUW` or
`FlagNSW`, but if we ever pass in `ExpectedFlags` as `FlagNUW | FlagNSW`
then checking `(FlagsPresent & ExpectedFlags) != 0` would be wrong.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251142 91177308-0d34-0410-b5e6-96231b3b80d8
---

diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index 1ea1876576f..ee08c810713 100644
--- a/lib/Analysis/ScalarEvolution.cpp
+++ b/lib/Analysis/ScalarEvolution.cpp
@@ -7191,7 +7191,7 @@ bool ScalarEvolution::isKnownPredicateViaNoOverflow(ICmpInst::Predicate Pred,
       return false;
 
     OutY = cast<SCEVConstant>(ConstOp)->getValue()->getValue();
-    return (FlagsPresent & ExpectedFlags) != 0;
+    return (FlagsPresent & ExpectedFlags) == ExpectedFlags;
   };
 
   APInt C;