@@ -99,6 +99,19 @@ cbuffer CBArrays : register(b2) {
99
99
// CHECK: @c7 = external addrspace(2) global [2 x i64], align 8
100
100
// CHECK: @c8 = external addrspace(2) global [4 x i32], align 4
101
101
102
+ typedef uint32_t4 uint32_t8[2 ];
103
+ typedef uint4 T1;
104
+ typedef T1 T2[2 ]; // check a double typedef
105
+
106
+ cbuffer CBTypedefArray {
107
+ uint32_t8 t1[2 ];
108
+ T2 t2[2 ];
109
+ }
110
+
111
+ // CHECK: @CBTypedefArray.cb = global target("dx.CBuffer", target("dx.Layout", %__cblayout_CBTypedefArray,
112
+ // CHECK-SAME: 128, 0, 64))
113
+ // CHECK: @t1 = external addrspace(2) global [2 x [2 x <4 x i32>]], align 16
114
+ // CHECK: @t2 = external addrspace(2) global [2 x [2 x <4 x i32>]], align 16
102
115
struct Empty {};
103
116
104
117
struct A {
@@ -278,7 +291,7 @@ void main() {
278
291
// CHECK-NEXT: call void @_init_resource_CBScalars.cb()
279
292
// CHECK-NEXT: call void @_init_resource_CBArrays.cb()
280
293
281
- // CHECK: !hlsl.cbs = !{![[CBSCALARS:[0-9]+]], ![[CBVECTORS:[0-9]+]], ![[CBARRAYS:[0-9]+]], ![[CBSTRUCTS:[0-9]+]], ![[CBCLASSES:[0-9]+]],
294
+ // CHECK: !hlsl.cbs = !{![[CBSCALARS:[0-9]+]], ![[CBVECTORS:[0-9]+]], ![[CBARRAYS:[0-9]+]], ![[CBTYPEDEFARRAY:[0-9]+]], ![[ CBSTRUCTS:[0-9]+]], ![[CBCLASSES:[0-9]+]],
282
295
// CHECK-SAME: ![[CBMIX:[0-9]+]], ![[CB_A:[0-9]+]], ![[CB_B:[0-9]+]], ![[CB_C:[0-9]+]]}
283
296
284
297
// CHECK: ![[CBSCALARS]] = !{ptr @CBScalars.cb, ptr addrspace(2) @a1, ptr addrspace(2) @a2, ptr addrspace(2) @a3, ptr addrspace(2) @a4,
@@ -290,6 +303,8 @@ void main() {
290
303
// CHECK: ![[CBARRAYS]] = !{ptr @CBArrays.cb, ptr addrspace(2) @c1, ptr addrspace(2) @c2, ptr addrspace(2) @c3, ptr addrspace(2) @c4,
291
304
// CHECK-SAME: ptr addrspace(2) @c5, ptr addrspace(2) @c6, ptr addrspace(2) @c7, ptr addrspace(2) @c8}
292
305
306
+ // CHECK: ![[CBTYPEDEFARRAY]] = !{ptr @CBTypedefArray.cb, ptr addrspace(2) @t1, ptr addrspace(2) @t2}
307
+
293
308
// CHECK: ![[CBSTRUCTS]] = !{ptr @CBStructs.cb, ptr addrspace(2) @a, ptr addrspace(2) @b, ptr addrspace(2) @c, ptr addrspace(2) @array_of_A,
294
309
// CHECK-SAME: ptr addrspace(2) @d, ptr addrspace(2) @e, ptr addrspace(2) @f}
295
310
0 commit comments