From fc243d54d2048bec081a6c0257288306960f3e49 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Mon, 1 Sep 2014 06:03:11 +0000 Subject: Ignore lifetime intrinsics in use list for MemCpyOptimizer. Patch by Luqman Aden, review by Hal Finkel. llvm-svn: 216865 --- llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/lib/Transforms') diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp index 7c184a4ad2c..b1a2ed39f24 100644 --- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp +++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp @@ -679,6 +679,10 @@ bool MemCpyOpt::performCallSlotOptzn(Instruction *cpy, srcUseList.push_back(UU); else return false; + } else if (const IntrinsicInst *IT = dyn_cast(U)) { + if (IT->getIntrinsicID() != Intrinsic::lifetime_start && + IT->getIntrinsicID() != Intrinsic::lifetime_end) + continue; } else if (U != C && U != cpy) { return false; } -- cgit v1.2.3