diff options
| author | Justin Holewinski <jholewinski@nvidia.com> | 2012-12-05 20:50:28 +0000 |
|---|---|---|
| committer | Justin Holewinski <jholewinski@nvidia.com> | 2012-12-05 20:50:28 +0000 |
| commit | fb711156aed4cb8626f4f66413c3f6368afc53fe (patch) | |
| tree | c46342f19ed5f3e549179cad9b867eb02e274cb8 | |
| parent | 90b0c84bcf83e234c447eb1d13a65918939b3c26 (diff) | |
| download | bcm5719-llvm-fb711156aed4cb8626f4f66413c3f6368afc53fe.tar.gz bcm5719-llvm-fb711156aed4cb8626f4f66413c3f6368afc53fe.zip | |
[NVPTX] Fix crash with unnamed struct arguments
Patch by Eric Holk
llvm-svn: 169418
| -rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/NVPTX/tuple-literal.ll | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp index d785fd2a478..96d8a505aaf 100644 --- a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp @@ -957,7 +957,7 @@ bool llvm::isImageOrSamplerVal(const Value *arg, const Module *context) { return false; const StructType *STy = dyn_cast<StructType>(PTy->getElementType()); - const std::string TypeName = STy ? STy->getName() : ""; + const std::string TypeName = STy && !STy->isLiteral() ? STy->getName() : ""; for (int i = 0, e = array_lengthof(specialTypes); i != e; ++i) if (TypeName == specialTypes[i]) diff --git a/llvm/test/CodeGen/NVPTX/tuple-literal.ll b/llvm/test/CodeGen/NVPTX/tuple-literal.ll new file mode 100644 index 00000000000..5c0cb2c15c2 --- /dev/null +++ b/llvm/test/CodeGen/NVPTX/tuple-literal.ll @@ -0,0 +1,5 @@ +; RUN: llc < %s -march=nvptx -mcpu=sm_13 + +define ptx_device void @test_function({i8, i8}*) { + ret void +} |

