Index: llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp =================================================================== --- llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp +++ llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp @@ -37,7 +37,7 @@ if (BinaryOperator *I = dyn_cast(Val)) { // Cannot look past anything that might overflow. OverflowingBinaryOperator *OBI = dyn_cast(Val); - if (OBI && !OBI->hasNoUnsignedWrap() && !OBI->hasNoSignedWrap()) { + if (OBI && !OBI->hasNoUnsignedWrap()) { Scale = 1; Offset = 0; return Val; Index: llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll =================================================================== --- llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll +++ llvm/test/Transforms/InstCombine/2011-06-13-nsw-alloca.ll @@ -15,9 +15,9 @@ ;