[Mesa-dev] [PATCH] R600: Fix segfault in R600TextureIntrinsicReplacer
Tom Stellard
tom at stellard.net
Wed Aug 21 11:33:30 PDT 2013
From: Tom Stellard <thomas.stellard at amd.com>
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.
---
lib/Target/R600/R600TextureIntrinsicsReplacer.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp b/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp
index 37d9059..d4b8ec0 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");
--
1.7.11.4
More information about the mesa-dev
mailing list