diff options
author | Chris Lattner <sabre@nondot.org> | 2006-02-28 05:40:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-02-28 05:40:55 +0000 |
commit | 6c9951b0da0e534664018e0fdb81606e714ff63c (patch) | |
tree | 8952ef34001020552d7bebb8e2b00df328899c5d /lib | |
parent | e7f2aa74c0e95802a60a87468864817079863ef3 (diff) | |
download | llvm-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.cpp | 14 |
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))) { |