@@ -7,10 +7,10 @@ struct S {
77
88// CHECK: [[CBLayout:%.*]] = type <{ [2 x float], [2 x <4 x i32>], [2 x [2 x i32]], [1 x target("dx.Layout", %S, 8, 0, 4)] }>
99// CHECK: @CBArrays.cb = global target("dx.CBuffer", target("dx.Layout", [[CBLayout]], 136, 0, 32, 64, 128))
10- // CHECK: @c1 = external addrspace(2) global [2 x float], align 4
11- // CHECK: @c2 = external addrspace(2) global [2 x <4 x i32>], align 16
12- // CHECK: @c3 = external addrspace(2) global [2 x [2 x i32]], align 4
13- // CHECK: @c4 = external addrspace(2) global [1 x target("dx.Layout", %S, 8, 0, 4)], align 1
10+ // CHECK: @c1 = external hidden addrspace(2) global [2 x float], align 4
11+ // CHECK: @c2 = external hidden addrspace(2) global [2 x <4 x i32>], align 16
12+ // CHECK: @c3 = external hidden addrspace(2) global [2 x [2 x i32]], align 4
13+ // CHECK: @c4 = external hidden addrspace(2) global [1 x target("dx.Layout", %S, 8, 0, 4)], align 1
1414
1515cbuffer CBArrays : register (b0) {
1616 float c1[2 ];
@@ -19,7 +19,7 @@ cbuffer CBArrays : register(b0) {
1919 S c4[1 ];
2020}
2121
22- // CHECK-LABEL: define void {{.*}}arr_assign1
22+ // CHECK-LABEL: define hidden void {{.*}}arr_assign1
2323// CHECK: [[Arr:%.*]] = alloca [2 x i32], align 4
2424// CHECK-NEXT: [[Arr2:%.*]] = alloca [2 x i32], align 4
2525// CHECK-NOT: alloca
@@ -33,7 +33,7 @@ void arr_assign1() {
3333 Arr = Arr2;
3434}
3535
36- // CHECK-LABEL: define void {{.*}}arr_assign2
36+ // CHECK-LABEL: define hidden void {{.*}}arr_assign2
3737// CHECK: [[Arr:%.*]] = alloca [2 x i32], align 4
3838// CHECK-NEXT: [[Arr2:%.*]] = alloca [2 x i32], align 4
3939// CHECK-NEXT: [[Arr3:%.*]] = alloca [2 x i32], align 4
@@ -51,7 +51,7 @@ void arr_assign2() {
5151 Arr = Arr2 = Arr3;
5252}
5353
54- // CHECK-LABEL: define void {{.*}}arr_assign3
54+ // CHECK-LABEL: define hidden void {{.*}}arr_assign3
5555// CHECK: [[Arr3:%.*]] = alloca [2 x [2 x i32]], align 4
5656// CHECK-NEXT: [[Arr4:%.*]] = alloca [2 x [2 x i32]], align 4
5757// CHECK-NOT: alloca
@@ -65,7 +65,7 @@ void arr_assign3() {
6565 Arr2 = Arr3;
6666}
6767
68- // CHECK-LABEL: define void {{.*}}arr_assign4
68+ // CHECK-LABEL: define hidden void {{.*}}arr_assign4
6969// CHECK: [[Arr:%.*]] = alloca [2 x i32], align 4
7070// CHECK-NEXT: [[Arr2:%.*]] = alloca [2 x i32], align 4
7171// CHECK-NOT: alloca
@@ -81,7 +81,7 @@ void arr_assign4() {
8181 (Arr = Arr2)[0 ] = 6 ;
8282}
8383
84- // CHECK-LABEL: define void {{.*}}arr_assign5
84+ // CHECK-LABEL: define hidden void {{.*}}arr_assign5
8585// CHECK: [[Arr:%.*]] = alloca [2 x i32], align 4
8686// CHECK-NEXT: [[Arr2:%.*]] = alloca [2 x i32], align 4
8787// CHECK-NEXT: [[Arr3:%.*]] = alloca [2 x i32], align 4
@@ -101,7 +101,7 @@ void arr_assign5() {
101101 (Arr = Arr2 = Arr3)[0 ] = 6 ;
102102}
103103
104- // CHECK-LABEL: define void {{.*}}arr_assign6
104+ // CHECK-LABEL: define hidden void {{.*}}arr_assign6
105105// CHECK: [[Arr3:%.*]] = alloca [2 x [2 x i32]], align 4
106106// CHECK-NEXT: [[Arr4:%.*]] = alloca [2 x [2 x i32]], align 4
107107// CHECK-NOT: alloca
@@ -118,7 +118,7 @@ void arr_assign6() {
118118 (Arr = Arr2)[0 ][0 ] = 6 ;
119119}
120120
121- // CHECK-LABEL: define void {{.*}}arr_assign7
121+ // CHECK-LABEL: define hidden void {{.*}}arr_assign7
122122// CHECK: [[Arr:%.*]] = alloca [2 x [2 x i32]], align 4
123123// CHECK-NEXT: [[Arr2:%.*]] = alloca [2 x [2 x i32]], align 4
124124// CHECK-NOT: alloca
@@ -138,7 +138,7 @@ void arr_assign7() {
138138
139139// Verify you can assign from a cbuffer array
140140
141- // CHECK-LABEL: define void {{.*}}arr_assign8
141+ // CHECK-LABEL: define hidden void {{.*}}arr_assign8
142142// CHECK: [[C:%.*]] = alloca [2 x float], align 4
143143// CHECK-NEXT: call void @llvm.memcpy.p0.p0.i32(ptr align 4 [[C]], ptr align 4 {{.*}}, i32 8, i1 false)
144144// CHECK-NEXT: call void @llvm.memcpy.p0.p2.i32(ptr align 4 [[C]], ptr addrspace(2) align 4 @c1, i32 8, i1 false)
@@ -148,7 +148,7 @@ void arr_assign8() {
148148 C = c1;
149149}
150150
151- // CHECK-LABEL: define void {{.*}}arr_assign9
151+ // CHECK-LABEL: define hidden void {{.*}}arr_assign9
152152// CHECK: [[C:%.*]] = alloca [2 x <4 x i32>], align 16
153153// CHECK-NEXT: call void @llvm.memcpy.p0.p0.i32(ptr align 16 [[C]], ptr align 16 {{.*}}, i32 32, i1 false)
154154// CHECK-NEXT: call void @llvm.memcpy.p0.p2.i32(ptr align 16 [[C]], ptr addrspace(2) align 16 @c2, i32 32, i1 false)
@@ -158,7 +158,7 @@ void arr_assign9() {
158158 C = c2;
159159}
160160
161- // CHECK-LABEL: define void {{.*}}arr_assign10
161+ // CHECK-LABEL: define hidden void {{.*}}arr_assign10
162162// CHECK: [[C:%.*]] = alloca [2 x [2 x i32]], align 4
163163// CHECK-NEXT: call void @llvm.memcpy.p0.p0.i32(ptr align 4 [[C]], ptr align 4 {{.*}}, i32 16, i1 false)
164164// CHECK-NEXT: call void @llvm.memcpy.p0.p2.i32(ptr align 4 [[C]], ptr addrspace(2) align 4 @c3, i32 16, i1 false)
@@ -168,7 +168,7 @@ void arr_assign10() {
168168 C = c3;
169169}
170170
171- // CHECK-LABEL: define void {{.*}}arr_assign11
171+ // CHECK-LABEL: define hidden void {{.*}}arr_assign11
172172// CHECK: [[C:%.*]] = alloca [1 x %struct.S], align 1
173173// CHECK: call void @llvm.memcpy.p0.p2.i32(ptr align 1 [[C]], ptr addrspace(2) align 1 @c4, i32 8, i1 false)
174174// CHECK-NEXT: ret void
0 commit comments