252
|
1 ; RUN: sed 's/CODE_OBJECT_VERSION/200/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=kaveri -verify-machineinstrs | FileCheck -check-prefixes=GCN,HSA %s
|
|
2 ; RUN: sed 's/CODE_OBJECT_VERSION/500/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=kaveri -verify-machineinstrs | FileCheck -check-prefixes=GCN,COV5 %s
|
|
3 ; RUN: sed 's/CODE_OBJECT_VERSION/400/g' %s | llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -verify-machineinstrs | FileCheck -check-prefixes=GCN,MESA %s
|
150
|
4
|
|
5 ; GCN-LABEL: {{^}}kernel_implicitarg_ptr_empty:
|
236
|
6 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
|
7 ; HSA: kernarg_segment_byte_size = 56
|
|
8 ; HSA: kernarg_segment_alignment = 4
|
150
|
9
|
236
|
10 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
11 ; MESA: kernarg_segment_byte_size = 16
|
236
|
12 ; MESA: kernarg_segment_alignment = 4
|
150
|
13
|
|
14 ; HSA: s_load_dword s0, s[4:5], 0x0
|
236
|
15
|
|
16 ; COV5: .amdhsa_kernarg_size 256
|
150
|
17 define amdgpu_kernel void @kernel_implicitarg_ptr_empty() #0 {
|
252
|
18 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
19 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
20 ret void
|
|
21 }
|
|
22
|
236
|
23 ; GCN-LABEL: {{^}}kernel_implicitarg_ptr_empty_0implicit:
|
|
24 ; HSA: enable_sgpr_kernarg_segment_ptr = 0
|
|
25 ; HSA: kernarg_segment_byte_size = 0
|
|
26 ; HSA: kernarg_segment_alignment = 4
|
|
27
|
|
28 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
|
29 ; MESA: kernarg_segment_byte_size = 16
|
|
30 ; MESA: kernarg_segment_alignment = 4
|
|
31
|
|
32 ; HSA: s_mov_b64 [[NULL:s\[[0-9]+:[0-9]+\]]], 0{{$}}
|
|
33 ; HSA: s_load_dword s0, [[NULL]], 0x0
|
|
34
|
|
35 ; MESA: s_load_dword s0, s[4:5], 0x0
|
150
|
36
|
236
|
37 ; COV5: .amdhsa_kernarg_size 0
|
|
38 define amdgpu_kernel void @kernel_implicitarg_ptr_empty_0implicit() #3 {
|
252
|
39 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
40 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
236
|
41 ret void
|
|
42 }
|
|
43
|
|
44 ; GCN-LABEL: {{^}}opencl_kernel_implicitarg_ptr_empty:
|
|
45
|
|
46 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
47 ; HSA: kernarg_segment_byte_size = 48
|
236
|
48 ; HSA: kernarg_segment_alignment = 4
|
|
49
|
|
50 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
51 ; MESA: kernarg_segment_byte_size = 16
|
236
|
52 ; MESA: kernarg_segment_alignment = 4
|
150
|
53
|
|
54 ; HSA: s_load_dword s0, s[4:5], 0x0
|
236
|
55
|
|
56 ; COV5: .amdhsa_kernarg_size 48
|
150
|
57 define amdgpu_kernel void @opencl_kernel_implicitarg_ptr_empty() #1 {
|
252
|
58 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
59 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
60 ret void
|
|
61 }
|
|
62
|
|
63 ; GCN-LABEL: {{^}}kernel_implicitarg_ptr:
|
|
64
|
236
|
65 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
|
66 ; HSA: kernarg_segment_byte_size = 168
|
|
67 ; HSA: kernarg_segment_alignment = 4
|
|
68
|
|
69 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
70 ; MESA: kernarg_segment_byte_size = 128
|
236
|
71 ; MESA: kernarg_segment_alignment = 4
|
150
|
72
|
|
73 ; HSA: s_load_dword s0, s[4:5], 0x1c
|
236
|
74
|
|
75 ; COV5: .amdhsa_kernarg_size 368
|
150
|
76 define amdgpu_kernel void @kernel_implicitarg_ptr([112 x i8]) #0 {
|
252
|
77 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
78 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
79 ret void
|
|
80 }
|
|
81
|
|
82 ; GCN-LABEL: {{^}}opencl_kernel_implicitarg_ptr:
|
|
83
|
236
|
84 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
85 ; HSA: kernarg_segment_byte_size = 160
|
236
|
86 ; HSA: kernarg_segment_alignment = 4
|
|
87
|
|
88 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
89 ; MESA: kernarg_segment_byte_size = 128
|
236
|
90 ; MESA: kernarg_segment_alignment = 4
|
150
|
91
|
|
92 ; HSA: s_load_dword s0, s[4:5], 0x1c
|
236
|
93
|
|
94 ; COV5: .amdhsa_kernarg_size 160
|
150
|
95 define amdgpu_kernel void @opencl_kernel_implicitarg_ptr([112 x i8]) #1 {
|
252
|
96 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
97 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
98 ret void
|
|
99 }
|
|
100
|
|
101 ; GCN-LABEL: {{^}}func_implicitarg_ptr:
|
|
102 ; GCN: s_waitcnt
|
236
|
103 ; GCN: s_load_dword s{{[0-9]+}}, s[8:9], 0x0
|
150
|
104 ; GCN-NEXT: s_waitcnt
|
|
105 ; GCN-NEXT: s_setpc_b64
|
|
106 define void @func_implicitarg_ptr() #0 {
|
252
|
107 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
108 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
109 ret void
|
|
110 }
|
|
111
|
|
112 ; GCN-LABEL: {{^}}opencl_func_implicitarg_ptr:
|
|
113 ; GCN: s_waitcnt
|
236
|
114 ; GCN: s_load_dword s{{[0-9]+}}, s[8:9], 0x0
|
150
|
115 ; GCN-NEXT: s_waitcnt
|
|
116 ; GCN-NEXT: s_setpc_b64
|
|
117 define void @opencl_func_implicitarg_ptr() #0 {
|
252
|
118 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
119 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
120 ret void
|
|
121 }
|
|
122
|
|
123 ; GCN-LABEL: {{^}}kernel_call_implicitarg_ptr_func_empty:
|
236
|
124 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
|
125 ; HSA: kernarg_segment_byte_size = 56
|
|
126 ; HSA: kernarg_segment_alignment = 4
|
|
127
|
|
128 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
129 ; MESA: kernarg_segment_byte_size = 16
|
236
|
130 ; MESA: kernarg_segment_alignment = 4
|
|
131
|
|
132 ; GCN: s_mov_b64 s[8:9], s[4:5]
|
150
|
133 ; GCN: s_swappc_b64
|
236
|
134
|
|
135 ; COV5: .amdhsa_kernarg_size 256
|
150
|
136 define amdgpu_kernel void @kernel_call_implicitarg_ptr_func_empty() #0 {
|
|
137 call void @func_implicitarg_ptr()
|
|
138 ret void
|
|
139 }
|
|
140
|
236
|
141 ; GCN-LABEL: {{^}}kernel_call_implicitarg_ptr_func_empty_implicit0:
|
|
142 ; HSA: enable_sgpr_kernarg_segment_ptr = 0
|
|
143 ; HSA: kernarg_segment_byte_size = 0
|
|
144 ; HSA: kernarg_segment_alignment = 4
|
|
145
|
|
146 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
|
147 ; MESA: kernarg_segment_byte_size = 16
|
|
148 ; MESA: kernarg_segment_alignment = 4
|
|
149
|
|
150 ; HSA: s_mov_b64 s[8:9], 0{{$}}
|
|
151 ; MESA: s_mov_b64 s[8:9], s[4:5]{{$}}
|
|
152 ; GCN: s_swappc_b64
|
|
153
|
|
154 ; COV5: .amdhsa_kernarg_size 0
|
|
155 define amdgpu_kernel void @kernel_call_implicitarg_ptr_func_empty_implicit0() #3 {
|
|
156 call void @func_implicitarg_ptr()
|
|
157 ret void
|
|
158 }
|
|
159
|
150
|
160 ; GCN-LABEL: {{^}}opencl_kernel_call_implicitarg_ptr_func_empty:
|
236
|
161 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
162 ; HSA: kernarg_segment_byte_size = 48
|
236
|
163 ; HSA: kernarg_segment_alignment = 4
|
|
164 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
165 ; MESA: kernarg_segment_byte_size = 16
|
236
|
166 ; GCN: s_mov_b64 s[8:9], s[4:5]
|
150
|
167 ; GCN-NOT: s4
|
|
168 ; GCN-NOT: s5
|
|
169 ; GCN: s_swappc_b64
|
236
|
170
|
|
171 ; COV5: .amdhsa_kernarg_size 48
|
150
|
172 define amdgpu_kernel void @opencl_kernel_call_implicitarg_ptr_func_empty() #1 {
|
|
173 call void @func_implicitarg_ptr()
|
|
174 ret void
|
|
175 }
|
|
176
|
|
177 ; GCN-LABEL: {{^}}kernel_call_implicitarg_ptr_func:
|
236
|
178 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
|
179 ; HSA: kernarg_segment_byte_size = 168
|
|
180 ; HSA: kernarg_segment_alignment = 4
|
|
181
|
|
182 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
183 ; MESA: kernarg_segment_byte_size = 128
|
236
|
184 ; MESA: kernarg_segment_alignment = 4
|
150
|
185
|
236
|
186 ; HSA: s_add_u32 s8, s4, 0x70
|
|
187 ; MESA: s_add_u32 s8, s4, 0x70
|
150
|
188
|
236
|
189 ; GCN: s_addc_u32 s9, s5, 0{{$}}
|
150
|
190 ; GCN: s_swappc_b64
|
236
|
191
|
|
192 ; COV5: .amdhsa_kernarg_size 368
|
150
|
193 define amdgpu_kernel void @kernel_call_implicitarg_ptr_func([112 x i8]) #0 {
|
|
194 call void @func_implicitarg_ptr()
|
|
195 ret void
|
|
196 }
|
|
197
|
|
198 ; GCN-LABEL: {{^}}opencl_kernel_call_implicitarg_ptr_func:
|
236
|
199 ; HSA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
200 ; HSA: kernarg_segment_byte_size = 160
|
236
|
201 ; HSA: kernarg_segment_alignment = 4
|
|
202 ; MESA: enable_sgpr_kernarg_segment_ptr = 1
|
150
|
203 ; MESA: kernarg_segment_byte_size = 128
|
236
|
204 ; MESA: kernarg_segment_alignment = 4
|
150
|
205
|
236
|
206 ; GCN: s_add_u32 s8, s4, 0x70
|
|
207 ; GCN: s_addc_u32 s9, s5, 0{{$}}
|
150
|
208 ; GCN: s_swappc_b64
|
236
|
209
|
|
210 ; COV5: .amdhsa_kernarg_size 160
|
150
|
211 define amdgpu_kernel void @opencl_kernel_call_implicitarg_ptr_func([112 x i8]) #1 {
|
|
212 call void @func_implicitarg_ptr()
|
|
213 ret void
|
|
214 }
|
|
215
|
|
216 ; GCN-LABEL: {{^}}func_call_implicitarg_ptr_func:
|
236
|
217 ; GCN-NOT: s8
|
|
218 ; GCN-NOT: s9
|
|
219 ; GCN-NOT: s[8:9]
|
|
220 ; GCN: s_swappc_b64
|
|
221 ; GCN: s_setpc_b64 s[30:31]
|
150
|
222 define void @func_call_implicitarg_ptr_func() #0 {
|
|
223 call void @func_implicitarg_ptr()
|
|
224 ret void
|
|
225 }
|
|
226
|
|
227 ; GCN-LABEL: {{^}}opencl_func_call_implicitarg_ptr_func:
|
236
|
228 ; GCN-NOT: s8
|
|
229 ; GCN-NOT: s9
|
|
230 ; GCN-NOT: s[8:9]
|
|
231 ; GCN: s_swappc_b64
|
|
232 ; GCN: s_setpc_b64 s[30:31]
|
150
|
233 define void @opencl_func_call_implicitarg_ptr_func() #0 {
|
|
234 call void @func_implicitarg_ptr()
|
|
235 ret void
|
|
236 }
|
|
237
|
|
238 ; GCN-LABEL: {{^}}func_kernarg_implicitarg_ptr:
|
|
239 ; GCN: s_waitcnt
|
173
|
240 ; GCN-DAG: s_mov_b64 [[NULL:s\[[0-9]+:[0-9]+\]]], 0
|
|
241 ; GCN-DAG: s_load_dword s{{[0-9]+}}, [[NULL]], 0x0
|
236
|
242 ; GCN: s_load_dword s{{[0-9]+}}, s[8:9], 0x0
|
173
|
243 ; GCN: s_waitcnt lgkmcnt(0)
|
150
|
244 define void @func_kernarg_implicitarg_ptr() #0 {
|
252
|
245 %kernarg.segment.ptr = call ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr()
|
|
246 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
247 %load0 = load volatile i32, ptr addrspace(4) %kernarg.segment.ptr
|
|
248 %load1 = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
249 ret void
|
|
250 }
|
|
251
|
|
252 ; GCN-LABEL: {{^}}opencl_func_kernarg_implicitarg_ptr:
|
|
253 ; GCN: s_waitcnt
|
173
|
254 ; GCN-DAG: s_mov_b64 [[NULL:s\[[0-9]+:[0-9]+\]]], 0
|
|
255 ; GCN-DAG: s_load_dword s{{[0-9]+}}, [[NULL]], 0x0
|
236
|
256 ; GCN: s_load_dword s{{[0-9]+}}, s[8:9], 0x0
|
173
|
257 ; GCN: s_waitcnt lgkmcnt(0)
|
150
|
258 define void @opencl_func_kernarg_implicitarg_ptr() #0 {
|
252
|
259 %kernarg.segment.ptr = call ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr()
|
|
260 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
261 %load0 = load volatile i32, ptr addrspace(4) %kernarg.segment.ptr
|
|
262 %load1 = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
263 ret void
|
|
264 }
|
|
265
|
|
266 ; GCN-LABEL: {{^}}kernel_call_kernarg_implicitarg_ptr_func:
|
236
|
267 ; GCN: s_add_u32 s8, s4, 0x70
|
|
268 ; GCN: s_addc_u32 s9, s5, 0
|
150
|
269 ; GCN: s_swappc_b64
|
|
270 define amdgpu_kernel void @kernel_call_kernarg_implicitarg_ptr_func([112 x i8]) #0 {
|
|
271 call void @func_kernarg_implicitarg_ptr()
|
|
272 ret void
|
|
273 }
|
|
274
|
|
275 ; GCN-LABEL: {{^}}kernel_implicitarg_no_struct_align_padding:
|
|
276 ; HSA: kernarg_segment_byte_size = 120
|
236
|
277 ; HSA: kernarg_segment_alignment = 6
|
150
|
278 ; MESA: kernarg_segment_byte_size = 84
|
236
|
279 ; MESA: kernarg_segment_alignment = 6
|
|
280
|
|
281 ; COV5: .amdhsa_kernarg_size 120
|
150
|
282 define amdgpu_kernel void @kernel_implicitarg_no_struct_align_padding(<16 x i32>, i32) #1 {
|
252
|
283 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
|
|
284 %load = load volatile i32, ptr addrspace(4) %implicitarg.ptr
|
150
|
285 ret void
|
|
286 }
|
|
287
|
236
|
288 ; HSA-LABEL: Kernels:
|
|
289 ; HSA-LABEL: - Name: kernel_implicitarg_ptr_empty
|
|
290 ; HSA: CodeProps:
|
|
291 ; HSA: KernargSegmentSize: 56
|
|
292 ; HSA: KernargSegmentAlign: 8
|
|
293
|
|
294 ; HSA-LABEL: - Name: kernel_implicitarg_ptr_empty_0implicit
|
|
295 ; HSA: KernargSegmentSize: 0
|
|
296 ; HSA: KernargSegmentAlign: 4
|
|
297
|
|
298 ; HSA-LABEL: - Name: opencl_kernel_implicitarg_ptr_empty
|
|
299 ; HSA: KernargSegmentSize: 48
|
|
300 ; HSA: KernargSegmentAlign: 8
|
|
301
|
|
302 ; HSA-LABEL: - Name: kernel_implicitarg_ptr
|
|
303 ; HSA: KernargSegmentSize: 168
|
|
304 ; HSA: KernargSegmentAlign: 8
|
|
305
|
|
306 ; HSA-LABEL: - Name: opencl_kernel_implicitarg_ptr
|
|
307 ; HSA: KernargSegmentSize: 160
|
|
308 ; HSA: KernargSegmentAlign: 8
|
|
309
|
|
310 ; HSA-LABEL: - Name: kernel_call_implicitarg_ptr_func_empty
|
|
311 ; HSA: KernargSegmentSize: 56
|
|
312 ; HSA: KernargSegmentAlign: 8
|
|
313
|
|
314 ; HSA-LABEL: - Name: kernel_call_implicitarg_ptr_func_empty_implicit0
|
|
315 ; HSA: KernargSegmentSize: 0
|
|
316 ; HSA: KernargSegmentAlign: 4
|
|
317
|
|
318 ; HSA-LABEL: - Name: opencl_kernel_call_implicitarg_ptr_func_empty
|
|
319 ; HSA: KernargSegmentSize: 48
|
|
320 ; HSA: KernargSegmentAlign: 8
|
|
321
|
|
322 ; HSA-LABEL: - Name: kernel_call_implicitarg_ptr_func
|
|
323 ; HSA: KernargSegmentSize: 168
|
|
324 ; HSA: KernargSegmentAlign: 8
|
|
325
|
|
326 ; HSA-LABEL: - Name: opencl_kernel_call_implicitarg_ptr_func
|
|
327 ; HSA: KernargSegmentSize: 160
|
|
328 ; HSA: KernargSegmentAlign: 8
|
|
329
|
|
330 ; HSA-LABEL: - Name: kernel_call_kernarg_implicitarg_ptr_func
|
|
331 ; HSA: KernargSegmentSize: 168
|
|
332 ; HSA: KernargSegmentAlign: 8
|
|
333
|
|
334 ; HSA-LABEL: - Name: kernel_implicitarg_no_struct_align_padding
|
|
335 ; HSA: KernargSegmentSize: 120
|
|
336 ; HSA: KernargSegmentAlign: 64
|
|
337
|
|
338 ; COV5-LABEL: amdhsa.kernels:
|
|
339 ; COV5: .kernarg_segment_align: 8
|
|
340 ; COV5-NEXT: .kernarg_segment_size: 256
|
|
341 ; COV5-LABEL: .name: kernel_implicitarg_ptr_empty
|
|
342
|
|
343 ; COV5: .kernarg_segment_align: 4
|
|
344 ; COV5-NEXT: .kernarg_segment_size: 0
|
|
345 ; COV5-LABEL: .name: kernel_implicitarg_ptr_empty_0implicit
|
|
346
|
|
347 ; COV5: .kernarg_segment_align: 8
|
|
348 ; COV5-NEXT: .kernarg_segment_size: 48
|
|
349 ; COV5-LABEL: .name: opencl_kernel_implicitarg_ptr_empty
|
|
350
|
|
351 ; COV5: .kernarg_segment_align: 8
|
|
352 ; COV5-NEXT: .kernarg_segment_size: 368
|
|
353 ; COV5-LABEL: .name: kernel_implicitarg_ptr
|
|
354
|
|
355 ; COV5: .kernarg_segment_align: 8
|
|
356 ; COV5-NEXT: .kernarg_segment_size: 160
|
|
357 ; COV5-LABEL: .name: opencl_kernel_implicitarg_ptr
|
|
358
|
|
359 ; COV5: .kernarg_segment_align: 8
|
|
360 ; COV5-NEXT: .kernarg_segment_size: 256
|
|
361 ; COV5-LABEL: .name: kernel_call_implicitarg_ptr_func_empty
|
|
362
|
|
363 ; COV5: .kernarg_segment_align: 4
|
|
364 ; COV5-NEXT: .kernarg_segment_size: 0
|
|
365 ; COV5-LABEL: .name: kernel_call_implicitarg_ptr_func_empty_implicit0
|
|
366
|
|
367 ; COV5: .kernarg_segment_align: 8
|
|
368 ; COV5-NEXT: .kernarg_segment_size: 48
|
|
369 ; COV5-LABEL: .name: opencl_kernel_call_implicitarg_ptr_func_empty
|
|
370
|
|
371 ; COV5: .kernarg_segment_align: 8
|
|
372 ; COV5-NEXT: .kernarg_segment_size: 368
|
|
373 ; COV5-LABEL: .name: kernel_call_implicitarg_ptr_func
|
|
374
|
|
375 ; COV5: .kernarg_segment_align: 8
|
|
376 ; COV5-NEXT: .kernarg_segment_size: 160
|
|
377 ; COV5-LABEL: .name: opencl_kernel_call_implicitarg_ptr_func
|
|
378
|
|
379 ; COV5: .kernarg_segment_align: 8
|
|
380 ; COV5-NEXT: .kernarg_segment_size: 368
|
|
381 ; COV5-LABEL: .name: kernel_call_kernarg_implicitarg_ptr_func
|
|
382
|
|
383 ; COV5: .kernarg_segment_align: 64
|
|
384 ; COV5-NEXT: .kernarg_segment_size: 120
|
|
385 ; COV5-LABEL: .name: kernel_implicitarg_no_struct_align_padding
|
|
386
|
252
|
387 declare ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr() #2
|
|
388 declare ptr addrspace(4) @llvm.amdgcn.kernarg.segment.ptr() #2
|
150
|
389
|
|
390 attributes #0 = { nounwind noinline }
|
|
391 attributes #1 = { nounwind noinline "amdgpu-implicitarg-num-bytes"="48" }
|
|
392 attributes #2 = { nounwind readnone speculatable }
|
236
|
393 attributes #3 = { nounwind noinline "amdgpu-implicitarg-num-bytes"="0" }
|
252
|
394
|
|
395 !llvm.module.flags = !{!0}
|
|
396 !0 = !{i32 1, !"amdgpu_code_object_version", i32 CODE_OBJECT_VERSION}
|