From: Tom Stellard Date: Thu, 5 Sep 2013 18:37:45 +0000 (+0000) Subject: R600: Fix segfault in R600TextureIntrinsicReplacer X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=791cdd5fe08162f982e013057b587c9a8ff0bd03;p=oota-llvm.git R600: Fix segfault in R600TextureIntrinsicReplacer This pass was segfaulting when it ran into a non-intrinsic function call. Function calls are not supported, so now instead of segfaulting, we will get an assertion failure with a nice error message. I'm not sure how to test this using lit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190076 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp b/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp index 37d90596bd8..d4b8ec01c55 100644 --- a/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp +++ b/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp @@ -260,6 +260,9 @@ public: } void visitCallInst(CallInst &I) { + if (!I.getCalledFunction()) { + return; + } StringRef Name = I.getCalledFunction()->getName(); if (Name == "llvm.AMDGPU.tex") { ReplaceTexIntrinsic(I, false, TexSign, "llvm.R600.tex", "llvm.R600.texc");