diff options
| author | Vedant Kumar <vsk@apple.com> | 2018-12-21 21:49:40 +0000 |
|---|---|---|
| committer | Vedant Kumar <vsk@apple.com> | 2018-12-21 21:49:40 +0000 |
| commit | b264d69de7dfcb94da9719a59bdd2fd3a8063b6a (patch) | |
| tree | f5440f9e50894ba9cea733d240fbc14627ea424a /llvm/lib/Transforms/Scalar/SROA.cpp | |
| parent | 8ed73c20586e073221b4e712a399b10fdb290fa4 (diff) | |
| download | bcm5719-llvm-b264d69de7dfcb94da9719a59bdd2fd3a8063b6a.tar.gz bcm5719-llvm-b264d69de7dfcb94da9719a59bdd2fd3a8063b6a.zip | |
[IR] Add Instruction::isLifetimeStartOrEnd, NFC
Instruction::isLifetimeStartOrEnd() checks whether an Instruction is an
llvm.lifetime.start or an llvm.lifetime.end intrinsic.
This was suggested as a cleanup in D55967.
Differential Revision: https://reviews.llvm.org/D56019
llvm-svn: 349964
Diffstat (limited to 'llvm/lib/Transforms/Scalar/SROA.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/SROA.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/llvm/lib/Transforms/Scalar/SROA.cpp b/llvm/lib/Transforms/Scalar/SROA.cpp index d1a2dc0f89b..eab77cf4cda 100644 --- a/llvm/lib/Transforms/Scalar/SROA.cpp +++ b/llvm/lib/Transforms/Scalar/SROA.cpp @@ -913,8 +913,7 @@ private: if (!IsOffsetKnown) return PI.setAborted(&II); - if (II.getIntrinsicID() == Intrinsic::lifetime_start || - II.getIntrinsicID() == Intrinsic::lifetime_end) { + if (II.isLifetimeStartOrEnd()) { ConstantInt *Length = cast<ConstantInt>(II.getArgOperand(0)); uint64_t Size = std::min(AllocSize - Offset.getLimitedValue(), Length->getLimitedValue()); @@ -1807,8 +1806,7 @@ static bool isVectorPromotionViableForSlice(Partition &P, const Slice &S, if (!S.isSplittable()) return false; // Skip any unsplittable intrinsics. } else if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(U->getUser())) { - if (II->getIntrinsicID() != Intrinsic::lifetime_start && - II->getIntrinsicID() != Intrinsic::lifetime_end) + if (!II->isLifetimeStartOrEnd()) return false; } else if (U->get()->getType()->getPointerElementType()->isStructTy()) { // Disable vector promotion when there are loads or stores of an FCA. @@ -2029,8 +2027,7 @@ static bool isIntegerWideningViableForSlice(const Slice &S, if (!S.isSplittable()) return false; // Skip any unsplittable intrinsics. } else if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(U->getUser())) { - if (II->getIntrinsicID() != Intrinsic::lifetime_start && - II->getIntrinsicID() != Intrinsic::lifetime_end) + if (!II->isLifetimeStartOrEnd()) return false; } else { return false; @@ -3013,8 +3010,7 @@ private: } bool visitIntrinsicInst(IntrinsicInst &II) { - assert(II.getIntrinsicID() == Intrinsic::lifetime_start || - II.getIntrinsicID() == Intrinsic::lifetime_end); + assert(II.isLifetimeStartOrEnd()); LLVM_DEBUG(dbgs() << " original: " << II << "\n"); assert(II.getArgOperand(1) == OldPtr); |

