diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-12-02 06:22:04 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-12-02 06:22:04 +0000 |
commit | d16c6e999366ccd3ec7dc982a72df203d3aab406 (patch) | |
tree | 37e75015f92608d2355e1b15eea3f822af9c92a6 /lib/Transforms | |
parent | 29976b9e12a4a86be51008b63e45d1b4d8b9e42f (diff) | |
download | external_llvm-d16c6e999366ccd3ec7dc982a72df203d3aab406.zip external_llvm-d16c6e999366ccd3ec7dc982a72df203d3aab406.tar.gz external_llvm-d16c6e999366ccd3ec7dc982a72df203d3aab406.tar.bz2 |
Merge two if-statements into one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60402 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Scalar/InstructionCombining.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index db2c997..b382731 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -4443,14 +4443,10 @@ Instruction *InstCombiner::FoldOrWithConstants(BinaryOperator &I, Value *Op, APInt Xor = CI1->getValue() ^ CI2->getValue(); if (!Xor.isAllOnesValue()) return 0; - if (V1 == B) { + if (V1 == A || V1 == B) Instruction *NewOp = - InsertNewInstBefore(BinaryOperator::CreateAnd(A, CI1), I); - return BinaryOperator::CreateOr(NewOp, B); - } else if (V1 == A) { - Instruction *NewOp = - InsertNewInstBefore(BinaryOperator::CreateAnd(B, CI1), I); - return BinaryOperator::CreateOr(NewOp, A); + InsertNewInstBefore(BinaryOperator::CreateAnd((V1 == A) ? B : A, CI1), I); + return BinaryOperator::CreateOr(NewOp, V1); } return 0; |