diff --git a/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp b/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp @@ -1730,7 +1730,9 @@ // Ignore non-calls. CallInst *CI = dyn_cast(I); ++I; - if (!CI) continue; + // Ignore intrinsics that do not become real instructions. + if (!CI || isa(CI) || !CI->isLifetimeStartOrEnd()) + continue; // Ignore indirect calls. Function *Callee = CI->getCalledFunction();