llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-hlsl @llvm/pr-subscribers-clang-codegen Author: Deric C. (Icohedron) <details> <summary>Changes</summary> Fixes https://github.com/llvm/llvm-project/issues/194948 This PR adds the TextureCubeArray type to HLSL. A rather straight-forward change since TextureCube and array textures were already implemented before. There are a couple test changes to accomodate the combination of cube with array textures. Assisted by: Claude Opus 5 --- <sub>Stack created with <a href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub> --- Patch is 76.58 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/218521.diff 26 Files Affected: - (modified) clang/lib/CodeGen/Targets/DirectX.cpp (+2-1) - (modified) clang/lib/Sema/HLSLExternalSemaSource.cpp (+21) - (modified) clang/test/AST/HLSL/Textures-scalar-AST.hlsl (+40-83) - (modified) clang/test/AST/HLSL/Textures-shorthand-AST.hlsl (+4) - (modified) clang/test/AST/HLSL/Textures-vector-AST.hlsl (+40-83) - (modified) clang/test/CodeGenHLSL/resources/Textures-CalculateLevelOfDetail.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-Gather.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-Sample.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-SampleBias.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-SampleCmp.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-SampleCmpLevelZero.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-SampleLevel.hlsl (+13) - (modified) clang/test/CodeGenHLSL/resources/Textures-default-explicit-binding.hlsl (+12) - (modified) clang/test/CodeGenHLSL/resources/Textures-default.hlsl (+5) - (modified) clang/test/CodeGenHLSL/resources/Textures-shorthand-contexts.hlsl (+6) - (modified) clang/test/SemaHLSL/Resources/Textures-CalculateLevelOfDetail.hlsl (+3) - (modified) clang/test/SemaHLSL/Resources/Textures-SampleBias.hlsl (+4) - (modified) clang/test/SemaHLSL/Resources/Textures-SampleCmp.hlsl (+4) - (modified) clang/test/SemaHLSL/Resources/Textures-SampleCmpLevelZero.hlsl (+4) - (modified) clang/test/SemaHLSL/Resources/Textures-SampleGrad.hlsl (+4) - (modified) clang/test/SemaHLSL/Resources/Textures-SampleLevel.hlsl (+4) - (modified) clang/test/SemaHLSL/Resources/Textures-Sema.hlsl (+4) - (modified) clang/test/SemaHLSL/Resources/Textures-declaration-order.hlsl (+8-1) - (modified) clang/test/SemaHLSL/Resources/Textures-mips-errors.hlsl (+3) - (modified) clang/test/SemaHLSL/Resources/Textures-unsupported-methods-errors.hlsl (+5) ``````````diff diff --git a/clang/lib/CodeGen/Targets/DirectX.cpp b/clang/lib/CodeGen/Targets/DirectX.cpp index 6240a64b6a539..e2c918d861e35 100644 --- a/clang/lib/CodeGen/Targets/DirectX.cpp +++ b/clang/lib/CodeGen/Targets/DirectX.cpp @@ -123,7 +123,8 @@ llvm::Type *DirectXTargetCodeGenInfo::getHLSLType( RK = llvm::dxil::ResourceKind::Texture3D; break; case llvm::dxil::ResourceDimension::Cube: - RK = llvm::dxil::ResourceKind::TextureCube; + RK = ResAttrs.IsArray ? llvm::dxil::ResourceKind::TextureCubeArray + : llvm::dxil::ResourceKind::TextureCube; break; default: llvm_unreachable("Unsupported resource dimension for texture."); diff --git a/clang/lib/Sema/HLSLExternalSemaSource.cpp b/clang/lib/Sema/HLSLExternalSemaSource.cpp index 07945a0030164..a1dc19ba91d21 100644 --- a/clang/lib/Sema/HLSLExternalSemaSource.cpp +++ b/clang/lib/Sema/HLSLExternalSemaSource.cpp @@ -828,6 +828,27 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() { /*IsArray=*/false, ResourceDimension::Cube) .completeDefinition(); }); + + // TextureCubeArray — same as TextureCube but IsArray=true, so locations gain + // an array slice and are float4. + Decl = BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "TextureCubeArray") + .addSimpleTemplateParams({"element_type"}, {Float4Ty}, + TypedBufferConcept) + .finalizeForwardDeclaration(); + + onCompletion(Decl, [this](CXXRecordDecl *Decl) { + setupTextureType(Decl, *SemaPtr, ResourceClass::SRV, /*IsROV=*/false, + /*IsArray=*/true, ResourceDimension::Cube) + .completeDefinition(); + }); + + auto *PartialSpecCubeArray = addVectorTexturePartialSpecialization( + *SemaPtr, HLSLNamespace, Decl->getDescribedClassTemplate()); + onCompletion(PartialSpecCubeArray, [this](CXXRecordDecl *Decl) { + setupTextureType(Decl, *SemaPtr, ResourceClass::SRV, /*IsROV=*/false, + /*IsArray=*/true, ResourceDimension::Cube) + .completeDefinition(); + }); } // Build a single overload of an HLSL atomic intrinsic in the hlsl namespace. diff --git a/clang/test/AST/HLSL/Textures-scalar-AST.hlsl b/clang/test/AST/HLSL/Textures-scalar-AST.hlsl index ab3d517d39ad9..22b4bf40f71a0 100644 --- a/clang/test/AST/HLSL/Textures-scalar-AST.hlsl +++ b/clang/test/AST/HLSL/Textures-scalar-AST.hlsl @@ -5,20 +5,28 @@ // RUN: %s \ // RUN: | FileCheck %s --check-prefixes=CHECK,TEXEL,OFFSET,GETDIM-XY \ // RUN: -DTEXTURE=Texture2D -DDIM_NAME=2D -DDIM=2 -DCOORD_DIM=2 -DLOAD_DIM=3 \ -// RUN: -DINDEX_TYPE="vector<unsigned int, 2>" +// RUN: -DINDEX_TYPE="vector<unsigned int, 2>" -DIS_ARRAY="" // RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump \ // RUN: -disable-llvm-passes -finclude-default-header -DTEXTURE=TextureCube \ // RUN: -DCOORD_TYPE=float3 -DGRAD_TYPE=float3 -DLOD_LOCATION=loc -o - %s \ // RUN: | FileCheck %s --check-prefixes=CHECK -DTEXTURE=TextureCube \ -// RUN: -DDIM_NAME=Cube -DDIM=3 -DCOORD_DIM=3 +// RUN: -DDIM_NAME=Cube -DDIM=3 -DCOORD_DIM=3 -DIS_ARRAY="" +// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump \ +// RUN: -disable-llvm-passes -finclude-default-header \ +// RUN: -DTEXTURE=TextureCubeArray -DCOORD_TYPE=float4 -DGRAD_TYPE=float3 \ +// RUN: -DLOD_LOCATION=loc.xyz -o - %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK -DTEXTURE=TextureCubeArray \ +// RUN: -DDIM_NAME=Cube -DDIM=3 -DCOORD_DIM=4 \ +// RUN: -DIS_ARRAY=" [[hlsl::is_array]]" // RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump \ // RUN: -disable-llvm-passes -finclude-default-header -DHAS_OFFSET \ // RUN: -DHAS_GETDIM_XY -DTEXTURE=Texture2DArray -DCOORD_TYPE=float3 \ // RUN: -DGRAD_TYPE=float2 -DLOD_LOCATION=loc.xy -DOFFSET_ARG="int2(1, 2)" \ // RUN: -o - %s \ -// RUN: | FileCheck %s --check-prefixes=CHECK,ARRAY,TEXEL,OFFSET,GETDIM-XY \ +// RUN: | FileCheck %s --check-prefixes=CHECK,TEXEL,OFFSET,GETDIM-XY \ // RUN: -DTEXTURE=Texture2DArray -DDIM_NAME=2D -DDIM=2 -DCOORD_DIM=3 \ -// RUN: -DLOAD_DIM=4 -DINDEX_TYPE="vector<unsigned int, 3>" +// RUN: -DLOAD_DIM=4 -DINDEX_TYPE="vector<unsigned int, 3>" \ +// RUN: -DIS_ARRAY=" [[hlsl::is_array]]" // Parameterized over the texture types in the RUN lines above; adding a texture // of another dimension only requires new RUN lines. @@ -35,6 +43,8 @@ // LOD_LOCATION expression producing a LOD_TYPE location from `loc` // OFFSET_ARG a literal offset argument // DIM_NAME hlsl::dimension spelling +// IS_ARRAY the hlsl::is_array attribute, or empty for the +// types that have no array slice // DIM number of resource dimensions (offset, ddx/ddy, LOD // location) // COORD_DIM sample location components (DIM plus the array slice) @@ -48,7 +58,6 @@ // OFFSET the sampling and gathering methods have offset // overloads // GETDIM-XY the width/height GetDimensions overloads exist -// ARRAY the resource has an array slice // CHECK: CXXRecordDecl {{.*}} SamplerState definition // CHECK: FinalAttr {{.*}} Implicit final @@ -65,9 +74,7 @@ // CHECK: CXXRecordDecl {{.*}} [[TEXTURE]] definition // CHECK: FinalAttr {{.*}} Implicit final // CHECK-NEXT: FieldDecl {{.*}} implicit __handle '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // CHECK-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // TEXEL: CXXMethodDecl {{.*}} Load 'element_type (vector<int, [[LOAD_DIM]]>)' @@ -78,9 +85,7 @@ // TEXEL-NEXT: CallExpr {{.*}} '<dependent type>' // TEXEL-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_load_level' 'void (...) noexcept' // TEXEL-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// TEXEL-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// TEXEL-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// TEXEL-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // TEXEL-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // TEXEL-SAME: ' lvalue .__handle // TEXEL-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -96,9 +101,7 @@ // TEXEL-NEXT: CallExpr {{.*}} '<dependent type>' // TEXEL-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_load_level' 'void (...) noexcept' // TEXEL-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// TEXEL-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// TEXEL-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// TEXEL-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // TEXEL-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // TEXEL-SAME: ' lvalue .__handle // TEXEL-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -115,9 +118,7 @@ // TEXEL-NEXT: CallExpr {{.*}} '<dependent type>' // TEXEL-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept' // TEXEL-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// TEXEL-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// TEXEL-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// TEXEL-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // TEXEL-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // TEXEL-SAME: ' lvalue .__handle // TEXEL-NEXT: CXXThisExpr {{.*}} 'const hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -133,9 +134,7 @@ // CHECK-NEXT: CallExpr {{.*}} '<dependent type>' // CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample' 'void (...) noexcept' // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // CHECK-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // CHECK-SAME: ' lvalue .__handle // CHECK-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -156,9 +155,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -181,9 +178,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -206,9 +201,7 @@ // CHECK-NEXT: CallExpr {{.*}} '<dependent type>' // CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_bias' 'void (...) noexcept' // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // CHECK-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // CHECK-SAME: ' lvalue .__handle // CHECK-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -231,9 +224,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_bias' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -258,9 +249,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_bias' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -285,9 +274,7 @@ // CHECK-NEXT: CallExpr {{.*}} '<dependent type>' // CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_grad' 'void (...) noexcept' // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // CHECK-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // CHECK-SAME: ' lvalue .__handle // CHECK-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -312,9 +299,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_grad' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -341,9 +326,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_grad' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -368,9 +351,7 @@ // CHECK-NEXT: CallExpr {{.*}} '<dependent type>' // CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_level' 'void (...) noexcept' // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // CHECK-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // CHECK-SAME: ' lvalue .__handle // CHECK-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -393,9 +374,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_level' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -418,9 +397,7 @@ // CHECK-NEXT: CallExpr {{.*}} '<dependent type>' // CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_cmp' 'void (...) noexcept' // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // CHECK-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // CHECK-SAME: ' lvalue .__handle // CHECK-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -443,9 +420,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_cmp' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -470,9 +445,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_cmp' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -496,9 +469,7 @@ // CHECK-NEXT: CallExpr {{.*}} '<dependent type>' // CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_cmp_level_zero' 'void (...) noexcept' // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // CHECK-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // CHECK-SAME: ' lvalue .__handle // CHECK-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -521,9 +492,7 @@ // OFFSET-NEXT: CallExpr {{.*}} '<dependent type>' // OFFSET-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_sample_cmp_level_zero' 'void (...) noexcept' // OFFSET-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// OFFSET-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// OFFSET-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// OFFSET-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_ARRAY]] {{\[\[}}hlsl::contained_type(element_type){{\]\]}} // OFFSET-SAME: {{\[\[}}hlsl::dimension("[[DIM_NAME]]"){{\]\]}} // OFFSET-SAME: ' lvalue .__handle // OFFSET-NEXT: CXXThisExpr {{.*}} 'hlsl::[[TEXTURE]]<element_type>' lvalue implicit this @@ -545,9 +514,7 @@ // CHECK-NEXT: CallExpr {{.*}} '<dependent type>' // CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_calculate_lod' 'void (...) noexcept' // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t -// CHECK-SAME{LITERAL}: [[hlsl::resource_class("SRV")]] -// ARRAY-SAME{LITERAL}: [[hlsl::is_array]] -// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] +// CHECK-SAME: {{\[\[}}hlsl::resource_class("SRV"){{\]\]}}[[IS_A... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/218521 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
