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(Ty) && Ty->getPointerElementType()->isStructTy() && - Ty->getPointerElementType()->getStructName() == "struct.__hip_texture") { - return ValueKind::Image; + if (isa(Ty)) { + const Type* elType = Ty->getPointerElementType(); + if (elType->isStructTy() && !cast(elType)->isLiteral() && + elType->getStructName() == "struct.__hip_texture") { + return ValueKind::Image; + } } return StringSwitch(BaseTypeName) @@ -546,9 +549,12 @@ if (TypeQual.find("pipe") != StringRef::npos) return "pipe"; - if (isa(Ty) && Ty->getPointerElementType()->isStructTy() && - Ty->getPointerElementType()->getStructName() == "struct.__hip_texture") { - return "image"; + if (isa(Ty)) { + const Type* elType = Ty->getPointerElementType(); + if (elType->isStructTy() && !cast(elType)->isLiteral() && + elType->getStructName() == "struct.__hip_texture") { + return "image"; + } } return StringSwitch(BaseTypeName)