diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 1e4baf7db37..5b477b3a409 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -2146,6 +2146,11 @@ Instruction *InstCombiner::visitSetCondInst(BinaryOperator &I) { LoOverflow = HiOverflow = ProdOV; HiBound = cast(ConstantExpr::getSub(Prod, DivRHS)); } + + /// FIXME: This code is disabled, because we do not compile the + /// divisor case < 0 correctly. For example, this code is incorrect + /// in the case of "X/-10 < 1". + LoBound = 0; } if (LoBound) {