aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/InstructionCombining.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Scalar/InstructionCombining.cpp')
-rw-r--r--lib/Transforms/Scalar/InstructionCombining.cpp5
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) {