[llvm] r182482 - Fix use after free (pr16103).
Rafael Espindola
rafael.espindola at gmail.com
Wed May 22 08:31:11 PDT 2013
Author: rafael
Date: Wed May 22 10:31:11 2013
New Revision: 182482
URL: http://llvm.org/viewvc/llvm-project?rev=182482&view=rev
Log:
Fix use after free (pr16103).
Modified:
llvm/trunk/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp
Modified: llvm/trunk/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp?rev=182482&r1=182481&r2=182482&view=diff
==============================================================================
--- llvm/trunk/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp (original)
+++ llvm/trunk/lib/Target/R600/R600TextureIntrinsicsReplacer.cpp Wed May 22 10:31:11 2013
@@ -259,20 +259,35 @@ public:
}
void visitCallInst(CallInst &I) {
- if (I.getCalledFunction()->getName() == "llvm.AMDGPU.tex")
+ StringRef Name = I.getCalledFunction()->getName();
+ if (Name == "llvm.AMDGPU.tex") {
ReplaceTexIntrinsic(I, false, TexSign, "llvm.R600.tex", "llvm.R600.texc");
- if (I.getCalledFunction()->getName() == "llvm.AMDGPU.txl")
+ return;
+ }
+ if (Name == "llvm.AMDGPU.txl") {
ReplaceTexIntrinsic(I, true, TexSign, "llvm.R600.txl", "llvm.R600.txlc");
- if (I.getCalledFunction()->getName() == "llvm.AMDGPU.txb")
+ return;
+ }
+ if (Name == "llvm.AMDGPU.txb") {
ReplaceTexIntrinsic(I, true, TexSign, "llvm.R600.txb", "llvm.R600.txbc");
- if (I.getCalledFunction()->getName() == "llvm.AMDGPU.txf")
+ return;
+ }
+ if (Name == "llvm.AMDGPU.txf") {
ReplaceTXF(I);
- if (I.getCalledFunction()->getName() == "llvm.AMDGPU.txq")
+ return;
+ }
+ if (Name == "llvm.AMDGPU.txq") {
ReplaceTexIntrinsic(I, false, TexQSign, "llvm.R600.txq", "llvm.R600.txq");
- if (I.getCalledFunction()->getName() == "llvm.AMDGPU.ddx")
+ return;
+ }
+ if (Name == "llvm.AMDGPU.ddx") {
ReplaceTexIntrinsic(I, false, TexSign, "llvm.R600.ddx", "llvm.R600.ddx");
- if (I.getCalledFunction()->getName() == "llvm.AMDGPU.ddy")
+ return;
+ }
+ if (Name == "llvm.AMDGPU.ddy") {
ReplaceTexIntrinsic(I, false, TexSign, "llvm.R600.ddy", "llvm.R600.ddy");
+ return;
+ }
}
};
More information about the llvm-commits
mailing list