aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2017-10-13 17:00:47 +0000
committerSanjay Patel <spatel@rotateright.com>2017-10-13 17:00:47 +0000
commit963cef7a18da8c3d97a57aa1c0febecc1365701e (patch)
tree56182e683167a95344c4bfc4f8b1c201dac078f9 /lib/Transforms
parent2f9a6e36381ecb3f54cc5fd5c780aba21b9f150d (diff)
downloadllvm-963cef7a18da8c3d97a57aa1c0febecc1365701e.tar.gz
[InstCombine] use AddOne helper to reduce code; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315709 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/InstCombine/InstCombineAddSub.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/Transforms/InstCombine/InstCombineAddSub.cpp b/lib/Transforms/InstCombine/InstCombineAddSub.cpp
index 75cc683b7a6..92452d7df73 100644
--- a/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+++ b/lib/Transforms/InstCombine/InstCombineAddSub.cpp
@@ -960,13 +960,9 @@ Instruction *InstCombiner::foldAddWithConstant(BinaryOperator &Add) {
return NV;
Value *X;
- Type *Ty = Add.getType();
- if (match(Op0, m_ZExt(m_Value(X))) &&
- X->getType()->getScalarSizeInBits() == 1) {
+ if (match(Op0, m_ZExt(m_Value(X))) && X->getType()->getScalarSizeInBits() == 1)
// zext(bool) + C -> bool ? C + 1 : C
- Constant *One = ConstantInt::get(Ty, 1);
- return SelectInst::Create(X, ConstantExpr::getAdd(Op1C, One), Op1);
- }
+ return SelectInst::Create(X, AddOne(Op1C), Op1);
const APInt *C;
if (!match(Op1, m_APInt(C)))
@@ -985,6 +981,7 @@ Instruction *InstCombiner::foldAddWithConstant(BinaryOperator &Add) {
// Is this add the last step in a convoluted sext?
// add(zext(xor i16 X, -32768), -32768) --> sext X
+ Type *Ty = Add.getType();
const APInt *C2;
if (match(Op0, m_ZExt(m_Xor(m_Value(X), m_APInt(C2)))) &&
C2->isMinSignedValue() && C2->sext(Ty->getScalarSizeInBits()) == *C)