34
34
// CHECK-NEXT: ret void
35
35
//
36
36
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel1Pi(
37
- // CHECK-SPIRV-SAME: ptr addrspace(1) noundef [[X_COERCE:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] {
37
+ // CHECK-SPIRV-SAME: ptr addrspace(1) noundef [[X_COERCE:%.*]]) addrspace(4) #[[ATTR0:[0-9]+]] !max_work_group_size [[META5:![0-9]+]] {
38
38
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
39
39
// CHECK-SPIRV-NEXT: [[X:%.*]] = alloca ptr addrspace(4), align 8
40
40
// CHECK-SPIRV-NEXT: [[X_ADDR:%.*]] = alloca ptr addrspace(4), align 8
60
60
// OPT-NEXT: ret void
61
61
//
62
62
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel1Pi(
63
- // OPT-SPIRV-SAME: ptr addrspace(1) nocapture noundef [[X_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0:[0-9]+]] {
63
+ // OPT-SPIRV-SAME: ptr addrspace(1) nocapture noundef [[X_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0:[0-9]+]] !max_work_group_size [[META5:![0-9]+]] {
64
64
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
65
65
// OPT-SPIRV-NEXT: [[TMP0:%.*]] = addrspacecast ptr addrspace(1) [[X_COERCE]] to ptr addrspace(4)
66
66
// OPT-SPIRV-NEXT: [[TMP1:%.*]] = load i32, ptr addrspace(4) [[TMP0]], align 4
@@ -104,7 +104,7 @@ __global__ void kernel1(int *x) {
104
104
// CHECK-NEXT: ret void
105
105
//
106
106
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel2Ri(
107
- // CHECK-SPIRV-SAME: ptr addrspace(1) noundef align 4 dereferenceable(4) [[X_COERCE:%.*]]) addrspace(4) #[[ATTR0]] {
107
+ // CHECK-SPIRV-SAME: ptr addrspace(1) noundef align 4 dereferenceable(4) [[X_COERCE:%.*]]) addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
108
108
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
109
109
// CHECK-SPIRV-NEXT: [[X:%.*]] = alloca ptr addrspace(4), align 8
110
110
// CHECK-SPIRV-NEXT: [[X_ADDR:%.*]] = alloca ptr addrspace(4), align 8
@@ -129,7 +129,7 @@ __global__ void kernel1(int *x) {
129
129
// OPT-NEXT: ret void
130
130
//
131
131
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel2Ri(
132
- // OPT-SPIRV-SAME: ptr addrspace(1) nocapture noundef align 4 dereferenceable(4) [[X_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0]] {
132
+ // OPT-SPIRV-SAME: ptr addrspace(1) nocapture noundef align 4 dereferenceable(4) [[X_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
133
133
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
134
134
// OPT-SPIRV-NEXT: [[TMP0:%.*]] = addrspacecast ptr addrspace(1) [[X_COERCE]] to ptr addrspace(4)
135
135
// OPT-SPIRV-NEXT: [[TMP1:%.*]] = load i32, ptr addrspace(4) [[TMP0]], align 4
@@ -173,7 +173,7 @@ __global__ void kernel2(int &x) {
173
173
// CHECK-NEXT: ret void
174
174
//
175
175
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel3PU3AS2iPU3AS1i(
176
- // CHECK-SPIRV-SAME: ptr addrspace(2) noundef [[X:%.*]], ptr addrspace(1) noundef [[Y:%.*]]) addrspace(4) #[[ATTR0]] {
176
+ // CHECK-SPIRV-SAME: ptr addrspace(2) noundef [[X:%.*]], ptr addrspace(1) noundef [[Y:%.*]]) addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
177
177
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
178
178
// CHECK-SPIRV-NEXT: [[X_ADDR:%.*]] = alloca ptr addrspace(2), align 8
179
179
// CHECK-SPIRV-NEXT: [[Y_ADDR:%.*]] = alloca ptr addrspace(1), align 8
@@ -197,7 +197,7 @@ __global__ void kernel2(int &x) {
197
197
// OPT-NEXT: ret void
198
198
//
199
199
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel3PU3AS2iPU3AS1i(
200
- // OPT-SPIRV-SAME: ptr addrspace(2) nocapture noundef readonly [[X:%.*]], ptr addrspace(1) nocapture noundef writeonly [[Y:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0]] {
200
+ // OPT-SPIRV-SAME: ptr addrspace(2) nocapture noundef readonly [[X:%.*]], ptr addrspace(1) nocapture noundef writeonly [[Y:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
201
201
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
202
202
// OPT-SPIRV-NEXT: [[TMP0:%.*]] = load i32, ptr addrspace(2) [[X]], align 4
203
203
// OPT-SPIRV-NEXT: store i32 [[TMP0]], ptr addrspace(1) [[Y]], align 4
@@ -305,7 +305,7 @@ struct S {
305
305
// CHECK-NEXT: ret void
306
306
//
307
307
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel41S(
308
- // CHECK-SPIRV-SAME: [[STRUCT_S:%.*]] [[S_COERCE:%.*]]) addrspace(4) #[[ATTR0]] {
308
+ // CHECK-SPIRV-SAME: [[STRUCT_S:%.*]] [[S_COERCE:%.*]]) addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
309
309
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
310
310
// CHECK-SPIRV-NEXT: [[S:%.*]] = alloca [[STRUCT_S]], align 8
311
311
// CHECK-SPIRV-NEXT: [[S1:%.*]] = addrspacecast ptr [[S]] to ptr addrspace(4)
@@ -341,7 +341,7 @@ struct S {
341
341
// OPT-NEXT: ret void
342
342
//
343
343
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel41S(
344
- // OPT-SPIRV-SAME: [[STRUCT_S:%.*]] [[S_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2:[0-9]+]] {
344
+ // OPT-SPIRV-SAME: [[STRUCT_S:%.*]] [[S_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2:[0-9]+]] !max_work_group_size [[META5]] {
345
345
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
346
346
// OPT-SPIRV-NEXT: [[S_COERCE_FCA_0_EXTRACT:%.*]] = extractvalue [[STRUCT_S]] [[S_COERCE]], 0
347
347
// OPT-SPIRV-NEXT: [[S_COERCE_FCA_1_EXTRACT:%.*]] = extractvalue [[STRUCT_S]] [[S_COERCE]], 1
@@ -405,7 +405,7 @@ __global__ void kernel4(struct S s) {
405
405
// CHECK-NEXT: ret void
406
406
//
407
407
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel5P1S(
408
- // CHECK-SPIRV-SAME: ptr addrspace(1) noundef [[S_COERCE:%.*]]) addrspace(4) #[[ATTR0]] {
408
+ // CHECK-SPIRV-SAME: ptr addrspace(1) noundef [[S_COERCE:%.*]]) addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
409
409
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
410
410
// CHECK-SPIRV-NEXT: [[S:%.*]] = alloca ptr addrspace(4), align 8
411
411
// CHECK-SPIRV-NEXT: [[S_ADDR:%.*]] = alloca ptr addrspace(4), align 8
@@ -447,7 +447,7 @@ __global__ void kernel4(struct S s) {
447
447
// OPT-NEXT: ret void
448
448
//
449
449
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel5P1S(
450
- // OPT-SPIRV-SAME: ptr addrspace(1) nocapture noundef readonly [[S_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2]] {
450
+ // OPT-SPIRV-SAME: ptr addrspace(1) nocapture noundef readonly [[S_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2]] !max_work_group_size [[META5]] {
451
451
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
452
452
// OPT-SPIRV-NEXT: [[TMP0:%.*]] = addrspacecast ptr addrspace(1) [[S_COERCE]] to ptr addrspace(4)
453
453
// OPT-SPIRV-NEXT: [[TMP1:%.*]] = load ptr addrspace(4), ptr addrspace(4) [[TMP0]], align 8
@@ -511,7 +511,7 @@ struct T {
511
511
// CHECK-NEXT: ret void
512
512
//
513
513
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel61T(
514
- // CHECK-SPIRV-SAME: [[STRUCT_T:%.*]] [[T_COERCE:%.*]]) addrspace(4) #[[ATTR0]] {
514
+ // CHECK-SPIRV-SAME: [[STRUCT_T:%.*]] [[T_COERCE:%.*]]) addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
515
515
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
516
516
// CHECK-SPIRV-NEXT: [[T:%.*]] = alloca [[STRUCT_T]], align 8
517
517
// CHECK-SPIRV-NEXT: [[T1:%.*]] = addrspacecast ptr [[T]] to ptr addrspace(4)
@@ -549,7 +549,7 @@ struct T {
549
549
// OPT-NEXT: ret void
550
550
//
551
551
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel61T(
552
- // OPT-SPIRV-SAME: [[STRUCT_T:%.*]] [[T_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2]] {
552
+ // OPT-SPIRV-SAME: [[STRUCT_T:%.*]] [[T_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2]] !max_work_group_size [[META5]] {
553
553
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
554
554
// OPT-SPIRV-NEXT: [[T_COERCE_FCA_0_0_EXTRACT:%.*]] = extractvalue [[STRUCT_T]] [[T_COERCE]], 0, 0
555
555
// OPT-SPIRV-NEXT: [[T_COERCE_FCA_0_1_EXTRACT:%.*]] = extractvalue [[STRUCT_T]] [[T_COERCE]], 0, 1
@@ -604,7 +604,7 @@ __global__ void kernel6(struct T t) {
604
604
// CHECK-NEXT: ret void
605
605
//
606
606
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel7Pi(
607
- // CHECK-SPIRV-SAME: ptr addrspace(1) noalias noundef [[X_COERCE:%.*]]) addrspace(4) #[[ATTR0]] {
607
+ // CHECK-SPIRV-SAME: ptr addrspace(1) noalias noundef [[X_COERCE:%.*]]) addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
608
608
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
609
609
// CHECK-SPIRV-NEXT: [[X:%.*]] = alloca ptr addrspace(4), align 8
610
610
// CHECK-SPIRV-NEXT: [[X_ADDR:%.*]] = alloca ptr addrspace(4), align 8
@@ -630,7 +630,7 @@ __global__ void kernel6(struct T t) {
630
630
// OPT-NEXT: ret void
631
631
//
632
632
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel7Pi(
633
- // OPT-SPIRV-SAME: ptr addrspace(1) noalias nocapture noundef [[X_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0]] {
633
+ // OPT-SPIRV-SAME: ptr addrspace(1) noalias nocapture noundef [[X_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
634
634
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
635
635
// OPT-SPIRV-NEXT: [[TMP0:%.*]] = addrspacecast ptr addrspace(1) [[X_COERCE]] to ptr addrspace(4)
636
636
// OPT-SPIRV-NEXT: [[TMP1:%.*]] = load i32, ptr addrspace(4) [[TMP0]], align 4
@@ -676,7 +676,7 @@ struct SS {
676
676
// CHECK-NEXT: ret void
677
677
//
678
678
// CHECK-SPIRV-LABEL: define spir_kernel void @_Z7kernel82SS(
679
- // CHECK-SPIRV-SAME: [[STRUCT_SS:%.*]] [[A_COERCE:%.*]]) addrspace(4) #[[ATTR0]] {
679
+ // CHECK-SPIRV-SAME: [[STRUCT_SS:%.*]] [[A_COERCE:%.*]]) addrspace(4) #[[ATTR0]] !max_work_group_size [[META5]] {
680
680
// CHECK-SPIRV-NEXT: [[ENTRY:.*:]]
681
681
// CHECK-SPIRV-NEXT: [[A:%.*]] = alloca [[STRUCT_SS]], align 8
682
682
// CHECK-SPIRV-NEXT: [[A1:%.*]] = addrspacecast ptr [[A]] to ptr addrspace(4)
@@ -697,7 +697,7 @@ struct SS {
697
697
// OPT-NEXT: ret void
698
698
//
699
699
// OPT-SPIRV-LABEL: define spir_kernel void @_Z7kernel82SS(
700
- // OPT-SPIRV-SAME: [[STRUCT_SS:%.*]] [[A_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2]] {
700
+ // OPT-SPIRV-SAME: [[STRUCT_SS:%.*]] [[A_COERCE:%.*]]) local_unnamed_addr addrspace(4) #[[ATTR2]] !max_work_group_size [[META5]] {
701
701
// OPT-SPIRV-NEXT: [[ENTRY:.*:]]
702
702
// OPT-SPIRV-NEXT: [[A_COERCE_FCA_0_EXTRACT:%.*]] = extractvalue [[STRUCT_SS]] [[A_COERCE]], 0
703
703
// OPT-SPIRV-NEXT: [[TMP0:%.*]] = load float, ptr addrspace(4) [[A_COERCE_FCA_0_EXTRACT]], align 4
@@ -724,5 +724,9 @@ __global__ void kernel8(struct SS a) {
724
724
*a.x += 3 .f ;
725
725
}
726
726
// .
727
+ // CHECK-SPIRV: [[META5]] = !{i32 1024, i32 1, i32 1}
728
+ // .
727
729
// OPT: [[META4]] = !{}
728
730
// .
731
+ // OPT-SPIRV: [[META5]] = !{i32 1024, i32 1, i32 1}
732
+ // .
0 commit comments