summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-04-09 06:12:34 +0000
committerCraig Topper <craig.topper@gmail.com>2017-04-09 06:12:34 +0000
commit437c97622b8d7b576f270b807e493bc076f36767 (patch)
tree8d54127ed4eee1dede278a25e403fd12efd1af86 /llvm/lib
parent9d1821b262e682665a7c1d626e7a12427bde34f9 (diff)
downloadbcm5719-llvm-437c97622b8d7b576f270b807e493bc076f36767.tar.gz
bcm5719-llvm-437c97622b8d7b576f270b807e493bc076f36767.zip
[InstCombine] Use the SubOne helper function to shorten some code. NFC
llvm-svn: 299819
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
index 87d2ac1abe1..62fad853908 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -2467,9 +2467,8 @@ Instruction *InstCombiner::visitXor(BinaryOperator &I) {
if (Op0I->getOpcode() == Instruction::Sub && RHSC->isAllOnesValue())
if (Constant *Op0I0C = dyn_cast<Constant>(Op0I->getOperand(0))) {
Constant *NegOp0I0C = ConstantExpr::getNeg(Op0I0C);
- Constant *ConstantRHS = ConstantExpr::getSub(NegOp0I0C,
- ConstantInt::get(I.getType(), 1));
- return BinaryOperator::CreateAdd(Op0I->getOperand(1), ConstantRHS);
+ return BinaryOperator::CreateAdd(Op0I->getOperand(1),
+ SubOne(NegOp0I0C));
}
if (ConstantInt *Op0CI = dyn_cast<ConstantInt>(Op0I->getOperand(1))) {
@@ -2477,10 +2476,8 @@ Instruction *InstCombiner::visitXor(BinaryOperator &I) {
// ~(X-c) --> (-c-1)-X
if (RHSC->isAllOnesValue()) {
Constant *NegOp0CI = ConstantExpr::getNeg(Op0CI);
- return BinaryOperator::CreateSub(
- ConstantExpr::getSub(NegOp0CI,
- ConstantInt::get(I.getType(), 1)),
- Op0I->getOperand(0));
+ return BinaryOperator::CreateSub(SubOne(NegOp0CI),
+ Op0I->getOperand(0));
} else if (RHSC->getValue().isSignBit()) {
// (X + C) ^ signbit -> (X + C + signbit)
Constant *C = Builder->getInt(RHSC->getValue() + Op0CI->getValue());
OpenPOWER on IntegriCloud