summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-02-28 05:40:55 +0000
committerChris Lattner <sabre@nondot.org>2006-02-28 05:40:55 +0000
commit6c9951b0da0e534664018e0fdb81606e714ff63c (patch)
tree8952ef34001020552d7bebb8e2b00df328899c5d /lib
parente7f2aa74c0e95802a60a87468864817079863ef3 (diff)
downloadllvm-6c9951b0da0e534664018e0fdb81606e714ff63c.tar.gz
llvm-6c9951b0da0e534664018e0fdb81606e714ff63c.tar.bz2
llvm-6c9951b0da0e534664018e0fdb81606e714ff63c.tar.xz
Simplify some code now that the RHS of a rem can't be 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26413 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Transforms/Scalar/InstructionCombining.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp
index 80444028d2..3caa4cf10e 100644
--- a/lib/Transforms/Scalar/InstructionCombining.cpp
+++ b/lib/Transforms/Scalar/InstructionCombining.cpp
@@ -1867,14 +1867,12 @@ Instruction *InstCombiner::visitRem(BinaryOperator &I) {
if (isPowerOf2_64(C->getValue()))
return BinaryOperator::createAnd(Op0, SubOne(C));
- if (!RHS->isNullValue()) {
- if (SelectInst *SI = dyn_cast<SelectInst>(Op0))
- if (Instruction *R = FoldOpIntoSelect(I, SI, this))
- return R;
- if (isa<PHINode>(Op0))
- if (Instruction *NV = FoldOpIntoPhi(I))
- return NV;
- }
+ if (SelectInst *SI = dyn_cast<SelectInst>(Op0))
+ if (Instruction *R = FoldOpIntoSelect(I, SI, this))
+ return R;
+ if (isa<PHINode>(Op0))
+ if (Instruction *NV = FoldOpIntoPhi(I))
+ return NV;
}
if (Instruction *RHSI = dyn_cast<Instruction>(I.getOperand(1))) {