[PATCH] D64158: [AMDGPU] Corrected checking for __hip_texture struct pointer in the Metadata Streamer.

Konstantin Pyzhov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 3 13:35:09 PDT 2019


kpyzhov created this revision.
kpyzhov added reviewers: kzhuravl, yaxunl.
Herald added subscribers: llvm-commits, hiraditya, t-tye, tpr, dstuttard, nhaehnle, wdng, jvesely, arsenm.
Herald added a reviewer: a.sidorin.
Herald added a project: LLVM.

Repository:
  rL LLVM

https://reviews.llvm.org/D64158

Files:
  llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp


Index: llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
+++ llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
@@ -104,9 +104,12 @@
   if (TypeQual.find("pipe") != StringRef::npos)
     return ValueKind::Pipe;
 
-  if (isa<PointerType>(Ty) && Ty->getPointerElementType()->isStructTy() &&
-      Ty->getPointerElementType()->getStructName() == "struct.__hip_texture") {
-    return ValueKind::Image;
+  if (isa<PointerType>(Ty)) {
+    const Type* elType = Ty->getPointerElementType();
+    if (elType->isStructTy() && !cast<StructType>(elType)->isLiteral() &&
+        elType->getStructName() == "struct.__hip_texture") {
+      return ValueKind::Image;
+    }
   }
 
   return StringSwitch<ValueKind>(BaseTypeName)
@@ -546,9 +549,12 @@
   if (TypeQual.find("pipe") != StringRef::npos)
     return "pipe";
 
-  if (isa<PointerType>(Ty) && Ty->getPointerElementType()->isStructTy() &&
-      Ty->getPointerElementType()->getStructName() == "struct.__hip_texture") {
-    return "image";
+  if (isa<PointerType>(Ty)) {
+    const Type* elType = Ty->getPointerElementType();
+    if (elType->isStructTy() && !cast<StructType>(elType)->isLiteral() &&
+        elType->getStructName() == "struct.__hip_texture") {
+      return "image";
+    }
   }
 
   return StringSwitch<StringRef>(BaseTypeName)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64158.207877.patch
Type: text/x-patch
Size: 1425 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190703/82ff4660/attachment.bin>


More information about the llvm-commits mailing list