commit | b6e7cd655c6ee119dbeacc321ee92387f983edb0 | [log] [tgz] |
---|---|---|
author | Eli Friedman <eli.friedman@gmail.com> | Thu May 05 21:59:18 2011 +0000 |
committer | Eli Friedman <eli.friedman@gmail.com> | Thu May 05 21:59:18 2011 +0000 |
tree | e1aa6692a280bb8f1768af8804b5a3265a424acd | |
parent | 108709d4d1ff02317972956540dad571bdf43e95 [diff] [blame] |
PR9838: Fix transform introduced in r127064 to not trigger when only one side of the icmp is an exact shift. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130954 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/InstCombine/InstCombineCompares.cpp b/lib/Transforms/InstCombine/InstCombineCompares.cpp index bb9b88b..b6963c5 100644 --- a/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/lib/Transforms/InstCombine/InstCombineCompares.cpp
@@ -2400,7 +2400,7 @@ // fall-through case Instruction::SDiv: case Instruction::AShr: - if (!BO0->isExact() && !BO1->isExact()) + if (!BO0->isExact() || !BO1->isExact()) break; return new ICmpInst(I.getPredicate(), BO0->getOperand(0), BO1->getOperand(0));