diff options
Diffstat (limited to 'lib/Transforms/Scalar/InstructionCombining.cpp')
-rw-r--r-- | lib/Transforms/Scalar/InstructionCombining.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 1e4baf7db3..5b477b3a40 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<ConstantInt>(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) { |