Index: llvm/trunk/lib/Target/AMDGPU/SITypeRewriter.cpp =================================================================== --- llvm/trunk/lib/Target/AMDGPU/SITypeRewriter.cpp +++ llvm/trunk/lib/Target/AMDGPU/SITypeRewriter.cpp @@ -98,6 +98,9 @@ SmallVector Types; bool NeedToReplace = false; Function *F = I.getCalledFunction(); + if (!F) + return; + std::string Name = F->getName(); for (unsigned i = 0, e = I.getNumArgOperands(); i != e; ++i) { Value *Arg = I.getArgOperand(i); Index: llvm/trunk/test/CodeGen/AMDGPU/inline-asm.ll =================================================================== --- llvm/trunk/test/CodeGen/AMDGPU/inline-asm.ll +++ llvm/trunk/test/CodeGen/AMDGPU/inline-asm.ll @@ -10,3 +10,14 @@ call void asm sideeffect "s_endpgm", ""() ret void } + +; CHECK: {{^}}inline_asm_shader: +; CHECK: s_endpgm +; CHECK: s_endpgm +define void @inline_asm_shader() #0 { +entry: + call void asm sideeffect "s_endpgm", ""() + ret void +} + +attributes #0 = { "ShaderType"="0" }