SCEV: Actually set overflow flags on add expressions.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sun, 20 Nov 2011 10:24:36 +0000 (10:24 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sun, 20 Nov 2011 10:24:36 +0000 (10:24 +0000)
setFlags doesn't modify its arguments.

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

lib/Analysis/ScalarEvolution.cpp

index 77defa82e719f36a4d790450230e1951225d8b8f..622b214aed5e5b7b5a5d85c56583a5a2e63fad53 100644 (file)
@@ -3601,9 +3601,9 @@ const SCEV *ScalarEvolution::createSCEV(Value *V) {
     SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap;
     OverflowingBinaryOperator *OBO = cast<OverflowingBinaryOperator>(V);
     if (OBO->hasNoSignedWrap())
-      setFlags(Flags, SCEV::FlagNSW);
+      Flags = setFlags(Flags, SCEV::FlagNSW);
     if (OBO->hasNoUnsignedWrap())
-      setFlags(Flags, SCEV::FlagNUW);
+      Flags = setFlags(Flags, SCEV::FlagNUW);
     return getAddExpr(AddOps, Flags);
   }
   case Instruction::Mul: {