@@ -68,6 +68,31 @@ module attributes {gpu.container_module} {
6868 return
6969 }
7070
71+ // CHECK-LABEL: func @launch_with_attributions(
72+ func.func @launch_with_attributions (%blk : index , %thrd : index , %float : f32 , %data : memref <?xf32 ,1 >) {
73+ // CHECK: gpu.launch
74+ gpu.launch blocks (%bx , %by , %bz ) in (%grid_x = %blk , %grid_y = %blk , %grid_z = %blk )
75+ threads (%tx , %ty , %tz ) in (%block_x = %thrd , %block_y = %thrd , %block_z = %thrd )
76+ // CHECK-SAME: workgroup(%[[WGROUP1:.*]] : memref<42xf32, 3>, %[[WGROUP2:.*]] : memref<2xf32, 3>)
77+ workgroup (%arg1: memref <42 xf32 , 3 >, %arg2: memref <2 xf32 , 3 >)
78+ // CHECK-SAME: private(%[[PRIVATE1:.*]] : memref<2xf32, 5>, %[[PRIVATE2:.*]] : memref<1xf32, 5>)
79+ private (%arg3: memref <2 xf32 , 5 >, %arg4: memref <1 xf32 , 5 >)
80+ {
81+ " use" (%float ) : (f32 ) -> ()
82+ " use" (%data ) : (memref <?xf32 ,1 >) -> ()
83+ // CHECK: "use"(%[[WGROUP1]], %[[WGROUP2]])
84+ " use" (%arg1 , %arg2 ) : (memref <42 xf32 , 3 >, memref <2 xf32 , 3 >) -> ()
85+ // CHECK: "use"(%[[PRIVATE1]])
86+ " use" (%arg3 ) : (memref <2 xf32 , 5 >) -> ()
87+ // CHECK: "use"(%[[PRIVATE2]])
88+ " use" (%arg4 ) : (memref <1 xf32 , 5 >) -> ()
89+ // CHECK: gpu.terminator
90+ gpu.terminator
91+ }
92+ return
93+ }
94+
95+
7196 gpu.module @kernels {
7297 gpu.func @kernel_1 (%arg0 : f32 , %arg1 : memref <?xf32 , 1 >) kernel {
7398 %tIdX = gpu.thread_id x
@@ -228,17 +253,20 @@ module attributes {gpu.container_module} {
228253
229254 gpu.module @gpu_funcs {
230255 // CHECK-LABEL: gpu.func @kernel_1({{.*}}: f32)
231- // CHECK: workgroup
232- // CHECK: private
233- // CHECK: attributes
234256 gpu.func @kernel_1 (%arg0: f32 )
235- workgroup (%arg1: memref <42 xf32 , 3 >)
236- private (%arg2: memref <2 xf32 , 5 >, %arg3: memref <1 xf32 , 5 >)
257+ // CHECK: workgroup(%[[WGROUP1:.*]] : memref<42xf32, 3>, %[[WGROUP2:.*]] : memref<2xf32, 3>)
258+ workgroup (%arg1: memref <42 xf32 , 3 >, %arg2: memref <2 xf32 , 3 >)
259+ // CHECK: private(%[[PRIVATE1:.*]] : memref<2xf32, 5>, %[[PRIVATE2:.*]] : memref<1xf32, 5>)
260+ private (%arg3: memref <2 xf32 , 5 >, %arg4: memref <1 xf32 , 5 >)
237261 kernel
238- attributes {foo =" bar" } {
239- " use" (%arg1 ) : (memref <42 xf32 , 3 >) -> ()
240- " use" (%arg2 ) : (memref <2 xf32 , 5 >) -> ()
241- " use" (%arg3 ) : (memref <1 xf32 , 5 >) -> ()
262+ // CHECK: attributes {foo = "bar"}
263+ attributes {foo = " bar" } {
264+ // CHECK: "use"(%[[WGROUP1]], %[[WGROUP2]])
265+ " use" (%arg1 , %arg2 ) : (memref <42 xf32 , 3 >, memref <2 xf32 , 3 >) -> ()
266+ // CHECK: "use"(%[[PRIVATE1]])
267+ " use" (%arg3 ) : (memref <2 xf32 , 5 >) -> ()
268+ // CHECK: "use"(%[[PRIVATE2]])
269+ " use" (%arg4 ) : (memref <1 xf32 , 5 >) -> ()
242270 gpu.return
243271 }
244272
0 commit comments