xref: /llvm-project/llvm/test/Transforms/OpenMP/add_attributes.ll (revision 29441e4f5fa5f5c7709f7cf180815ba97f611297)
1; RUN: opt < %s -S -passes=openmp-opt-cgscc -mtriple=x86_64-unknown-unknown | FileCheck %s
2; RUN: opt < %s -S -passes=openmp-opt-cgscc -openmp-ir-builder-optimistic-attributes -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=OPTIMISTIC
3; RUN: opt < %s -S -passes=openmp-opt-cgscc -mtriple=s390x-unknown-linux | FileCheck %s --check-prefix=EXT
4; RUN: opt < %s -S -passes=openmp-opt-cgscc -mtriple=mips-linux-gnu | FileCheck %s --check-prefix=MIPS_EXT
5; RUN: opt < %s -S -passes=openmp-opt-cgscc -mtriple=riscv64 | FileCheck %s --check-prefix=RISCV_EXT
6; REQUIRES: x86-registered-target, systemz-registered-target, mips-registered-target, riscv-registered-target
7
8%struct.omp_lock_t = type { ptr }
9%struct.omp_nest_lock_t = type { ptr }
10%struct.ident_t = type { i32, i32, i32, i32, ptr }
11%struct.__tgt_async_info = type { ptr }
12%struct.__tgt_kernel_arguments = type { i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, i64 }
13
14define void @call_all(i32 %schedule, ptr %lock, i32 %lock_hint, ptr %nest_lock, i32 %i, ptr %s, i64 %st, ptr %vp, double %d, i32 %proc_bind, i64 %allocator_handle, ptr %cp, i64 %event_handle, i32 %pause_resource) {
15entry:
16  %schedule.addr = alloca i32, align 4
17  %lock.addr = alloca ptr, align 8
18  %lock_hint.addr = alloca i32, align 4
19  %nest_lock.addr = alloca ptr, align 8
20  %i.addr = alloca i32, align 4
21  %s.addr = alloca ptr, align 8
22  %st.addr = alloca i64, align 8
23  %vp.addr = alloca ptr, align 8
24  %d.addr = alloca double, align 8
25  %proc_bind.addr = alloca i32, align 4
26  %allocator_handle.addr = alloca i64, align 8
27  %cp.addr = alloca ptr, align 8
28  %event_handle.addr = alloca i64, align 8
29  %pause_resource.addr = alloca i32, align 4
30  store i32 %schedule, ptr %schedule.addr, align 4
31  store ptr %lock, ptr %lock.addr, align 8
32  store i32 %lock_hint, ptr %lock_hint.addr, align 4
33  store ptr %nest_lock, ptr %nest_lock.addr, align 8
34  store i32 %i, ptr %i.addr, align 4
35  store ptr %s, ptr %s.addr, align 8
36  store i64 %st, ptr %st.addr, align 8
37  store ptr %vp, ptr %vp.addr, align 8
38  store double %d, ptr %d.addr, align 8
39  store i32 %proc_bind, ptr %proc_bind.addr, align 4
40  store i64 %allocator_handle, ptr %allocator_handle.addr, align 8
41  store ptr %cp, ptr %cp.addr, align 8
42  store i64 %event_handle, ptr %event_handle.addr, align 8
43  store i32 %pause_resource, ptr %pause_resource.addr, align 4
44  call void @omp_set_num_threads(i32 0)
45  call void @omp_set_dynamic(i32 0)
46  call void @omp_set_nested(i32 0)
47  call void @omp_set_max_active_levels(i32 0)
48  %0 = load i32, ptr %schedule.addr, align 4
49  call void @omp_set_schedule(i32 %0, i32 0)
50  %call = call i32 @omp_get_num_threads()
51  store i32 %call, ptr %i.addr, align 4
52  %1 = load i32, ptr %i.addr, align 4
53  call void @use_int(i32 %1)
54  %call1 = call i32 @omp_get_dynamic()
55  store i32 %call1, ptr %i.addr, align 4
56  %2 = load i32, ptr %i.addr, align 4
57  call void @use_int(i32 %2)
58  %call2 = call i32 @omp_get_nested()
59  store i32 %call2, ptr %i.addr, align 4
60  %3 = load i32, ptr %i.addr, align 4
61  call void @use_int(i32 %3)
62  %call3 = call i32 @omp_get_max_threads()
63  store i32 %call3, ptr %i.addr, align 4
64  %4 = load i32, ptr %i.addr, align 4
65  call void @use_int(i32 %4)
66  %call4 = call i32 @omp_get_thread_num()
67  store i32 %call4, ptr %i.addr, align 4
68  %5 = load i32, ptr %i.addr, align 4
69  call void @use_int(i32 %5)
70  %call5 = call i32 @omp_get_num_procs()
71  store i32 %call5, ptr %i.addr, align 4
72  %6 = load i32, ptr %i.addr, align 4
73  call void @use_int(i32 %6)
74  %call6 = call i32 @omp_in_parallel()
75  store i32 %call6, ptr %i.addr, align 4
76  %7 = load i32, ptr %i.addr, align 4
77  call void @use_int(i32 %7)
78  %call7 = call i32 @omp_in_final()
79  store i32 %call7, ptr %i.addr, align 4
80  %8 = load i32, ptr %i.addr, align 4
81  call void @use_int(i32 %8)
82  %call8 = call i32 @omp_get_active_level()
83  store i32 %call8, ptr %i.addr, align 4
84  %9 = load i32, ptr %i.addr, align 4
85  call void @use_int(i32 %9)
86  %call9 = call i32 @omp_get_level()
87  store i32 %call9, ptr %i.addr, align 4
88  %10 = load i32, ptr %i.addr, align 4
89  call void @use_int(i32 %10)
90  %call10 = call i32 @omp_get_ancestor_thread_num(i32 0)
91  store i32 %call10, ptr %i.addr, align 4
92  %11 = load i32, ptr %i.addr, align 4
93  call void @use_int(i32 %11)
94  %call11 = call i32 @omp_get_team_size(i32 0)
95  store i32 %call11, ptr %i.addr, align 4
96  %12 = load i32, ptr %i.addr, align 4
97  call void @use_int(i32 %12)
98  %call12 = call i32 @omp_get_thread_limit()
99  store i32 %call12, ptr %i.addr, align 4
100  %13 = load i32, ptr %i.addr, align 4
101  call void @use_int(i32 %13)
102  %call13 = call i32 @omp_get_max_active_levels()
103  store i32 %call13, ptr %i.addr, align 4
104  %14 = load i32, ptr %i.addr, align 4
105  call void @use_int(i32 %14)
106  call void @omp_get_schedule(ptr %schedule.addr, ptr %i.addr)
107  %call14 = call i32 @omp_get_max_task_priority()
108  store i32 %call14, ptr %i.addr, align 4
109  %15 = load i32, ptr %i.addr, align 4
110  call void @use_int(i32 %15)
111  %16 = load ptr, ptr %lock.addr, align 8
112  call void @omp_init_lock(ptr %16)
113  %17 = load ptr, ptr %lock.addr, align 8
114  call void @omp_set_lock(ptr %17)
115  %18 = load ptr, ptr %lock.addr, align 8
116  call void @omp_unset_lock(ptr %18)
117  %19 = load ptr, ptr %lock.addr, align 8
118  call void @omp_destroy_lock(ptr %19)
119  %20 = load ptr, ptr %lock.addr, align 8
120  %call15 = call i32 @omp_test_lock(ptr %20)
121  store i32 %call15, ptr %i.addr, align 4
122  %21 = load i32, ptr %i.addr, align 4
123  call void @use_int(i32 %21)
124  %22 = load ptr, ptr %nest_lock.addr, align 8
125  call void @omp_init_nest_lock(ptr %22)
126  %23 = load ptr, ptr %nest_lock.addr, align 8
127  call void @omp_set_nest_lock(ptr %23)
128  %24 = load ptr, ptr %nest_lock.addr, align 8
129  call void @omp_unset_nest_lock(ptr %24)
130  %25 = load ptr, ptr %nest_lock.addr, align 8
131  call void @omp_destroy_nest_lock(ptr %25)
132  %26 = load ptr, ptr %nest_lock.addr, align 8
133  %call16 = call i32 @omp_test_nest_lock(ptr %26)
134  store i32 %call16, ptr %i.addr, align 4
135  %27 = load i32, ptr %i.addr, align 4
136  call void @use_int(i32 %27)
137  %28 = load ptr, ptr %lock.addr, align 8
138  %29 = load i32, ptr %lock_hint.addr, align 4
139  call void @omp_init_lock_with_hint(ptr %28, i32 %29)
140  %30 = load ptr, ptr %nest_lock.addr, align 8
141  %31 = load i32, ptr %lock_hint.addr, align 4
142  call void @omp_init_nest_lock_with_hint(ptr %30, i32 %31)
143  %call17 = call double @omp_get_wtime()
144  store double %call17, ptr %d.addr, align 8
145  %32 = load double, ptr %d.addr, align 8
146  call void @use_double(double %32)
147  %call18 = call double @omp_get_wtick()
148  store double %call18, ptr %d.addr, align 8
149  %33 = load double, ptr %d.addr, align 8
150  call void @use_double(double %33)
151  %call19 = call i32 @omp_get_default_device()
152  store i32 %call19, ptr %i.addr, align 4
153  %34 = load i32, ptr %i.addr, align 4
154  call void @use_int(i32 %34)
155  call void @omp_set_default_device(i32 0)
156  %call20 = call i32 @omp_is_initial_device()
157  store i32 %call20, ptr %i.addr, align 4
158  %35 = load i32, ptr %i.addr, align 4
159  call void @use_int(i32 %35)
160  %call21 = call i32 @omp_get_num_devices()
161  store i32 %call21, ptr %i.addr, align 4
162  %36 = load i32, ptr %i.addr, align 4
163  call void @use_int(i32 %36)
164  %call22 = call i32 @omp_get_num_teams()
165  store i32 %call22, ptr %i.addr, align 4
166  %37 = load i32, ptr %i.addr, align 4
167  call void @use_int(i32 %37)
168  %call23 = call i32 @omp_get_team_num()
169  store i32 %call23, ptr %i.addr, align 4
170  %38 = load i32, ptr %i.addr, align 4
171  call void @use_int(i32 %38)
172  %call24 = call i32 @omp_get_cancellation()
173  store i32 %call24, ptr %i.addr, align 4
174  %39 = load i32, ptr %i.addr, align 4
175  call void @use_int(i32 %39)
176  %call25 = call i32 @omp_get_initial_device()
177  store i32 %call25, ptr %i.addr, align 4
178  %40 = load i32, ptr %i.addr, align 4
179  call void @use_int(i32 %40)
180  %41 = load i64, ptr %st.addr, align 8
181  %42 = load i32, ptr %i.addr, align 4
182  %call26 = call ptr @omp_target_alloc(i64 %41, i32 %42)
183  store ptr %call26, ptr %vp.addr, align 8
184  %43 = load ptr, ptr %vp.addr, align 8
185  call void @use_voidptr(ptr %43)
186  %44 = load ptr, ptr %vp.addr, align 8
187  %45 = load i32, ptr %i.addr, align 4
188  call void @omp_target_free(ptr %44, i32 %45)
189  %46 = load ptr, ptr %vp.addr, align 8
190  %47 = load i32, ptr %i.addr, align 4
191  %call27 = call i32 @omp_target_is_present(ptr %46, i32 %47)
192  store i32 %call27, ptr %i.addr, align 4
193  %48 = load i32, ptr %i.addr, align 4
194  call void @use_int(i32 %48)
195  %49 = load ptr, ptr %vp.addr, align 8
196  %50 = load ptr, ptr %vp.addr, align 8
197  %51 = load i64, ptr %st.addr, align 8
198  %52 = load i64, ptr %st.addr, align 8
199  %53 = load i64, ptr %st.addr, align 8
200  %54 = load i32, ptr %i.addr, align 4
201  %55 = load i32, ptr %i.addr, align 4
202  %call28 = call i32 @omp_target_memcpy(ptr %49, ptr %50, i64 %51, i64 %52, i64 %53, i32 %54, i32 %55)
203  store i32 %call28, ptr %i.addr, align 4
204  %56 = load i32, ptr %i.addr, align 4
205  call void @use_int(i32 %56)
206  %57 = load ptr, ptr %vp.addr, align 8
207  %58 = load ptr, ptr %vp.addr, align 8
208  %59 = load i64, ptr %st.addr, align 8
209  %60 = load i64, ptr %st.addr, align 8
210  %61 = load i32, ptr %i.addr, align 4
211  %call29 = call i32 @omp_target_associate_ptr(ptr %57, ptr %58, i64 %59, i64 %60, i32 %61)
212  store i32 %call29, ptr %i.addr, align 4
213  %62 = load i32, ptr %i.addr, align 4
214  call void @use_int(i32 %62)
215  %63 = load ptr, ptr %vp.addr, align 8
216  %64 = load i32, ptr %i.addr, align 4
217  %call30 = call i32 @omp_target_disassociate_ptr(ptr %63, i32 %64)
218  store i32 %call30, ptr %i.addr, align 4
219  %65 = load i32, ptr %i.addr, align 4
220  call void @use_int(i32 %65)
221  %call31 = call i32 @omp_get_device_num()
222  store i32 %call31, ptr %i.addr, align 4
223  %66 = load i32, ptr %i.addr, align 4
224  call void @use_int(i32 %66)
225  %call32 = call i32 @omp_get_proc_bind()
226  store i32 %call32, ptr %proc_bind.addr, align 4
227  %call33 = call i32 @omp_get_num_places()
228  store i32 %call33, ptr %i.addr, align 4
229  %67 = load i32, ptr %i.addr, align 4
230  call void @use_int(i32 %67)
231  %call34 = call i32 @omp_get_place_num_procs(i32 0)
232  store i32 %call34, ptr %i.addr, align 4
233  %68 = load i32, ptr %i.addr, align 4
234  call void @use_int(i32 %68)
235  %69 = load i32, ptr %i.addr, align 4
236  call void @omp_get_place_proc_ids(i32 %69, ptr %i.addr)
237  %call35 = call i32 @omp_get_place_num()
238  store i32 %call35, ptr %i.addr, align 4
239  %70 = load i32, ptr %i.addr, align 4
240  call void @use_int(i32 %70)
241  %call36 = call i32 @omp_get_partition_num_places()
242  store i32 %call36, ptr %i.addr, align 4
243  %71 = load i32, ptr %i.addr, align 4
244  call void @use_int(i32 %71)
245  call void @omp_get_partition_place_nums(ptr %i.addr)
246  %72 = load i32, ptr %i.addr, align 4
247  %73 = load i32, ptr %i.addr, align 4
248  %74 = load ptr, ptr %vp.addr, align 8
249  %call37 = call i32 @omp_control_tool(i32 %72, i32 %73, ptr %74)
250  store i32 %call37, ptr %i.addr, align 4
251  %75 = load i32, ptr %i.addr, align 4
252  call void @use_int(i32 %75)
253  %76 = load i64, ptr %allocator_handle.addr, align 8
254  call void @omp_destroy_allocator(i64 %76)
255  %77 = load i64, ptr %allocator_handle.addr, align 8
256  call void @omp_set_default_allocator(i64 %77)
257  %call38 = call i64 @omp_get_default_allocator()
258  store i64 %call38, ptr %allocator_handle.addr, align 8
259  %78 = load i64, ptr %st.addr, align 8
260  %79 = load i64, ptr %allocator_handle.addr, align 8
261  %call39 = call ptr @omp_alloc(i64 %78, i64 %79)
262  store ptr %call39, ptr %vp.addr, align 8
263  %80 = load ptr, ptr %vp.addr, align 8
264  call void @use_voidptr(ptr %80)
265  %81 = load ptr, ptr %vp.addr, align 8
266  %82 = load i64, ptr %allocator_handle.addr, align 8
267  call void @omp_free(ptr %81, i64 %82)
268  %83 = load i64, ptr %st.addr, align 8
269  %84 = load i64, ptr %allocator_handle.addr, align 8
270  %call40 = call ptr @omp_alloc(i64 %83, i64 %84)
271  store ptr %call40, ptr %vp.addr, align 8
272  %85 = load ptr, ptr %vp.addr, align 8
273  call void @use_voidptr(ptr %85)
274  %86 = load ptr, ptr %vp.addr, align 8
275  %87 = load i64, ptr %allocator_handle.addr, align 8
276  call void @omp_free(ptr %86, i64 %87)
277  %88 = load ptr, ptr %s.addr, align 8
278  call void @ompc_set_affinity_format(ptr %88)
279  %89 = load ptr, ptr %cp.addr, align 8
280  %90 = load i64, ptr %st.addr, align 8
281  %call41 = call i64 @ompc_get_affinity_format(ptr %89, i64 %90)
282  store i64 %call41, ptr %st.addr, align 8
283  %91 = load i64, ptr %st.addr, align 8
284  call void @use_sizet(i64 %91)
285  %92 = load ptr, ptr %s.addr, align 8
286  call void @ompc_display_affinity(ptr %92)
287  %93 = load ptr, ptr %cp.addr, align 8
288  %94 = load i64, ptr %st.addr, align 8
289  %95 = load ptr, ptr %s.addr, align 8
290  %call42 = call i64 @ompc_capture_affinity(ptr %93, i64 %94, ptr %95)
291  store i64 %call42, ptr %st.addr, align 8
292  %96 = load i64, ptr %st.addr, align 8
293  call void @use_sizet(i64 %96)
294  %97 = load i64, ptr %event_handle.addr, align 8
295  call void @omp_fulfill_event(i64 %97)
296  %98 = load i32, ptr %pause_resource.addr, align 4
297  %99 = load i32, ptr %i.addr, align 4
298  %call43 = call i32 @omp_pause_resource(i32 %98, i32 %99)
299  store i32 %call43, ptr %i.addr, align 4
300  %100 = load i32, ptr %i.addr, align 4
301  call void @use_int(i32 %100)
302  %101 = load i32, ptr %pause_resource.addr, align 4
303  %call44 = call i32 @omp_pause_resource_all(i32 %101)
304  store i32 %call44, ptr %i.addr, align 4
305  %102 = load i32, ptr %i.addr, align 4
306  call void @use_int(i32 %102)
307  %call45 = call i32 @omp_get_supported_active_levels()
308  store i32 %call45, ptr %i.addr, align 4
309  %103 = load i32, ptr %i.addr, align 4
310  call void @use_int(i32 %103)
311  ret void
312}
313
314declare dso_local void @omp_set_num_threads(i32)
315
316declare dso_local void @omp_set_dynamic(i32)
317
318declare dso_local void @omp_set_nested(i32)
319
320declare dso_local void @omp_set_max_active_levels(i32)
321
322declare dso_local void @omp_set_schedule(i32, i32)
323
324declare dso_local i32 @omp_get_num_threads()
325
326declare dso_local void @use_int(i32)
327
328declare dso_local i32 @omp_get_dynamic()
329
330declare dso_local i32 @omp_get_nested()
331
332declare dso_local i32 @omp_get_max_threads()
333
334declare dso_local i32 @omp_get_thread_num()
335
336declare dso_local i32 @omp_get_num_procs()
337
338declare dso_local i32 @omp_in_parallel()
339
340declare dso_local i32 @omp_in_final()
341
342declare dso_local i32 @omp_get_active_level()
343
344declare dso_local i32 @omp_get_level()
345
346declare dso_local i32 @omp_get_ancestor_thread_num(i32)
347
348declare dso_local i32 @omp_get_team_size(i32)
349
350declare dso_local i32 @omp_get_thread_limit()
351
352declare dso_local i32 @omp_get_max_active_levels()
353
354declare dso_local void @omp_get_schedule(ptr, ptr)
355
356declare dso_local i32 @omp_get_max_task_priority()
357
358declare dso_local void @omp_init_lock(ptr)
359
360declare dso_local void @omp_set_lock(ptr)
361
362declare dso_local void @omp_unset_lock(ptr)
363
364declare dso_local void @omp_destroy_lock(ptr)
365
366declare dso_local i32 @omp_test_lock(ptr)
367
368declare dso_local void @omp_init_nest_lock(ptr)
369
370declare dso_local void @omp_set_nest_lock(ptr)
371
372declare dso_local void @omp_unset_nest_lock(ptr)
373
374declare dso_local void @omp_destroy_nest_lock(ptr)
375
376declare dso_local i32 @omp_test_nest_lock(ptr)
377
378declare dso_local void @omp_init_lock_with_hint(ptr, i32)
379
380declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
381
382declare dso_local double @omp_get_wtime()
383
384declare dso_local void @use_double(double)
385
386declare dso_local double @omp_get_wtick()
387
388declare dso_local i32 @omp_get_default_device()
389
390declare dso_local void @omp_set_default_device(i32)
391
392declare dso_local i32 @omp_is_initial_device()
393
394declare dso_local i32 @omp_get_num_devices()
395
396declare dso_local i32 @omp_get_num_teams()
397
398declare dso_local i32 @omp_get_team_num()
399
400declare dso_local i32 @omp_get_cancellation()
401
402declare dso_local i32 @omp_get_initial_device()
403
404declare dso_local ptr @omp_target_alloc(i64, i32)
405
406declare dso_local void @use_voidptr(ptr)
407
408declare dso_local void @omp_target_free(ptr, i32)
409
410declare dso_local i32 @omp_target_is_present(ptr, i32)
411
412declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
413
414declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
415
416declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
417
418declare dso_local i32 @omp_get_device_num()
419
420declare dso_local i32 @omp_get_proc_bind()
421
422declare dso_local i32 @omp_get_num_places()
423
424declare dso_local i32 @omp_get_place_num_procs(i32)
425
426declare dso_local void @omp_get_place_proc_ids(i32, ptr)
427
428declare dso_local i32 @omp_get_place_num()
429
430declare dso_local i32 @omp_get_partition_num_places()
431
432declare dso_local void @omp_get_partition_place_nums(ptr)
433
434declare dso_local i32 @omp_control_tool(i32, i32, ptr)
435
436declare dso_local void @omp_destroy_allocator(i64)
437
438declare dso_local void @omp_set_default_allocator(i64)
439
440declare dso_local i64 @omp_get_default_allocator()
441
442declare dso_local ptr @omp_alloc(i64, i64)
443
444declare dso_local void @omp_free(ptr, i64)
445
446declare dso_local void @ompc_set_affinity_format(ptr)
447
448declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
449
450declare dso_local void @use_sizet(i64)
451
452declare dso_local void @ompc_display_affinity(ptr)
453
454declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
455
456declare dso_local void @omp_fulfill_event(i64)
457
458declare dso_local i32 @omp_pause_resource(i32, i32)
459
460declare dso_local i32 @omp_pause_resource_all(i32)
461
462declare dso_local i32 @omp_get_supported_active_levels()
463
464declare void @__kmpc_barrier(ptr, i32)
465
466declare i32 @__kmpc_cancel(ptr, i32, i32)
467
468declare i32 @__kmpc_cancel_barrier(ptr, i32)
469
470declare void @__kmpc_flush(ptr)
471
472declare i32 @__kmpc_global_thread_num(ptr)
473
474declare void @__kmpc_fork_call(ptr, i32, ptr, ...)
475
476declare i32 @__kmpc_omp_taskwait(ptr, i32)
477
478declare i32 @__kmpc_omp_taskyield(ptr, i32, i32)
479
480declare void @__kmpc_push_num_threads(ptr, i32, i32)
481
482declare void @__kmpc_push_proc_bind(ptr, i32, i32)
483
484declare void @__kmpc_serialized_parallel(ptr, i32)
485
486declare void @__kmpc_end_serialized_parallel(ptr, i32)
487
488declare i32 @__kmpc_master(ptr, i32)
489
490declare void @__kmpc_end_master(ptr, i32)
491
492declare void @__kmpc_critical(ptr, i32, ptr)
493
494declare void @__kmpc_critical_with_hint(ptr, i32, ptr, i32)
495
496declare void @__kmpc_end_critical(ptr, i32, ptr)
497
498declare void @__kmpc_begin(ptr, i32)
499
500declare void @__kmpc_end(ptr)
501
502declare i32 @__kmpc_reduce(ptr, i32, i32, i64, ptr, ptr, ptr)
503
504declare i32 @__kmpc_reduce_nowait(ptr, i32, i32, i64, ptr, ptr, ptr)
505
506declare void @__kmpc_end_reduce(ptr, i32, ptr)
507
508declare void @__kmpc_end_reduce_nowait(ptr, i32, ptr)
509
510declare void @__kmpc_ordered(ptr, i32)
511
512declare void @__kmpc_end_ordered(ptr, i32)
513
514declare void @__kmpc_for_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
515
516declare void @__kmpc_for_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
517
518declare void @__kmpc_for_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
519
520declare void @__kmpc_for_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
521
522declare void @__kmpc_for_static_fini(ptr, i32)
523
524declare void @__kmpc_team_static_init_4(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
525
526declare void @__kmpc_team_static_init_4u(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
527
528declare void @__kmpc_team_static_init_8(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
529
530declare void @__kmpc_team_static_init_8u(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
531
532declare void @__kmpc_dist_for_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32)
533
534declare void @__kmpc_dist_for_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32)
535
536declare void @__kmpc_dist_for_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i64, i64)
537
538declare void @__kmpc_dist_for_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i64, i64)
539
540declare i32 @__kmpc_single(ptr, i32)
541
542declare void @__kmpc_end_single(ptr, i32)
543
544declare ptr @__kmpc_omp_task_alloc(ptr, i32, i32, i64, i64, ptr)
545
546declare i32 @__kmpc_omp_task(ptr, i32, ptr)
547
548declare void @__kmpc_end_taskgroup(ptr, i32)
549
550declare void @__kmpc_taskgroup(ptr, i32)
551
552declare void @__kmpc_dist_dispatch_init_4(ptr, i32, i32, ptr, i32, i32, i32, i32)
553
554declare void @__kmpc_dist_dispatch_init_4u(ptr, i32, i32, ptr, i32, i32, i32, i32)
555
556declare void @__kmpc_dist_dispatch_init_8(ptr, i32, i32, ptr, i64, i64, i64, i64)
557
558declare void @__kmpc_dist_dispatch_init_8u(ptr, i32, i32, ptr, i64, i64, i64, i64)
559
560declare void @__kmpc_dispatch_init_4(ptr, i32, i32, i32, i32, i32, i32)
561
562declare void @__kmpc_dispatch_init_4u(ptr, i32, i32, i32, i32, i32, i32)
563
564declare void @__kmpc_dispatch_init_8(ptr, i32, i32, i64, i64, i64, i64)
565
566declare void @__kmpc_dispatch_init_8u(ptr, i32, i32, i64, i64, i64, i64)
567
568declare i32 @__kmpc_dispatch_next_4(ptr, i32, ptr, ptr, ptr, ptr)
569
570declare i32 @__kmpc_dispatch_next_4u(ptr, i32, ptr, ptr, ptr, ptr)
571
572declare i32 @__kmpc_dispatch_next_8(ptr, i32, ptr, ptr, ptr, ptr)
573
574declare i32 @__kmpc_dispatch_next_8u(ptr, i32, ptr, ptr, ptr, ptr)
575
576declare void @__kmpc_dispatch_fini_4(ptr, i32)
577
578declare void @__kmpc_dispatch_fini_4u(ptr, i32)
579
580declare void @__kmpc_dispatch_fini_8(ptr, i32)
581
582declare void @__kmpc_dispatch_fini_8u(ptr, i32)
583
584declare void @__kmpc_omp_task_begin_if0(ptr, i32, ptr)
585
586declare void @__kmpc_omp_task_complete_if0(ptr, i32, ptr)
587
588declare i32 @__kmpc_omp_task_with_deps(ptr, i32, ptr, i32, ptr, i32, ptr)
589
590declare void @__kmpc_omp_wait_deps(ptr, i32, i32, ptr, i32, ptr)
591
592declare void @__kmpc_omp_taskwait_deps_51(ptr, i32, i32, ptr, i32, ptr, i32)
593
594declare i32 @__kmpc_cancellationpoint(ptr, i32, i32)
595
596declare void @__kmpc_push_num_teams(ptr, i32, i32, i32)
597
598declare void @__kmpc_fork_teams(ptr, i32, ptr, ...)
599
600declare void @__kmpc_taskloop(ptr, i32, ptr, i32, ptr, ptr, i64, i32, i32, i64, ptr)
601
602declare ptr @__kmpc_omp_target_task_alloc(ptr, i32, i32, i64, i64, ptr, i64)
603
604declare ptr @__kmpc_taskred_modifier_init(ptr, i32, i32, i32, ptr)
605
606declare ptr @__kmpc_taskred_init(i32, i32, ptr)
607
608declare void @__kmpc_task_reduction_modifier_fini(ptr, i32, i32)
609
610declare void @__kmpc_copyprivate(ptr, i32, i64, ptr, ptr, i32)
611
612declare ptr @__kmpc_threadprivate_cached(ptr, i32, ptr, i64, ptr)
613
614declare void @__kmpc_threadprivate_register(ptr, ptr, ptr, ptr, ptr)
615
616declare void @__kmpc_doacross_init(ptr, i32, i32, ptr)
617
618declare void @__kmpc_doacross_wait(ptr, i32, ptr)
619
620declare void @__kmpc_doacross_post(ptr, i32, ptr)
621
622declare void @__kmpc_doacross_fini(ptr, i32)
623
624declare ptr @__kmpc_alloc(i32, i64, ptr)
625
626declare void @__kmpc_free(i32, ptr, ptr)
627
628declare ptr @__kmpc_init_allocator(i32, ptr, i32, ptr)
629
630declare void @__kmpc_destroy_allocator(i32, ptr)
631
632declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
633
634declare i64 @__kmpc_warp_active_thread_mask()
635
636declare void @__kmpc_syncwarp(i64)
637
638declare i32 @__tgt_target_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr)
639
640declare i32 @__tgt_target_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
641
642declare i32 @__tgt_target_teams_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32)
643
644declare i32 @__tgt_target_teams_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, ptr)
645
646declare void @__tgt_target_data_begin_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
647
648declare void @__tgt_target_data_begin_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
649
650declare void @__tgt_target_data_end_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
651
652declare void @__tgt_target_data_end_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
653
654declare void @__tgt_target_data_update_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
655
656declare void @__tgt_target_data_update_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
657
658declare i64 @__tgt_mapper_num_components(ptr)
659
660declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
661
662declare ptr @__kmpc_task_allow_completion_event(ptr, i32, ptr)
663
664declare ptr @__kmpc_task_reduction_get_th_data(i32, ptr, ptr)
665
666declare ptr @__kmpc_task_reduction_init(i32, i32, ptr)
667
668declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32, i32, i32, ptr)
669
670declare void @__kmpc_proxy_task_completed_ooo(ptr)
671
672; Function Attrs: noinline cold
673declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32) #0
674
675attributes #0 = { noinline cold }
676
677declare ptr @__kmpc_aligned_alloc(i32, i64, i64, ptr);
678
679declare ptr @__kmpc_alloc_shared(i64);
680
681declare void @__kmpc_barrier_simple_generic(ptr, i32);
682
683declare void @__kmpc_begin_sharing_variables(ptr, i64);
684
685declare void @__kmpc_distribute_static_fini(ptr, i32);
686
687declare void @__kmpc_distribute_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32);
688
689declare void @__kmpc_distribute_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32);
690
691declare void @__kmpc_distribute_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64);
692
693declare void @__kmpc_distribute_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64);
694
695declare void @__kmpc_end_masked(ptr, i32);
696
697declare void @__kmpc_end_sharing_variables();
698
699declare void @__kmpc_error(ptr, i32, ptr);
700
701declare void @__kmpc_fork_call_if(ptr, i32, ptr, i32, ptr);
702
703declare void @__kmpc_free_shared(ptr, i64);
704
705declare i32 @__kmpc_get_hardware_num_blocks();
706
707declare i32 @__kmpc_get_hardware_num_threads_in_block();
708
709declare i32 @__kmpc_get_hardware_thread_id_in_block();
710
711declare void @__kmpc_get_shared_variables(ptr);
712
713declare i32 @__kmpc_get_warp_size();
714
715declare i8 @__kmpc_is_spmd_exec_mode();
716
717declare void @__kmpc_kernel_end_parallel();
718
719declare i1 @__kmpc_kernel_parallel(ptr);
720
721declare void @__kmpc_kernel_prepare_parallel(ptr);
722
723declare i32 @__kmpc_masked(ptr, i32, i32);
724
725declare i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr);
726
727declare i32 @__kmpc_nvptx_teams_reduce_nowait_v2(ptr, ptr, i32, i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr);
728
729declare i32 @__kmpc_omp_reg_task_with_affinity(ptr, i32, ptr, i32, ptr);
730
731declare void @__kmpc_parallel_51(ptr, i32, i32, i32, i32, ptr, ptr, ptr, i64);
732
733declare i32 @__kmpc_shuffle_int32(i32, i16, i16);
734
735declare i64 @__kmpc_shuffle_int64(i64, i16, i16);
736
737declare void @__kmpc_target_deinit();
738
739declare i32 @__kmpc_target_init(ptr, ptr);
740
741declare void @__tgt_interop_destroy(ptr, i32, ptr, i32, i32, ptr, i32);
742
743declare void @__tgt_interop_init(ptr, i32, ptr, i32, i32, i32, ptr, i32);
744
745declare void @__tgt_interop_use(ptr, i32, ptr, i32, i32, ptr, i32);
746
747declare void @__tgt_target_data_begin_mapper_issue(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr);
748
749declare void @__tgt_target_data_begin_mapper_wait(i64, ptr);
750
751declare i32 @__tgt_target_kernel(ptr, i64, i32, i32, ptr, ptr);
752
753declare i32 @__tgt_target_kernel_nowait(ptr, i64, i32, i32, ptr, ptr, i32, ptr, i32, ptr);
754
755
756; CHECK: ; Function Attrs: nounwind
757; CHECK-NEXT: declare dso_local void @omp_set_num_threads(i32)
758
759; CHECK: ; Function Attrs: nounwind
760; CHECK-NEXT: declare dso_local void @omp_set_dynamic(i32)
761
762; CHECK: ; Function Attrs: nounwind
763; CHECK-NEXT: declare dso_local void @omp_set_nested(i32)
764
765; CHECK: ; Function Attrs: nounwind
766; CHECK-NEXT: declare dso_local void @omp_set_max_active_levels(i32)
767
768; CHECK: ; Function Attrs: nounwind
769; CHECK-NEXT: declare dso_local void @omp_set_schedule(i32, i32)
770
771; CHECK: ; Function Attrs: nounwind
772; CHECK-NEXT: declare dso_local i32 @omp_get_num_threads()
773
774; CHECK-NOT: Function Attrs
775; CHECK: declare dso_local void @use_int(i32)
776
777; CHECK: ; Function Attrs: nounwind
778; CHECK-NEXT: declare dso_local i32 @omp_get_dynamic()
779
780; CHECK: ; Function Attrs: nounwind
781; CHECK-NEXT: declare dso_local i32 @omp_get_nested()
782
783; CHECK: ; Function Attrs: nounwind
784; CHECK-NEXT: declare dso_local i32 @omp_get_max_threads()
785
786; CHECK: ; Function Attrs: nounwind
787; CHECK-NEXT: declare dso_local i32 @omp_get_thread_num()
788
789; CHECK: ; Function Attrs: nounwind
790; CHECK-NEXT: declare dso_local i32 @omp_get_num_procs()
791
792; CHECK: ; Function Attrs: nounwind
793; CHECK-NEXT: declare dso_local i32 @omp_in_parallel()
794
795; CHECK: ; Function Attrs: nounwind
796; CHECK-NEXT: declare dso_local i32 @omp_in_final()
797
798; CHECK: ; Function Attrs: nounwind
799; CHECK-NEXT: declare dso_local i32 @omp_get_active_level()
800
801; CHECK: ; Function Attrs: nounwind
802; CHECK-NEXT: declare dso_local i32 @omp_get_level()
803
804; CHECK: ; Function Attrs: nounwind
805; CHECK-NEXT: declare dso_local i32 @omp_get_ancestor_thread_num(i32)
806
807; CHECK: ; Function Attrs: nounwind
808; CHECK-NEXT: declare dso_local i32 @omp_get_team_size(i32)
809
810; CHECK: ; Function Attrs: nounwind
811; CHECK-NEXT: declare dso_local i32 @omp_get_thread_limit()
812
813; CHECK: ; Function Attrs: nounwind
814; CHECK-NEXT: declare dso_local i32 @omp_get_max_active_levels()
815
816; CHECK: ; Function Attrs: nounwind
817; CHECK-NEXT: declare dso_local void @omp_get_schedule(ptr writeonly captures(none), ptr writeonly captures(none))
818
819; CHECK-NOT: Function Attrs
820; CHECK: declare dso_local i32 @omp_get_max_task_priority()
821
822; CHECK-NOT: Function Attrs
823; CHECK: declare dso_local void @omp_init_lock(ptr)
824
825; CHECK-NOT: Function Attrs
826; CHECK: declare dso_local void @omp_set_lock(ptr)
827
828; CHECK-NOT: Function Attrs
829; CHECK: declare dso_local void @omp_unset_lock(ptr)
830
831; CHECK-NOT: Function Attrs
832; CHECK: declare dso_local void @omp_destroy_lock(ptr)
833
834; CHECK-NOT: Function Attrs
835; CHECK: declare dso_local i32 @omp_test_lock(ptr)
836
837; CHECK-NOT: Function Attrs
838; CHECK: declare dso_local void @omp_init_nest_lock(ptr)
839
840; CHECK-NOT: Function Attrs
841; CHECK: declare dso_local void @omp_set_nest_lock(ptr)
842
843; CHECK-NOT: Function Attrs
844; CHECK: declare dso_local void @omp_unset_nest_lock(ptr)
845
846; CHECK-NOT: Function Attrs
847; CHECK: declare dso_local void @omp_destroy_nest_lock(ptr)
848
849; CHECK-NOT: Function Attrs
850; CHECK: declare dso_local i32 @omp_test_nest_lock(ptr)
851
852; CHECK-NOT: Function Attrs
853; CHECK: declare dso_local void @omp_init_lock_with_hint(ptr, i32)
854
855; CHECK-NOT: Function Attrs
856; CHECK: declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
857
858; CHECK: ; Function Attrs: nounwind
859; CHECK-NEXT: declare dso_local double @omp_get_wtime()
860
861; CHECK-NOT: Function Attrs
862; CHECK: declare dso_local void @use_double(double)
863
864; CHECK-NOT: Function Attrs
865; CHECK: declare dso_local double @omp_get_wtick()
866
867; CHECK-NOT: Function Attrs
868; CHECK: declare dso_local i32 @omp_get_default_device()
869
870; CHECK-NOT: Function Attrs
871; CHECK: declare dso_local void @omp_set_default_device(i32)
872
873; CHECK-NOT: Function Attrs
874; CHECK: declare dso_local i32 @omp_is_initial_device()
875
876; CHECK-NOT: Function Attrs
877; CHECK: declare dso_local i32 @omp_get_num_devices()
878
879; CHECK-NOT: Function Attrs
880; CHECK: declare dso_local i32 @omp_get_num_teams()
881
882; CHECK-NOT: Function Attrs
883; CHECK: declare dso_local i32 @omp_get_team_num()
884
885; CHECK: ; Function Attrs: nounwind
886; CHECK-NEXT: declare dso_local i32 @omp_get_cancellation()
887
888; CHECK-NOT: Function Attrs
889; CHECK: declare dso_local i32 @omp_get_initial_device()
890
891; CHECK-NOT: Function Attrs
892; CHECK: declare dso_local ptr @omp_target_alloc(i64, i32)
893
894; CHECK-NOT: Function Attrs
895; CHECK: declare dso_local void @use_voidptr(ptr)
896
897; CHECK-NOT: Function Attrs
898; CHECK: declare dso_local void @omp_target_free(ptr, i32)
899
900; CHECK-NOT: Function Attrs
901; CHECK: declare dso_local i32 @omp_target_is_present(ptr, i32)
902
903; CHECK-NOT: Function Attrs
904; CHECK: declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
905
906; CHECK-NOT: Function Attrs
907; CHECK: declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
908
909; CHECK-NOT: Function Attrs
910; CHECK: declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
911
912; CHECK-NOT: Function Attrs
913; CHECK: declare dso_local i32 @omp_get_device_num()
914
915; CHECK: ; Function Attrs: nounwind
916; CHECK-NEXT: declare dso_local i32 @omp_get_proc_bind()
917
918; CHECK: ; Function Attrs: nounwind
919; CHECK-NEXT: declare dso_local i32 @omp_get_num_places()
920
921; CHECK-NOT: Function Attrs
922; CHECK: declare dso_local i32 @omp_get_place_num_procs(i32)
923
924; CHECK: ; Function Attrs: nounwind
925; CHECK-NEXT: declare dso_local void @omp_get_place_proc_ids(i32, ptr writeonly captures(none))
926
927; CHECK: ; Function Attrs: nounwind
928; CHECK-NEXT: declare dso_local i32 @omp_get_place_num()
929
930; CHECK: ; Function Attrs: nounwind
931; CHECK-NEXT: declare dso_local i32 @omp_get_partition_num_places()
932
933; CHECK: ; Function Attrs: nounwind
934; CHECK-NEXT: declare dso_local void @omp_get_partition_place_nums(ptr)
935
936; CHECK-NOT: Function Attrs
937; CHECK: declare dso_local i32 @omp_control_tool(i32, i32, ptr)
938
939; CHECK-NOT: Function Attrs
940; CHECK: declare dso_local void @omp_destroy_allocator(i64)
941
942; CHECK-NOT: Function Attrs
943; CHECK: declare dso_local void @omp_set_default_allocator(i64)
944
945; CHECK-NOT: Function Attrs
946; CHECK: declare dso_local i64 @omp_get_default_allocator()
947
948; CHECK-NOT: Function Attrs
949; CHECK: declare dso_local ptr @omp_alloc(i64, i64)
950
951; CHECK-NOT: Function Attrs
952; CHECK: declare dso_local void @omp_free(ptr, i64)
953
954; CHECK-NOT: Function Attrs
955; CHECK: declare dso_local void @ompc_set_affinity_format(ptr)
956
957; CHECK-NOT: Function Attrs
958; CHECK: declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
959
960; CHECK-NOT: Function Attrs
961; CHECK: declare dso_local void @use_sizet(i64)
962
963; CHECK-NOT: Function Attrs
964; CHECK: declare dso_local void @ompc_display_affinity(ptr)
965
966; CHECK-NOT: Function Attrs
967; CHECK: declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
968
969; CHECK-NOT: Function Attrs
970; CHECK: declare dso_local void @omp_fulfill_event(i64)
971
972; CHECK-NOT: Function Attrs
973; CHECK: declare dso_local i32 @omp_pause_resource(i32, i32)
974
975; CHECK-NOT: Function Attrs
976; CHECK: declare dso_local i32 @omp_pause_resource_all(i32)
977
978; CHECK: ; Function Attrs: nounwind
979; CHECK-NEXT: declare dso_local i32 @omp_get_supported_active_levels()
980
981; CHECK: ; Function Attrs: convergent nounwind
982; CHECK-NEXT: declare void @__kmpc_barrier(ptr, i32)
983
984; CHECK: ; Function Attrs: nounwind
985; CHECK-NEXT: declare i32 @__kmpc_cancel(ptr, i32, i32)
986
987; CHECK: ; Function Attrs: convergent nounwind
988; CHECK-NEXT: declare i32 @__kmpc_cancel_barrier(ptr, i32)
989
990; CHECK: ; Function Attrs: convergent nounwind
991; CHECK-NEXT: declare void @__kmpc_flush(ptr)
992
993; CHECK: ; Function Attrs: nounwind
994; CHECK-NEXT: declare i32 @__kmpc_global_thread_num(ptr)
995
996; CHECK: ; Function Attrs: nounwind
997; CHECK-NEXT: declare void @__kmpc_fork_call(ptr, i32, ptr, ...)
998
999; CHECK: ; Function Attrs: convergent nounwind
1000; CHECK-NEXT: declare i32 @__kmpc_omp_taskwait(ptr, i32)
1001
1002; CHECK: ; Function Attrs: nounwind
1003; CHECK-NEXT: declare i32 @__kmpc_omp_taskyield(ptr, i32, i32)
1004
1005; CHECK: ; Function Attrs: nounwind
1006; CHECK-NEXT: declare void @__kmpc_push_num_threads(ptr, i32, i32)
1007
1008; CHECK: ; Function Attrs: nounwind
1009; CHECK-NEXT: declare void @__kmpc_push_proc_bind(ptr, i32, i32)
1010
1011; CHECK: ; Function Attrs: nounwind
1012; CHECK-NEXT: declare void @__kmpc_serialized_parallel(ptr, i32)
1013
1014; CHECK: ; Function Attrs: nounwind
1015; CHECK-NEXT: declare void @__kmpc_end_serialized_parallel(ptr, i32)
1016
1017; CHECK: ; Function Attrs: nounwind
1018; CHECK-NEXT: declare i32 @__kmpc_master(ptr, i32)
1019
1020; CHECK: ; Function Attrs: nounwind
1021; CHECK-NEXT: declare void @__kmpc_end_master(ptr, i32)
1022
1023; CHECK: ; Function Attrs: convergent nounwind
1024; CHECK-NEXT: declare void @__kmpc_critical(ptr, i32, ptr)
1025
1026; CHECK: ; Function Attrs: convergent nounwind
1027; CHECK-NEXT: declare void @__kmpc_critical_with_hint(ptr, i32, ptr, i32)
1028
1029; CHECK: ; Function Attrs: convergent nounwind
1030; CHECK-NEXT: declare void @__kmpc_end_critical(ptr, i32, ptr)
1031
1032; CHECK: ; Function Attrs: nounwind
1033; CHECK-NEXT: declare void @__kmpc_begin(ptr, i32)
1034
1035; CHECK: ; Function Attrs: nounwind
1036; CHECK-NEXT: declare void @__kmpc_end(ptr)
1037
1038; CHECK: ; Function Attrs: convergent nounwind
1039; CHECK-NEXT: declare i32 @__kmpc_reduce(ptr, i32, i32, i64, ptr, ptr, ptr)
1040
1041; CHECK: ; Function Attrs: convergent nounwind
1042; CHECK-NEXT: declare i32 @__kmpc_reduce_nowait(ptr, i32, i32, i64, ptr, ptr, ptr)
1043
1044; CHECK: ; Function Attrs: convergent nounwind
1045; CHECK-NEXT: declare void @__kmpc_end_reduce(ptr, i32, ptr)
1046
1047; CHECK: ; Function Attrs: convergent nounwind
1048; CHECK-NEXT: declare void @__kmpc_end_reduce_nowait(ptr, i32, ptr)
1049
1050; CHECK: ; Function Attrs: convergent nounwind
1051; CHECK-NEXT: declare void @__kmpc_ordered(ptr, i32)
1052
1053; CHECK: ; Function Attrs: convergent nounwind
1054; CHECK-NEXT: declare void @__kmpc_end_ordered(ptr, i32)
1055
1056; CHECK: ; Function Attrs: nounwind
1057; CHECK-NEXT: declare void @__kmpc_for_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1058
1059; CHECK: ; Function Attrs: nounwind
1060; CHECK-NEXT: declare void @__kmpc_for_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1061
1062; CHECK: ; Function Attrs: nounwind
1063; CHECK-NEXT: declare void @__kmpc_for_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1064
1065; CHECK: ; Function Attrs: nounwind
1066; CHECK-NEXT: declare void @__kmpc_for_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1067
1068; CHECK: ; Function Attrs: nounwind
1069; CHECK-NEXT: declare void @__kmpc_for_static_fini(ptr, i32)
1070
1071; CHECK: ; Function Attrs: nounwind
1072; CHECK-NEXT: declare void @__kmpc_team_static_init_4(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
1073
1074; CHECK: ; Function Attrs: nounwind
1075; CHECK-NEXT: declare void @__kmpc_team_static_init_4u(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
1076
1077; CHECK: ; Function Attrs: nounwind
1078; CHECK-NEXT: declare void @__kmpc_team_static_init_8(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
1079
1080; CHECK: ; Function Attrs: nounwind
1081; CHECK-NEXT: declare void @__kmpc_team_static_init_8u(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
1082
1083; CHECK: ; Function Attrs: nounwind
1084; CHECK-NEXT: declare void @__kmpc_dist_for_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32)
1085
1086; CHECK: ; Function Attrs: nounwind
1087; CHECK-NEXT: declare void @__kmpc_dist_for_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32)
1088
1089; CHECK: ; Function Attrs: nounwind
1090; CHECK-NEXT: declare void @__kmpc_dist_for_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i64, i64)
1091
1092; CHECK: ; Function Attrs: nounwind
1093; CHECK-NEXT: declare void @__kmpc_dist_for_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i64, i64)
1094
1095; CHECK: ; Function Attrs: convergent nounwind
1096; CHECK-NEXT: declare i32 @__kmpc_single(ptr, i32)
1097
1098; CHECK: ; Function Attrs: convergent nounwind
1099; CHECK-NEXT: declare void @__kmpc_end_single(ptr, i32)
1100
1101; CHECK: ; Function Attrs: nounwind
1102; CHECK-NEXT: declare noalias ptr @__kmpc_omp_task_alloc(ptr, i32, i32, i64, i64, ptr)
1103
1104; CHECK: ; Function Attrs: nounwind
1105; CHECK-NEXT: declare i32 @__kmpc_omp_task(ptr, i32, ptr)
1106
1107; CHECK: ; Function Attrs: convergent nounwind
1108; CHECK-NEXT: declare void @__kmpc_end_taskgroup(ptr, i32)
1109
1110; CHECK: ; Function Attrs: convergent nounwind
1111; CHECK-NEXT: declare void @__kmpc_taskgroup(ptr, i32)
1112
1113; CHECK: ; Function Attrs: nounwind
1114; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_4(ptr, i32, i32, ptr, i32, i32, i32, i32)
1115
1116; CHECK: ; Function Attrs: nounwind
1117; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_4u(ptr, i32, i32, ptr, i32, i32, i32, i32)
1118
1119; CHECK: ; Function Attrs: nounwind
1120; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_8(ptr, i32, i32, ptr, i64, i64, i64, i64)
1121
1122; CHECK: ; Function Attrs: nounwind
1123; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_8u(ptr, i32, i32, ptr, i64, i64, i64, i64)
1124
1125; CHECK: ; Function Attrs: nounwind
1126; CHECK-NEXT: declare void @__kmpc_dispatch_init_4(ptr, i32, i32, i32, i32, i32, i32)
1127
1128; CHECK: ; Function Attrs: nounwind
1129; CHECK-NEXT: declare void @__kmpc_dispatch_init_4u(ptr, i32, i32, i32, i32, i32, i32)
1130
1131; CHECK: ; Function Attrs: nounwind
1132; CHECK-NEXT: declare void @__kmpc_dispatch_init_8(ptr, i32, i32, i64, i64, i64, i64)
1133
1134; CHECK: ; Function Attrs: nounwind
1135; CHECK-NEXT: declare void @__kmpc_dispatch_init_8u(ptr, i32, i32, i64, i64, i64, i64)
1136
1137; CHECK: ; Function Attrs: nounwind
1138; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_4(ptr, i32, ptr, ptr, ptr, ptr)
1139
1140; CHECK: ; Function Attrs: nounwind
1141; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_4u(ptr, i32, ptr, ptr, ptr, ptr)
1142
1143; CHECK: ; Function Attrs: nounwind
1144; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_8(ptr, i32, ptr, ptr, ptr, ptr)
1145
1146; CHECK: ; Function Attrs: nounwind
1147; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_8u(ptr, i32, ptr, ptr, ptr, ptr)
1148
1149; CHECK: ; Function Attrs: nounwind
1150; CHECK-NEXT: declare void @__kmpc_dispatch_fini_4(ptr, i32)
1151
1152; CHECK: ; Function Attrs: nounwind
1153; CHECK-NEXT: declare void @__kmpc_dispatch_fini_4u(ptr, i32)
1154
1155; CHECK: ; Function Attrs: nounwind
1156; CHECK-NEXT: declare void @__kmpc_dispatch_fini_8(ptr, i32)
1157
1158; CHECK: ; Function Attrs: nounwind
1159; CHECK-NEXT: declare void @__kmpc_dispatch_fini_8u(ptr, i32)
1160
1161; CHECK: ; Function Attrs: nounwind
1162; CHECK-NEXT: declare void @__kmpc_omp_task_begin_if0(ptr, i32, ptr)
1163
1164; CHECK: ; Function Attrs: nounwind
1165; CHECK-NEXT: declare void @__kmpc_omp_task_complete_if0(ptr, i32, ptr)
1166
1167; CHECK: ; Function Attrs: nounwind
1168; CHECK-NEXT: declare i32 @__kmpc_omp_task_with_deps(ptr, i32, ptr, i32, ptr, i32, ptr)
1169
1170; CHECK: ; Function Attrs: convergent nounwind
1171; CHECK-NEXT: declare void @__kmpc_omp_wait_deps(ptr, i32, i32, ptr, i32, ptr)
1172
1173; CHECK: ; Function Attrs: nounwind
1174; CHECK-NEXT: declare i32 @__kmpc_cancellationpoint(ptr, i32, i32)
1175
1176; CHECK: ; Function Attrs: nounwind
1177; CHECK-NEXT: declare void @__kmpc_push_num_teams(ptr, i32, i32, i32)
1178
1179; CHECK: ; Function Attrs: nounwind
1180; CHECK-NEXT: declare void @__kmpc_fork_teams(ptr, i32, ptr, ...)
1181
1182; CHECK: ; Function Attrs: nounwind
1183; CHECK-NEXT: declare void @__kmpc_taskloop(ptr, i32, ptr, i32, ptr, ptr, i64, i32, i32, i64, ptr)
1184
1185; CHECK: ; Function Attrs: nounwind
1186; CHECK-NEXT: declare noalias ptr @__kmpc_omp_target_task_alloc(ptr, i32, i32, i64, i64, ptr, i64)
1187
1188; CHECK: ; Function Attrs: nounwind
1189; CHECK-NEXT: declare ptr @__kmpc_taskred_modifier_init(ptr, i32, i32, i32, ptr)
1190
1191; CHECK: ; Function Attrs: nounwind
1192; CHECK-NEXT: declare ptr @__kmpc_taskred_init(i32, i32, ptr)
1193
1194; CHECK: ; Function Attrs: convergent nounwind
1195; CHECK-NEXT: declare void @__kmpc_task_reduction_modifier_fini(ptr, i32, i32)
1196
1197; CHECK: ; Function Attrs: nounwind
1198; CHECK-NEXT: declare void @__kmpc_copyprivate(ptr, i32, i64, ptr, ptr, i32)
1199
1200; CHECK: ; Function Attrs: nounwind
1201; CHECK-NEXT: declare ptr @__kmpc_threadprivate_cached(ptr, i32, ptr, i64, ptr)
1202
1203; CHECK: ; Function Attrs: nounwind
1204; CHECK-NEXT: declare void @__kmpc_threadprivate_register(ptr, ptr, ptr, ptr, ptr)
1205
1206; CHECK: ; Function Attrs: convergent nounwind
1207; CHECK-NEXT: declare void @__kmpc_doacross_init(ptr, i32, i32, ptr)
1208
1209; CHECK: ; Function Attrs: convergent nounwind
1210; CHECK-NEXT: declare void @__kmpc_doacross_wait(ptr, i32, ptr)
1211
1212; CHECK: ; Function Attrs: convergent nounwind
1213; CHECK-NEXT: declare void @__kmpc_doacross_post(ptr, i32, ptr)
1214
1215; CHECK: ; Function Attrs: convergent nounwind
1216; CHECK-NEXT: declare void @__kmpc_doacross_fini(ptr, i32)
1217
1218; CHECK: ; Function Attrs: nounwind
1219; CHECK-NEXT: declare noalias ptr @__kmpc_alloc(i32, i64, ptr)
1220
1221; CHECK: ; Function Attrs: nounwind
1222; CHECK-NEXT: declare void @__kmpc_free(i32, ptr, ptr)
1223
1224; CHECK: ; Function Attrs: nounwind
1225; CHECK-NEXT: declare ptr @__kmpc_init_allocator(i32, ptr, i32, ptr)
1226
1227; CHECK: ; Function Attrs: nounwind
1228; CHECK-NEXT: declare void @__kmpc_destroy_allocator(i32, ptr)
1229
1230; CHECK: ; Function Attrs: nounwind
1231; CHECK-NEXT: declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
1232
1233; CHECK: ; Function Attrs: convergent nounwind
1234; CHECK-NEXT: declare i64 @__kmpc_warp_active_thread_mask()
1235
1236; CHECK: ; Function Attrs: convergent nounwind
1237; CHECK-NEXT: declare void @__kmpc_syncwarp(i64)
1238
1239; CHECK: ; Function Attrs: nounwind
1240; CHECK-NEXT: declare i32 @__tgt_target_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1241
1242; CHECK: ; Function Attrs: nounwind
1243; CHECK-NEXT: declare i32 @__tgt_target_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1244
1245; CHECK: ; Function Attrs: nounwind
1246; CHECK-NEXT: declare i32 @__tgt_target_teams_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32)
1247
1248; CHECK: ; Function Attrs: nounwind
1249; CHECK-NEXT: declare i32 @__tgt_target_teams_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, ptr)
1250
1251; CHECK: ; Function Attrs: nounwind
1252; CHECK-NEXT: declare void @__tgt_target_data_begin_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1253
1254; CHECK: ; Function Attrs: nounwind
1255; CHECK-NEXT: declare void @__tgt_target_data_begin_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1256
1257; CHECK: ; Function Attrs: nounwind
1258; CHECK-NEXT: declare void @__tgt_target_data_end_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1259
1260; CHECK: ; Function Attrs: nounwind
1261; CHECK-NEXT: declare void @__tgt_target_data_end_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1262
1263; CHECK: ; Function Attrs: nounwind
1264; CHECK-NEXT: declare void @__tgt_target_data_update_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1265
1266; CHECK: ; Function Attrs: nounwind
1267; CHECK-NEXT: declare void @__tgt_target_data_update_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1268
1269; CHECK: ; Function Attrs: nounwind
1270; CHECK-NEXT: declare i64 @__tgt_mapper_num_components(ptr)
1271
1272; CHECK: ; Function Attrs: nounwind
1273; CHECK-NEXT: declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
1274
1275; CHECK: ; Function Attrs: nounwind
1276; CHECK-NEXT: declare ptr @__kmpc_task_allow_completion_event(ptr, i32, ptr)
1277
1278; CHECK: ; Function Attrs: nounwind
1279; CHECK-NEXT: declare ptr @__kmpc_task_reduction_get_th_data(i32, ptr, ptr)
1280
1281; CHECK: ; Function Attrs: nounwind
1282; CHECK-NEXT: declare ptr @__kmpc_task_reduction_init(i32, i32, ptr)
1283
1284; CHECK: ; Function Attrs: nounwind
1285; CHECK-NEXT: declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32, i32, i32, ptr)
1286
1287; CHECK: ; Function Attrs: nounwind
1288; CHECK-NEXT: declare void @__kmpc_proxy_task_completed_ooo(ptr)
1289
1290; CHECK: ; Function Attrs: cold convergent noinline nounwind
1291; CHECK-NEXT: declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32)
1292
1293; CHECK: ; Function Attrs: nounwind
1294; CHECK-NEXT: declare noalias ptr @__kmpc_aligned_alloc(i32, i64, i64, ptr)
1295
1296; CHECK: ; Function Attrs: nosync nounwind allocsize(0)
1297; CHECK-NEXT: declare noalias ptr @__kmpc_alloc_shared(i64)
1298
1299; CHECK: ; Function Attrs: convergent nounwind
1300; CHECK: declare void @__kmpc_barrier_simple_generic(ptr, i32)
1301
1302; CHECK-NOT: Function Attrs
1303; CHECK: declare void @__kmpc_begin_sharing_variables(ptr, i64)
1304
1305; CHECK: ; Function Attrs: nounwind
1306; CHECK: declare void @__kmpc_distribute_static_fini(ptr, i32)
1307
1308; CHECK: ; Function Attrs: nounwind
1309; CHECK: declare void @__kmpc_distribute_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1310
1311; CHECK: ; Function Attrs: nounwind
1312; CHECK: declare void @__kmpc_distribute_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1313
1314; CHECK: ; Function Attrs: nounwind
1315; CHECK: declare void @__kmpc_distribute_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1316
1317; CHECK: ; Function Attrs: nounwind
1318; CHECK: declare void @__kmpc_distribute_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1319
1320; CHECK: ; Function Attrs: nounwind
1321; CHECK: declare void @__kmpc_end_masked(ptr, i32)
1322
1323; CHECK-NOT: Function Attrs
1324; CHECK: declare void @__kmpc_end_sharing_variables()
1325
1326; CHECK-NOT: Function Attrs
1327; CHECK: declare void @__kmpc_error(ptr, i32, ptr)
1328
1329; CHECK-NOT: Function Attrs
1330; CHECK: declare void @__kmpc_fork_call_if(ptr, i32, ptr, i32, ptr)
1331
1332; CHECK: ; Function Attrs: nosync nounwind
1333; CHECK-NEXT: declare void @__kmpc_free_shared(ptr allocptr captures(none), i64)
1334
1335; CHECK: ; Function Attrs: nounwind
1336; CHECK-NEXT: declare i32 @__kmpc_get_hardware_num_blocks()
1337
1338; CHECK: ; Function Attrs: nounwind
1339; CHECK-NEXT: declare i32 @__kmpc_get_hardware_num_threads_in_block()
1340
1341; CHECK: ; Function Attrs: nounwind
1342; CHECK-NEXT: declare i32 @__kmpc_get_hardware_thread_id_in_block()
1343
1344; CHECK-NOT: Function Attrs
1345; CHECK: declare void @__kmpc_get_shared_variables(ptr)
1346
1347; CHECK: ; Function Attrs: nounwind
1348; CHECK-NEXT: declare i32 @__kmpc_get_warp_size()
1349
1350; CHECK-NOT: Function Attrs
1351; CHECK: declare i8 @__kmpc_is_spmd_exec_mode()
1352
1353; CHECK-NOT: Function Attrs
1354; CHECK: declare void @__kmpc_kernel_end_parallel()
1355
1356; CHECK-NOT: Function Attrs
1357; CHECK: declare i1 @__kmpc_kernel_parallel(ptr)
1358
1359; CHECK-NOT: Function Attrs
1360; CHECK: declare void @__kmpc_kernel_prepare_parallel(ptr)
1361
1362; CHECK: ; Function Attrs: nounwind
1363; CHECK: declare i32 @__kmpc_masked(ptr, i32, i32)
1364
1365; CHECK-NOT: Function Attrs
1366; CHECK: declare i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr)
1367
1368; CHECK-NOT: Function Attrs
1369; CHECK: declare i32 @__kmpc_nvptx_teams_reduce_nowait_v2(ptr, ptr, i32, i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr)
1370
1371; CHECK: ; Function Attrs: nounwind
1372; CHECK: declare i32 @__kmpc_omp_reg_task_with_affinity(ptr, i32, ptr, i32, ptr)
1373
1374; CHECK: ; Function Attrs: alwaysinline
1375; CHECK: declare void @__kmpc_parallel_51(ptr, i32, i32, i32, i32, ptr, ptr, ptr, i64)
1376
1377; CHECK-NOT: Function Attrs
1378; CHECK: declare i32 @__kmpc_shuffle_int32(i32, i16, i16)
1379
1380; CHECK-NOT: Function Attrs
1381; CHECK: declare i64 @__kmpc_shuffle_int64(i64, i16, i16)
1382
1383; CHECK-NOT: Function Attrs
1384; CHECK: declare void @__kmpc_target_deinit()
1385
1386; CHECK-NOT: Function Attrs
1387; CHECK: declare i32 @__kmpc_target_init(ptr, ptr)
1388
1389; CHECK-NOT: Function Attrs
1390; CHECK: declare void @__tgt_interop_destroy(ptr, i32, ptr, i32, i32, ptr, i32)
1391
1392; CHECK-NOT: Function Attrs
1393; CHECK: declare void @__tgt_interop_init(ptr, i32, ptr, i32, i32, i32, ptr, i32)
1394
1395; CHECK-NOT: Function Attrs
1396; CHECK: declare void @__tgt_interop_use(ptr, i32, ptr, i32, i32, ptr, i32)
1397
1398; CHECK-NOT: Function Attrs
1399; CHECK: declare void @__tgt_target_data_begin_mapper_issue(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr)
1400
1401; CHECK-NOT: Function Attrs
1402; CHECK: declare void @__tgt_target_data_begin_mapper_wait(i64, ptr)
1403
1404; CHECK: ; Function Attrs: nounwind
1405; CHECK: declare i32 @__tgt_target_kernel(ptr, i64, i32, i32, ptr, ptr)
1406
1407; CHECK: ; Function Attrs: nounwind
1408; CHECK: declare i32 @__tgt_target_kernel_nowait(ptr, i64, i32, i32, ptr, ptr, i32, ptr, i32, ptr)
1409
1410; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1411; OPTIMISTIC-NEXT: declare dso_local void @omp_set_num_threads(i32)
1412
1413; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1414; OPTIMISTIC-NEXT: declare dso_local void @omp_set_dynamic(i32)
1415
1416; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1417; OPTIMISTIC-NEXT: declare dso_local void @omp_set_nested(i32)
1418
1419; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1420; OPTIMISTIC-NEXT: declare dso_local void @omp_set_max_active_levels(i32)
1421
1422; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1423; OPTIMISTIC-NEXT: declare dso_local void @omp_set_schedule(i32, i32)
1424
1425; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1426; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_num_threads()
1427
1428; OPTIMISTIC-NOT: Function Attrs
1429; OPTIMISTIC: declare dso_local void @use_int(i32)
1430
1431; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1432; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_dynamic()
1433
1434; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1435; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_nested()
1436
1437; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1438; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_max_threads()
1439
1440; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1441; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_thread_num()
1442
1443; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1444; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_num_procs()
1445
1446; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1447; OPTIMISTIC-NEXT: declare dso_local i32 @omp_in_parallel()
1448
1449; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1450; OPTIMISTIC-NEXT: declare dso_local i32 @omp_in_final()
1451
1452; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1453; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_active_level()
1454
1455; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1456; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_level()
1457
1458; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1459; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_ancestor_thread_num(i32)
1460
1461; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1462; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_team_size(i32)
1463
1464; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1465; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_thread_limit()
1466
1467; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1468; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_max_active_levels()
1469
1470; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1471; OPTIMISTIC-NEXT: declare dso_local void @omp_get_schedule(ptr writeonly captures(none), ptr writeonly captures(none))
1472
1473; OPTIMISTIC-NOT: Function Attrs
1474; OPTIMISTIC: declare dso_local i32 @omp_get_max_task_priority()
1475
1476; OPTIMISTIC-NOT: Function Attrs
1477; OPTIMISTIC: declare dso_local void @omp_init_lock(ptr)
1478
1479; OPTIMISTIC-NOT: Function Attrs
1480; OPTIMISTIC: declare dso_local void @omp_set_lock(ptr)
1481
1482; OPTIMISTIC-NOT: Function Attrs
1483; OPTIMISTIC: declare dso_local void @omp_unset_lock(ptr)
1484
1485; OPTIMISTIC-NOT: Function Attrs
1486; OPTIMISTIC: declare dso_local void @omp_destroy_lock(ptr)
1487
1488; OPTIMISTIC-NOT: Function Attrs
1489; OPTIMISTIC: declare dso_local i32 @omp_test_lock(ptr)
1490
1491; OPTIMISTIC-NOT: Function Attrs
1492; OPTIMISTIC: declare dso_local void @omp_init_nest_lock(ptr)
1493
1494; OPTIMISTIC-NOT: Function Attrs
1495; OPTIMISTIC: declare dso_local void @omp_set_nest_lock(ptr)
1496
1497; OPTIMISTIC-NOT: Function Attrs
1498; OPTIMISTIC: declare dso_local void @omp_unset_nest_lock(ptr)
1499
1500; OPTIMISTIC-NOT: Function Attrs
1501; OPTIMISTIC: declare dso_local void @omp_destroy_nest_lock(ptr)
1502
1503; OPTIMISTIC-NOT: Function Attrs
1504; OPTIMISTIC: declare dso_local i32 @omp_test_nest_lock(ptr)
1505
1506; OPTIMISTIC-NOT: Function Attrs
1507; OPTIMISTIC: declare dso_local void @omp_init_lock_with_hint(ptr, i32)
1508
1509; OPTIMISTIC-NOT: Function Attrs
1510; OPTIMISTIC: declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
1511
1512; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1513; OPTIMISTIC-NEXT: declare dso_local double @omp_get_wtime()
1514
1515; OPTIMISTIC-NOT: Function Attrs
1516; OPTIMISTIC: declare dso_local void @use_double(double)
1517
1518; OPTIMISTIC-NOT: Function Attrs
1519; OPTIMISTIC: declare dso_local double @omp_get_wtick()
1520
1521; OPTIMISTIC-NOT: Function Attrs
1522; OPTIMISTIC: declare dso_local i32 @omp_get_default_device()
1523
1524; OPTIMISTIC-NOT: Function Attrs
1525; OPTIMISTIC: declare dso_local void @omp_set_default_device(i32)
1526
1527; OPTIMISTIC-NOT: Function Attrs
1528; OPTIMISTIC: declare dso_local i32 @omp_is_initial_device()
1529
1530; OPTIMISTIC-NOT: Function Attrs
1531; OPTIMISTIC: declare dso_local i32 @omp_get_num_devices()
1532
1533; OPTIMISTIC-NOT: Function Attrs
1534; OPTIMISTIC: declare dso_local i32 @omp_get_num_teams()
1535
1536; OPTIMISTIC-NOT: Function Attrs
1537; OPTIMISTIC: declare dso_local i32 @omp_get_team_num()
1538
1539; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1540; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_cancellation()
1541
1542; OPTIMISTIC-NOT: Function Attrs
1543; OPTIMISTIC: declare dso_local i32 @omp_get_initial_device()
1544
1545; OPTIMISTIC-NOT: Function Attrs
1546; OPTIMISTIC: declare dso_local ptr @omp_target_alloc(i64, i32)
1547
1548; OPTIMISTIC-NOT: Function Attrs
1549; OPTIMISTIC: declare dso_local void @use_voidptr(ptr)
1550
1551; OPTIMISTIC-NOT: Function Attrs
1552; OPTIMISTIC: declare dso_local void @omp_target_free(ptr, i32)
1553
1554; OPTIMISTIC-NOT: Function Attrs
1555; OPTIMISTIC: declare dso_local i32 @omp_target_is_present(ptr, i32)
1556
1557; OPTIMISTIC-NOT: Function Attrs
1558; OPTIMISTIC: declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
1559
1560; OPTIMISTIC-NOT: Function Attrs
1561; OPTIMISTIC: declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
1562
1563; OPTIMISTIC-NOT: Function Attrs
1564; OPTIMISTIC: declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
1565
1566; OPTIMISTIC-NOT: Function Attrs
1567; OPTIMISTIC: declare dso_local i32 @omp_get_device_num()
1568
1569; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1570; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_proc_bind()
1571
1572; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1573; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_num_places()
1574
1575; OPTIMISTIC-NOT: Function Attrs
1576; OPTIMISTIC: declare dso_local i32 @omp_get_place_num_procs(i32)
1577
1578; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1579; OPTIMISTIC-NEXT: declare dso_local void @omp_get_place_proc_ids(i32, ptr writeonly captures(none))
1580
1581; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1582; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_place_num()
1583
1584; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1585; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_partition_num_places()
1586
1587; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1588; OPTIMISTIC-NEXT: declare dso_local void @omp_get_partition_place_nums(ptr)
1589
1590; OPTIMISTIC-NOT: Function Attrs
1591; OPTIMISTIC: declare dso_local i32 @omp_control_tool(i32, i32, ptr)
1592
1593; OPTIMISTIC-NOT: Function Attrs
1594; OPTIMISTIC: declare dso_local void @omp_destroy_allocator(i64)
1595
1596; OPTIMISTIC-NOT: Function Attrs
1597; OPTIMISTIC: declare dso_local void @omp_set_default_allocator(i64)
1598
1599; OPTIMISTIC-NOT: Function Attrs
1600; OPTIMISTIC: declare dso_local i64 @omp_get_default_allocator()
1601
1602; OPTIMISTIC-NOT: Function Attrs
1603; OPTIMISTIC: declare dso_local ptr @omp_alloc(i64, i64)
1604
1605; OPTIMISTIC-NOT: Function Attrs
1606; OPTIMISTIC: declare dso_local void @omp_free(ptr, i64)
1607
1608; OPTIMISTIC-NOT: Function Attrs
1609; OPTIMISTIC: declare dso_local void @ompc_set_affinity_format(ptr)
1610
1611; OPTIMISTIC-NOT: Function Attrs
1612; OPTIMISTIC: declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
1613
1614; OPTIMISTIC-NOT: Function Attrs
1615; OPTIMISTIC: declare dso_local void @use_sizet(i64)
1616
1617; OPTIMISTIC-NOT: Function Attrs
1618; OPTIMISTIC: declare dso_local void @ompc_display_affinity(ptr)
1619
1620; OPTIMISTIC-NOT: Function Attrs
1621; OPTIMISTIC: declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
1622
1623; OPTIMISTIC-NOT: Function Attrs
1624; OPTIMISTIC: declare dso_local void @omp_fulfill_event(i64)
1625
1626; OPTIMISTIC-NOT: Function Attrs
1627; OPTIMISTIC: declare dso_local i32 @omp_pause_resource(i32, i32)
1628
1629; OPTIMISTIC-NOT: Function Attrs
1630; OPTIMISTIC: declare dso_local i32 @omp_pause_resource_all(i32)
1631
1632; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1633; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_supported_active_levels()
1634
1635; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: read, inaccessiblemem: read)
1636; OPTIMISTIC-NEXT: declare i32 @__kmpc_global_thread_num(ptr nofree readonly captures(none))
1637
1638; OPTIMISTIC: ; Function Attrs: nounwind
1639; OPTIMISTIC-NEXT: declare void @__kmpc_fork_call(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none), ...)
1640
1641; OPTIMISTIC: ; Function Attrs: convergent nounwind
1642; OPTIMISTIC-NEXT: declare i32 @__kmpc_omp_taskwait(ptr nofree readonly captures(none), i32)
1643
1644; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1645; OPTIMISTIC-NEXT: declare i32 @__kmpc_omp_taskyield(ptr nofree readonly captures(none), i32, i32)
1646
1647; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1648; OPTIMISTIC-NEXT: declare void @__kmpc_push_num_threads(ptr nofree readonly captures(none), i32, i32)
1649
1650; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1651; OPTIMISTIC-NEXT: declare void @__kmpc_push_proc_bind(ptr nofree readonly captures(none), i32, i32)
1652
1653; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1654; OPTIMISTIC-NEXT: declare void @__kmpc_serialized_parallel(ptr nofree readonly captures(none), i32)
1655
1656; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1657; OPTIMISTIC-NEXT: declare void @__kmpc_end_serialized_parallel(ptr nofree readonly captures(none), i32)
1658
1659; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1660; OPTIMISTIC-NEXT: declare i32 @__kmpc_master(ptr nofree readonly captures(none), i32)
1661
1662; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1663; OPTIMISTIC-NEXT: declare void @__kmpc_end_master(ptr nofree readonly captures(none), i32)
1664
1665; OPTIMISTIC: ; Function Attrs: convergent nounwind
1666; OPTIMISTIC-NEXT: declare void @__kmpc_critical(ptr nofree readonly captures(none), i32, ptr)
1667
1668; OPTIMISTIC: ; Function Attrs: convergent nounwind
1669; OPTIMISTIC-NEXT: declare void @__kmpc_critical_with_hint(ptr nofree readonly captures(none), i32, ptr, i32)
1670
1671; OPTIMISTIC: ; Function Attrs: convergent nounwind
1672; OPTIMISTIC-NEXT: declare void @__kmpc_end_critical(ptr nofree readonly captures(none), i32, ptr)
1673
1674; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1675; OPTIMISTIC-NEXT: declare void @__kmpc_begin(ptr nofree readonly captures(none), i32)
1676
1677; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1678; OPTIMISTIC-NEXT: declare void @__kmpc_end(ptr nofree readonly captures(none))
1679
1680; OPTIMISTIC: ; Function Attrs: convergent nounwind
1681; OPTIMISTIC-NEXT: declare i32 @__kmpc_reduce(ptr nofree readonly captures(none), i32, i32, i64, ptr nofree readonly captures(none), ptr, ptr)
1682
1683; OPTIMISTIC: ; Function Attrs: convergent nounwind
1684; OPTIMISTIC-NEXT: declare i32 @__kmpc_reduce_nowait(ptr nofree readonly captures(none), i32, i32, i64, ptr nofree readonly captures(none), ptr, ptr)
1685
1686; OPTIMISTIC: ; Function Attrs: convergent nounwind
1687; OPTIMISTIC-NEXT: declare void @__kmpc_end_reduce(ptr nofree readonly captures(none), i32, ptr)
1688
1689; OPTIMISTIC: ; Function Attrs: convergent nounwind
1690; OPTIMISTIC-NEXT: declare void @__kmpc_end_reduce_nowait(ptr nofree readonly captures(none), i32, ptr)
1691
1692; OPTIMISTIC: ; Function Attrs: convergent nounwind
1693; OPTIMISTIC-NEXT: declare void @__kmpc_ordered(ptr nofree readonly captures(none), i32)
1694
1695; OPTIMISTIC: ; Function Attrs: convergent nounwind
1696; OPTIMISTIC-NEXT: declare void @__kmpc_end_ordered(ptr nofree readonly captures(none), i32)
1697
1698; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1699; OPTIMISTIC-NEXT: declare void @__kmpc_for_static_init_4(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1700
1701; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1702; OPTIMISTIC-NEXT: declare void @__kmpc_for_static_init_4u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1703
1704; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1705; OPTIMISTIC-NEXT: declare void @__kmpc_for_static_init_8(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1706
1707; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1708; OPTIMISTIC-NEXT: declare void @__kmpc_for_static_init_8u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1709
1710; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1711; OPTIMISTIC-NEXT: declare void @__kmpc_for_static_fini(ptr nofree readonly captures(none), i32)
1712
1713; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1714; OPTIMISTIC-NEXT: declare void @__kmpc_team_static_init_4(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1715
1716; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1717; OPTIMISTIC-NEXT: declare void @__kmpc_team_static_init_4u(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1718
1719; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1720; OPTIMISTIC-NEXT: declare void @__kmpc_team_static_init_8(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1721
1722; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1723; OPTIMISTIC-NEXT: declare void @__kmpc_team_static_init_8u(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1724
1725; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1726; OPTIMISTIC-NEXT: declare void @__kmpc_dist_for_static_init_4(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1727
1728; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1729; OPTIMISTIC-NEXT: declare void @__kmpc_dist_for_static_init_4u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1730
1731; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1732; OPTIMISTIC-NEXT: declare void @__kmpc_dist_for_static_init_8(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1733
1734; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1735; OPTIMISTIC-NEXT: declare void @__kmpc_dist_for_static_init_8u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1736
1737; OPTIMISTIC: ; Function Attrs: convergent nounwind
1738; OPTIMISTIC-NEXT: declare i32 @__kmpc_single(ptr nofree readonly captures(none), i32)
1739
1740; OPTIMISTIC: ; Function Attrs: convergent nounwind
1741; OPTIMISTIC-NEXT: declare void @__kmpc_end_single(ptr nofree readonly captures(none), i32)
1742
1743; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1744; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_omp_task_alloc(ptr nofree readonly captures(none), i32, i32, i64, i64, ptr nofree readonly captures(none))
1745
1746; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1747; OPTIMISTIC-NEXT: declare i32 @__kmpc_omp_task(ptr nofree readonly captures(none), i32, ptr)
1748
1749; OPTIMISTIC: ; Function Attrs: convergent nounwind
1750; OPTIMISTIC-NEXT: declare void @__kmpc_end_taskgroup(ptr nofree readonly captures(none), i32)
1751
1752; OPTIMISTIC: ; Function Attrs: convergent nounwind
1753; OPTIMISTIC-NEXT: declare void @__kmpc_taskgroup(ptr nofree readonly captures(none), i32)
1754
1755; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1756; OPTIMISTIC-NEXT: declare void @__kmpc_dist_dispatch_init_4(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), i32, i32, i32, i32)
1757
1758; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1759; OPTIMISTIC-NEXT: declare void @__kmpc_dist_dispatch_init_4u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), i32, i32, i32, i32)
1760
1761; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1762; OPTIMISTIC-NEXT: declare void @__kmpc_dist_dispatch_init_8(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), i64, i64, i64, i64)
1763
1764; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1765; OPTIMISTIC-NEXT: declare void @__kmpc_dist_dispatch_init_8u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), i64, i64, i64, i64)
1766
1767; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1768; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_init_4(ptr nofree readonly captures(none), i32, i32, i32, i32, i32, i32)
1769
1770; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1771; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_init_4u(ptr nofree readonly captures(none), i32, i32, i32, i32, i32, i32)
1772
1773; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1774; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_init_8(ptr nofree readonly captures(none), i32, i32, i64, i64, i64, i64)
1775
1776; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1777; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_init_8u(ptr nofree readonly captures(none), i32, i32, i64, i64, i64, i64)
1778
1779; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1780; OPTIMISTIC-NEXT: declare i32 @__kmpc_dispatch_next_4(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none))
1781
1782; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1783; OPTIMISTIC-NEXT: declare i32 @__kmpc_dispatch_next_4u(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none))
1784
1785; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1786; OPTIMISTIC-NEXT: declare i32 @__kmpc_dispatch_next_8(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none))
1787
1788; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1789; OPTIMISTIC-NEXT: declare i32 @__kmpc_dispatch_next_8u(ptr nofree readonly captures(none), i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none))
1790
1791; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1792; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_fini_4(ptr nofree readonly captures(none), i32)
1793
1794; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1795; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_fini_4u(ptr nofree readonly captures(none), i32)
1796
1797; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1798; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_fini_8(ptr nofree readonly captures(none), i32)
1799
1800; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1801; OPTIMISTIC-NEXT: declare void @__kmpc_dispatch_fini_8u(ptr nofree readonly captures(none), i32)
1802
1803; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1804; OPTIMISTIC-NEXT: declare void @__kmpc_omp_task_begin_if0(ptr nofree readonly captures(none), i32, ptr)
1805
1806; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1807; OPTIMISTIC-NEXT: declare void @__kmpc_omp_task_complete_if0(ptr nofree readonly captures(none), i32, ptr)
1808
1809; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1810; OPTIMISTIC-NEXT: declare i32 @__kmpc_omp_task_with_deps(ptr nofree readonly captures(none), i32, ptr, i32, ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none))
1811
1812; OPTIMISTIC: ; Function Attrs: convergent nounwind
1813; OPTIMISTIC-NEXT: declare void @__kmpc_omp_wait_deps(ptr nofree readonly captures(none), i32, i32, ptr nofree readonly captures(none), i32, ptr)
1814
1815; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1816; OPTIMISTIC-NEXT: declare i32 @__kmpc_cancellationpoint(ptr nofree readonly captures(none), i32, i32)
1817
1818; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1819; OPTIMISTIC-NEXT: declare void @__kmpc_push_num_teams(ptr nofree readonly captures(none), i32, i32, i32)
1820
1821; OPTIMISTIC: ; Function Attrs: nounwind
1822; OPTIMISTIC-NEXT: declare void @__kmpc_fork_teams(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none), ...)
1823
1824; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1825; OPTIMISTIC-NEXT: declare void @__kmpc_taskloop(ptr nofree readonly captures(none), i32, ptr, i32, ptr nofree captures(none), ptr nofree captures(none), i64, i32, i32, i64, ptr)
1826
1827; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1828; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_omp_target_task_alloc(ptr nofree readonly captures(none), i32, i32, i64, i64, ptr nofree readonly captures(none), i64)
1829
1830; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1831; OPTIMISTIC-NEXT: declare ptr @__kmpc_taskred_modifier_init(ptr nofree readonly captures(none), i32, i32, i32, ptr)
1832
1833; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1834; OPTIMISTIC-NEXT: declare ptr @__kmpc_taskred_init(i32, i32, ptr)
1835
1836; OPTIMISTIC: ; Function Attrs: convergent nounwind
1837; OPTIMISTIC-NEXT: declare void @__kmpc_task_reduction_modifier_fini(ptr nofree readonly captures(none), i32, i32)
1838
1839; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1840; OPTIMISTIC-NEXT: declare void @__kmpc_copyprivate(ptr nofree readonly captures(none), i32, i64, ptr nofree readonly captures(none), ptr, i32)
1841
1842; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1843; OPTIMISTIC-NEXT: declare ptr @__kmpc_threadprivate_cached(ptr nofree readonly captures(none), i32, ptr, i64, ptr)
1844
1845; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1846; OPTIMISTIC-NEXT: declare void @__kmpc_threadprivate_register(ptr nofree readonly captures(none), ptr, ptr nofree readonly captures(none), ptr nofree readonly captures(none), ptr nofree readonly captures(none))
1847
1848; OPTIMISTIC: ; Function Attrs: convergent nounwind
1849; OPTIMISTIC-NEXT: declare void @__kmpc_doacross_init(ptr nofree readonly captures(none), i32, i32, ptr)
1850
1851; OPTIMISTIC: ; Function Attrs: convergent nounwind
1852; OPTIMISTIC-NEXT: declare void @__kmpc_doacross_wait(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none))
1853
1854; OPTIMISTIC: ; Function Attrs: convergent nounwind
1855; OPTIMISTIC-NEXT: declare void @__kmpc_doacross_post(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none))
1856
1857; OPTIMISTIC: ; Function Attrs: convergent nounwind
1858; OPTIMISTIC-NEXT: declare void @__kmpc_doacross_fini(ptr nofree readonly captures(none), i32)
1859
1860; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1861; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_alloc(i32, i64, ptr)
1862
1863; OPTIMISTIC: ; Function Attrs: nosync nounwind willreturn
1864; OPTIMISTIC-NEXT: declare void @__kmpc_free(i32, ptr, ptr)
1865
1866; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1867; OPTIMISTIC-NEXT: declare ptr @__kmpc_init_allocator(i32, ptr, i32, ptr)
1868
1869; OPTIMISTIC: ; Function Attrs: nosync nounwind willreturn
1870; OPTIMISTIC-NEXT: declare void @__kmpc_destroy_allocator(i32, ptr)
1871
1872; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1873; OPTIMISTIC-NEXT: declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
1874
1875; OPTIMISTIC: ; Function Attrs: convergent nounwind
1876; OPTIMISTIC-NEXT: declare i64 @__kmpc_warp_active_thread_mask()
1877
1878; OPTIMISTIC: ; Function Attrs: convergent nounwind
1879; OPTIMISTIC-NEXT: declare void @__kmpc_syncwarp(i64)
1880
1881; OPTIMISTIC: ; Function Attrs: nounwind
1882; OPTIMISTIC-NEXT: declare i32 @__tgt_target_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1883
1884; OPTIMISTIC: ; Function Attrs: nounwind
1885; OPTIMISTIC-NEXT: declare i32 @__tgt_target_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1886
1887; OPTIMISTIC: ; Function Attrs: nounwind
1888; OPTIMISTIC-NEXT: declare i32 @__tgt_target_teams_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32)
1889
1890; OPTIMISTIC: ; Function Attrs: nounwind
1891; OPTIMISTIC-NEXT: declare i32 @__tgt_target_teams_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, ptr)
1892
1893; OPTIMISTIC: ; Function Attrs: nounwind
1894; OPTIMISTIC-NEXT: declare void @__tgt_target_data_begin_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1895
1896; OPTIMISTIC: ; Function Attrs: nounwind
1897; OPTIMISTIC-NEXT: declare void @__tgt_target_data_begin_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1898
1899; OPTIMISTIC: ; Function Attrs: nounwind
1900; OPTIMISTIC-NEXT: declare void @__tgt_target_data_end_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1901
1902; OPTIMISTIC: ; Function Attrs: nounwind
1903; OPTIMISTIC-NEXT: declare void @__tgt_target_data_end_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1904
1905; OPTIMISTIC: ; Function Attrs: nounwind
1906; OPTIMISTIC-NEXT: declare void @__tgt_target_data_update_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
1907
1908; OPTIMISTIC: ; Function Attrs: nounwind
1909; OPTIMISTIC-NEXT: declare void @__tgt_target_data_update_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
1910
1911; OPTIMISTIC: ; Function Attrs: nounwind
1912; OPTIMISTIC-NEXT: declare i64 @__tgt_mapper_num_components(ptr)
1913
1914; OPTIMISTIC: ; Function Attrs: nounwind
1915; OPTIMISTIC-NEXT: declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
1916
1917; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1918; OPTIMISTIC-NEXT: declare ptr @__kmpc_task_allow_completion_event(ptr nofree readonly captures(none), i32, ptr)
1919
1920; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1921; OPTIMISTIC-NEXT: declare ptr @__kmpc_task_reduction_get_th_data(i32, ptr, ptr)
1922
1923; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1924; OPTIMISTIC-NEXT: declare ptr @__kmpc_task_reduction_init(i32, i32, ptr)
1925
1926; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1927; OPTIMISTIC-NEXT: declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32, i32, i32, ptr)
1928
1929; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1930; OPTIMISTIC-NEXT: declare void @__kmpc_proxy_task_completed_ooo(ptr)
1931
1932; OPTIMISTIC: ; Function Attrs: cold convergent noinline nounwind
1933; OPTIMISTIC-NEXT: declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32)
1934
1935; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1936; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_aligned_alloc(i32, i64, i64, ptr)
1937
1938; OPTIMISTIC: ; Function Attrs: nosync nounwind allocsize(0)
1939; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_alloc_shared(i64)
1940
1941; OPTIMISTIC: ; Function Attrs: convergent nounwind
1942; OPTIMISTIC: declare void @__kmpc_barrier_simple_generic(ptr nofree readonly captures(none), i32)
1943
1944; OPTIMISTIC-NOT: Function Attrs
1945; OPTIMISTIC: declare void @__kmpc_begin_sharing_variables(ptr, i64)
1946
1947; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1948; OPTIMISTIC: declare void @__kmpc_distribute_static_fini(ptr nofree readonly captures(none), i32)
1949
1950; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1951; OPTIMISTIC: declare void @__kmpc_distribute_static_init_4(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1952
1953; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1954; OPTIMISTIC: declare void @__kmpc_distribute_static_init_4u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i32, i32)
1955
1956; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1957; OPTIMISTIC: declare void @__kmpc_distribute_static_init_8(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1958
1959; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: read)
1960; OPTIMISTIC: declare void @__kmpc_distribute_static_init_8u(ptr nofree readonly captures(none), i32, i32, ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), ptr nofree captures(none), i64, i64)
1961
1962; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
1963; OPTIMISTIC: declare void @__kmpc_end_masked(ptr nofree readonly captures(none), i32)
1964
1965; OPTIMISTIC-NOT: Function Attrs
1966; OPTIMISTIC: declare void @__kmpc_end_sharing_variables()
1967
1968; OPTIMISTIC-NOT: Function Attrs
1969; OPTIMISTIC: declare void @__kmpc_error(ptr, i32, ptr)
1970
1971; OPTIMISTIC-NOT: Function Attrs
1972; OPTIMISTIC: declare void @__kmpc_fork_call_if(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none), i32, ptr)
1973
1974; OPTIMISTIC: ; Function Attrs: nosync nounwind
1975; OPTIMISTIC-NEXT: declare void @__kmpc_free_shared(ptr allocptr captures(none), i64)
1976
1977; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1978; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_hardware_num_blocks()
1979
1980; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1981; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_hardware_num_threads_in_block()
1982
1983; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1984; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_hardware_thread_id_in_block()
1985
1986; OPTIMISTIC-NOT: Function Attrs
1987; OPTIMISTIC: declare void @__kmpc_get_shared_variables(ptr)
1988
1989; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1990; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_warp_size()
1991
1992; OPTIMISTIC-NOT: Function Attrs
1993; OPTIMISTIC: declare i8 @__kmpc_is_spmd_exec_mode()
1994
1995; OPTIMISTIC-NOT: Function Attrs
1996; OPTIMISTIC: declare void @__kmpc_kernel_end_parallel()
1997
1998; OPTIMISTIC-NOT: Function Attrs
1999; OPTIMISTIC: declare i1 @__kmpc_kernel_parallel(ptr)
2000
2001; OPTIMISTIC-NOT: Function Attrs
2002; OPTIMISTIC: declare void @__kmpc_kernel_prepare_parallel(ptr)
2003
2004; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite)
2005; OPTIMISTIC: declare i32 @__kmpc_masked(ptr nofree readonly captures(none), i32, i32)
2006
2007; OPTIMISTIC-NOT: Function Attrs
2008; OPTIMISTIC: declare i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr)
2009
2010; OPTIMISTIC-NOT: Function Attrs
2011; OPTIMISTIC: declare i32 @__kmpc_nvptx_teams_reduce_nowait_v2(ptr, ptr, i32, i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr)
2012
2013; OPTIMISTIC: nofree nosync nounwind willreturn
2014; OPTIMISTIC: declare i32 @__kmpc_omp_reg_task_with_affinity(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none))
2015
2016; OPTIMISTIC: alwaysinline
2017; OPTIMISTIC: declare void @__kmpc_parallel_51(ptr, i32, i32, i32, i32, ptr, ptr, ptr, i64)
2018
2019; OPTIMISTIC-NOT: Function Attrs
2020; OPTIMISTIC: declare i32 @__kmpc_shuffle_int32(i32, i16, i16)
2021
2022; OPTIMISTIC-NOT: Function Attrs
2023; OPTIMISTIC: declare i64 @__kmpc_shuffle_int64(i64, i16, i16)
2024
2025; OPTIMISTIC-NOT: Function Attrs
2026; OPTIMISTIC: declare void @__kmpc_target_deinit()
2027
2028; OPTIMISTIC-NOT: Function Attrs
2029; OPTIMISTIC: declare i32 @__kmpc_target_init(ptr, ptr)
2030
2031; OPTIMISTIC-NOT: Function Attrs
2032; OPTIMISTIC: declare void @__tgt_interop_destroy(ptr, i32, ptr, i32, i32, ptr, i32)
2033
2034; OPTIMISTIC-NOT: Function Attrs
2035; OPTIMISTIC: declare void @__tgt_interop_init(ptr, i32, ptr, i32, i32, i32, ptr, i32)
2036
2037; OPTIMISTIC-NOT: Function Attrs
2038; OPTIMISTIC: declare void @__tgt_interop_use(ptr, i32, ptr, i32, i32, ptr, i32)
2039
2040; OPTIMISTIC-NOT: Function Attrs
2041; OPTIMISTIC: declare void @__tgt_target_data_begin_mapper_issue(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr)
2042
2043; OPTIMISTIC-NOT: Function Attrs
2044; OPTIMISTIC: declare void @__tgt_target_data_begin_mapper_wait(i64, ptr)
2045
2046; OPTIMISTIC: ; Function Attrs: nounwind
2047; OPTIMISTIC: declare i32 @__tgt_target_kernel(ptr, i64, i32, i32, ptr, ptr)
2048
2049; OPTIMISTIC: ; Function Attrs: nounwind
2050; OPTIMISTIC: declare i32 @__tgt_target_kernel_nowait(ptr, i64, i32, i32, ptr, ptr, i32, ptr, i32, ptr)
2051
2052;;; Check extensions of integer params / retvals <= i32. Only functions in this file which are handled in OMPIRBuilder will get these attributes.
2053; EXT: ; Function Attrs: nounwind
2054; EXT-NEXT: declare dso_local void @omp_set_num_threads(i32 signext)
2055
2056; EXT: ; Function Attrs: nounwind
2057; EXT-NEXT: declare dso_local void @omp_set_dynamic(i32 signext)
2058
2059; EXT: ; Function Attrs: nounwind
2060; EXT-NEXT: declare dso_local void @omp_set_nested(i32 signext)
2061
2062; EXT: ; Function Attrs: nounwind
2063; EXT-NEXT: declare dso_local void @omp_set_max_active_levels(i32 signext)
2064
2065; EXT: ; Function Attrs: nounwind
2066; EXT-NEXT: declare dso_local void @omp_set_schedule(i32 signext, i32 signext)
2067
2068; EXT: ; Function Attrs: nounwind
2069; EXT-NEXT: declare dso_local signext i32 @omp_get_num_threads()
2070
2071; EXT-NOT: Function Attrs
2072; EXT: declare dso_local void @use_int(i32)
2073
2074; EXT: ; Function Attrs: nounwind
2075; EXT-NEXT: declare dso_local signext i32 @omp_get_dynamic()
2076
2077; EXT: ; Function Attrs: nounwind
2078; EXT-NEXT: declare dso_local signext i32 @omp_get_nested()
2079
2080; EXT: ; Function Attrs: nounwind
2081; EXT-NEXT: declare dso_local signext i32 @omp_get_max_threads()
2082
2083; EXT: ; Function Attrs: nounwind
2084; EXT-NEXT: declare dso_local signext i32 @omp_get_thread_num()
2085
2086; EXT: ; Function Attrs: nounwind
2087; EXT-NEXT: declare dso_local signext i32 @omp_get_num_procs()
2088
2089; EXT: ; Function Attrs: nounwind
2090; EXT-NEXT: declare dso_local signext i32 @omp_in_parallel()
2091
2092; EXT: ; Function Attrs: nounwind
2093; EXT-NEXT: declare dso_local signext i32 @omp_in_final()
2094
2095; EXT: ; Function Attrs: nounwind
2096; EXT-NEXT: declare dso_local signext i32 @omp_get_active_level()
2097
2098; EXT: ; Function Attrs: nounwind
2099; EXT-NEXT: declare dso_local signext i32 @omp_get_level()
2100
2101; EXT: ; Function Attrs: nounwind
2102; EXT-NEXT: declare dso_local signext i32 @omp_get_ancestor_thread_num(i32 signext)
2103
2104; EXT: ; Function Attrs: nounwind
2105; EXT-NEXT: declare dso_local signext i32 @omp_get_team_size(i32 signext)
2106
2107; EXT: ; Function Attrs: nounwind
2108; EXT-NEXT: declare dso_local signext i32 @omp_get_thread_limit()
2109
2110; EXT: ; Function Attrs: nounwind
2111; EXT-NEXT: declare dso_local signext i32 @omp_get_max_active_levels()
2112
2113; EXT: ; Function Attrs: nounwind
2114; EXT-NEXT: declare dso_local void @omp_get_schedule(ptr writeonly captures(none), ptr writeonly captures(none))
2115
2116; EXT-NOT: Function Attrs
2117; EXT: declare dso_local i32 @omp_get_max_task_priority()
2118
2119; EXT-NOT: Function Attrs
2120; EXT: declare dso_local void @omp_init_lock(ptr)
2121
2122; EXT-NOT: Function Attrs
2123; EXT: declare dso_local void @omp_set_lock(ptr)
2124
2125; EXT-NOT: Function Attrs
2126; EXT: declare dso_local void @omp_unset_lock(ptr)
2127
2128; EXT-NOT: Function Attrs
2129; EXT: declare dso_local void @omp_destroy_lock(ptr)
2130
2131; EXT-NOT: Function Attrs
2132; EXT: declare dso_local i32 @omp_test_lock(ptr)
2133
2134; EXT-NOT: Function Attrs
2135; EXT: declare dso_local void @omp_init_nest_lock(ptr)
2136
2137; EXT-NOT: Function Attrs
2138; EXT: declare dso_local void @omp_set_nest_lock(ptr)
2139
2140; EXT-NOT: Function Attrs
2141; EXT: declare dso_local void @omp_unset_nest_lock(ptr)
2142
2143; EXT-NOT: Function Attrs
2144; EXT: declare dso_local void @omp_destroy_nest_lock(ptr)
2145
2146; EXT-NOT: Function Attrs
2147; EXT: declare dso_local i32 @omp_test_nest_lock(ptr)
2148
2149; EXT-NOT: Function Attrs
2150; EXT: declare dso_local void @omp_init_lock_with_hint(ptr, i32)
2151
2152; EXT-NOT: Function Attrs
2153; EXT: declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
2154
2155; EXT: ; Function Attrs: nounwind
2156; EXT-NEXT: declare dso_local double @omp_get_wtime()
2157
2158; EXT-NOT: Function Attrs
2159; EXT: declare dso_local void @use_double(double)
2160
2161; EXT-NOT: Function Attrs
2162; EXT: declare dso_local double @omp_get_wtick()
2163
2164; EXT-NOT: Function Attrs
2165; EXT: declare dso_local i32 @omp_get_default_device()
2166
2167; EXT-NOT: Function Attrs
2168; EXT: declare dso_local void @omp_set_default_device(i32)
2169
2170; EXT-NOT: Function Attrs
2171; EXT: declare dso_local i32 @omp_is_initial_device()
2172
2173; EXT-NOT: Function Attrs
2174; EXT: declare dso_local i32 @omp_get_num_devices()
2175
2176; EXT-NOT: Function Attrs
2177; EXT: declare dso_local i32 @omp_get_num_teams()
2178
2179; EXT-NOT: Function Attrs
2180; EXT: declare dso_local i32 @omp_get_team_num()
2181
2182; EXT: ; Function Attrs: nounwind
2183; EXT-NEXT: declare dso_local signext i32 @omp_get_cancellation()
2184
2185; EXT-NOT: Function Attrs
2186; EXT: declare dso_local i32 @omp_get_initial_device()
2187
2188; EXT-NOT: Function Attrs
2189; EXT: declare dso_local ptr @omp_target_alloc(i64, i32)
2190
2191; EXT-NOT: Function Attrs
2192; EXT: declare dso_local void @use_voidptr(ptr)
2193
2194; EXT-NOT: Function Attrs
2195; EXT: declare dso_local void @omp_target_free(ptr, i32)
2196
2197; EXT-NOT: Function Attrs
2198; EXT: declare dso_local i32 @omp_target_is_present(ptr, i32)
2199
2200; EXT-NOT: Function Attrs
2201; EXT: declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
2202
2203; EXT-NOT: Function Attrs
2204; EXT: declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
2205
2206; EXT-NOT: Function Attrs
2207; EXT: declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
2208
2209; EXT-NOT: Function Attrs
2210; EXT: declare dso_local i32 @omp_get_device_num()
2211
2212; EXT: ; Function Attrs: nounwind
2213; EXT-NEXT: declare dso_local signext i32 @omp_get_proc_bind()
2214
2215; EXT: ; Function Attrs: nounwind
2216; EXT-NEXT: declare dso_local signext i32 @omp_get_num_places()
2217
2218; EXT-NOT: Function Attrs
2219; EXT: declare dso_local i32 @omp_get_place_num_procs(i32)
2220
2221; EXT: ; Function Attrs: nounwind
2222; EXT-NEXT: declare dso_local void @omp_get_place_proc_ids(i32 signext, ptr writeonly captures(none))
2223
2224; EXT: ; Function Attrs: nounwind
2225; EXT-NEXT: declare dso_local signext i32 @omp_get_place_num()
2226
2227; EXT: ; Function Attrs: nounwind
2228; EXT-NEXT: declare dso_local signext i32 @omp_get_partition_num_places()
2229
2230; EXT: ; Function Attrs: nounwind
2231; EXT-NEXT: declare dso_local void @omp_get_partition_place_nums(ptr)
2232
2233; EXT-NOT: Function Attrs
2234; EXT: declare dso_local i32 @omp_control_tool(i32, i32, ptr)
2235
2236; EXT-NOT: Function Attrs
2237; EXT: declare dso_local void @omp_destroy_allocator(i64)
2238
2239; EXT-NOT: Function Attrs
2240; EXT: declare dso_local void @omp_set_default_allocator(i64)
2241
2242; EXT-NOT: Function Attrs
2243; EXT: declare dso_local i64 @omp_get_default_allocator()
2244
2245; EXT-NOT: Function Attrs
2246; EXT: declare dso_local ptr @omp_alloc(i64, i64)
2247
2248; EXT-NOT: Function Attrs
2249; EXT: declare dso_local void @omp_free(ptr, i64)
2250
2251; EXT-NOT: Function Attrs
2252; EXT: declare dso_local void @ompc_set_affinity_format(ptr)
2253
2254; EXT-NOT: Function Attrs
2255; EXT: declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
2256
2257; EXT-NOT: Function Attrs
2258; EXT: declare dso_local void @use_sizet(i64)
2259
2260; EXT-NOT: Function Attrs
2261; EXT: declare dso_local void @ompc_display_affinity(ptr)
2262
2263; EXT-NOT: Function Attrs
2264; EXT: declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
2265
2266; EXT-NOT: Function Attrs
2267; EXT: declare dso_local void @omp_fulfill_event(i64)
2268
2269; EXT-NOT: Function Attrs
2270; EXT: declare dso_local i32 @omp_pause_resource(i32, i32)
2271
2272; EXT-NOT: Function Attrs
2273; EXT: declare dso_local i32 @omp_pause_resource_all(i32)
2274
2275; EXT: ; Function Attrs: nounwind
2276; EXT-NEXT: declare dso_local signext i32 @omp_get_supported_active_levels()
2277
2278; EXT: ; Function Attrs: convergent nounwind
2279; EXT-NEXT: declare void @__kmpc_barrier(ptr, i32 signext)
2280
2281; EXT: ; Function Attrs: nounwind
2282; EXT-NEXT: declare signext i32 @__kmpc_cancel(ptr, i32 signext, i32 signext)
2283
2284; EXT: ; Function Attrs: convergent nounwind
2285; EXT-NEXT: declare signext i32 @__kmpc_cancel_barrier(ptr, i32 signext)
2286
2287; EXT: ; Function Attrs: convergent nounwind
2288; EXT-NEXT: declare void @__kmpc_flush(ptr)
2289
2290; EXT: ; Function Attrs: nounwind
2291; EXT-NEXT: declare signext i32 @__kmpc_global_thread_num(ptr)
2292
2293; EXT: ; Function Attrs: nounwind
2294; EXT-NEXT: declare void @__kmpc_fork_call(ptr, i32 signext, ptr, ...)
2295
2296; EXT: ; Function Attrs: convergent nounwind
2297; EXT-NEXT: declare signext i32 @__kmpc_omp_taskwait(ptr, i32 signext)
2298
2299; EXT: ; Function Attrs: nounwind
2300; EXT-NEXT: declare signext i32 @__kmpc_omp_taskyield(ptr, i32 signext, i32 signext)
2301
2302; EXT: ; Function Attrs: nounwind
2303; EXT-NEXT: declare void @__kmpc_push_num_threads(ptr, i32 signext, i32 signext)
2304
2305; EXT: ; Function Attrs: nounwind
2306; EXT-NEXT: declare void @__kmpc_push_proc_bind(ptr, i32 signext, i32 signext)
2307
2308; EXT: ; Function Attrs: nounwind
2309; EXT-NEXT: declare void @__kmpc_serialized_parallel(ptr, i32 signext)
2310
2311; EXT: ; Function Attrs: nounwind
2312; EXT-NEXT: declare void @__kmpc_end_serialized_parallel(ptr, i32 signext)
2313
2314; EXT: ; Function Attrs: nounwind
2315; EXT-NEXT: declare signext i32 @__kmpc_master(ptr, i32 signext)
2316
2317; EXT: ; Function Attrs: nounwind
2318; EXT-NEXT: declare void @__kmpc_end_master(ptr, i32 signext)
2319
2320; EXT: ; Function Attrs: convergent nounwind
2321; EXT-NEXT: declare void @__kmpc_critical(ptr, i32 signext, ptr)
2322
2323; EXT: ; Function Attrs: convergent nounwind
2324; EXT-NEXT: declare void @__kmpc_critical_with_hint(ptr, i32 signext, ptr, i32 zeroext)
2325
2326; EXT: ; Function Attrs: convergent nounwind
2327; EXT-NEXT: declare void @__kmpc_end_critical(ptr, i32 signext, ptr)
2328
2329; EXT: ; Function Attrs: nounwind
2330; EXT-NEXT: declare void @__kmpc_begin(ptr, i32 signext)
2331
2332; EXT: ; Function Attrs: nounwind
2333; EXT-NEXT: declare void @__kmpc_end(ptr)
2334
2335; EXT: ; Function Attrs: convergent nounwind
2336; EXT-NEXT: declare signext i32 @__kmpc_reduce(ptr, i32 signext, i32 signext, i64, ptr, ptr, ptr)
2337
2338; EXT: ; Function Attrs: convergent nounwind
2339; EXT-NEXT: declare signext i32 @__kmpc_reduce_nowait(ptr, i32 signext, i32 signext, i64, ptr, ptr, ptr)
2340
2341; EXT: ; Function Attrs: convergent nounwind
2342; EXT-NEXT: declare void @__kmpc_end_reduce(ptr, i32 signext, ptr)
2343
2344; EXT: ; Function Attrs: convergent nounwind
2345; EXT-NEXT: declare void @__kmpc_end_reduce_nowait(ptr, i32 signext, ptr)
2346
2347; EXT: ; Function Attrs: convergent nounwind
2348; EXT-NEXT: declare void @__kmpc_ordered(ptr, i32 signext)
2349
2350; EXT: ; Function Attrs: convergent nounwind
2351; EXT-NEXT: declare void @__kmpc_end_ordered(ptr, i32 signext)
2352
2353; EXT: ; Function Attrs: nounwind
2354; EXT-NEXT: declare void @__kmpc_for_static_init_4(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2355
2356; EXT: ; Function Attrs: nounwind
2357; EXT-NEXT: declare void @__kmpc_for_static_init_4u(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2358
2359; EXT: ; Function Attrs: nounwind
2360; EXT-NEXT: declare void @__kmpc_for_static_init_8(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
2361
2362; EXT: ; Function Attrs: nounwind
2363; EXT-NEXT: declare void @__kmpc_for_static_init_8u(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
2364
2365; EXT: ; Function Attrs: nounwind
2366; EXT-NEXT: declare void @__kmpc_for_static_fini(ptr, i32 signext)
2367
2368; EXT: ; Function Attrs: nounwind
2369; EXT-NEXT: declare void @__kmpc_team_static_init_4(ptr, i32 signext, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2370
2371; EXT: ; Function Attrs: nounwind
2372; EXT-NEXT: declare void @__kmpc_team_static_init_4u(ptr, i32 signext, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2373
2374; EXT: ; Function Attrs: nounwind
2375; EXT-NEXT: declare void @__kmpc_team_static_init_8(ptr, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
2376
2377; EXT: ; Function Attrs: nounwind
2378; EXT-NEXT: declare void @__kmpc_team_static_init_8u(ptr, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
2379
2380; EXT: ; Function Attrs: nounwind
2381; EXT-NEXT: declare void @__kmpc_dist_for_static_init_4(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2382
2383; EXT: ; Function Attrs: nounwind
2384; EXT-NEXT: declare void @__kmpc_dist_for_static_init_4u(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2385
2386; EXT: ; Function Attrs: nounwind
2387; EXT-NEXT: declare void @__kmpc_dist_for_static_init_8(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, ptr, i64, i64)
2388
2389; EXT: ; Function Attrs: nounwind
2390; EXT-NEXT: declare void @__kmpc_dist_for_static_init_8u(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, ptr, i64, i64)
2391
2392; EXT: ; Function Attrs: convergent nounwind
2393; EXT-NEXT: declare signext i32 @__kmpc_single(ptr, i32 signext)
2394
2395; EXT: ; Function Attrs: convergent nounwind
2396; EXT-NEXT: declare void @__kmpc_end_single(ptr, i32 signext)
2397
2398; EXT: ; Function Attrs: nounwind
2399; EXT-NEXT: declare noalias ptr @__kmpc_omp_task_alloc(ptr, i32 signext, i32 signext, i64, i64, ptr)
2400
2401; EXT: ; Function Attrs: nounwind
2402; EXT-NEXT: declare signext i32 @__kmpc_omp_task(ptr, i32 signext, ptr)
2403
2404; EXT: ; Function Attrs: convergent nounwind
2405; EXT-NEXT: declare void @__kmpc_end_taskgroup(ptr, i32 signext)
2406
2407; EXT: ; Function Attrs: convergent nounwind
2408; EXT-NEXT: declare void @__kmpc_taskgroup(ptr, i32 signext)
2409
2410; EXT: ; Function Attrs: nounwind
2411; EXT-NEXT: declare void @__kmpc_dist_dispatch_init_4(ptr, i32 signext, i32 signext, ptr, i32 signext, i32 signext, i32 signext, i32 signext)
2412
2413; EXT: ; Function Attrs: nounwind
2414; EXT-NEXT: declare void @__kmpc_dist_dispatch_init_4u(ptr, i32 signext, i32 signext, ptr, i32 zeroext, i32 zeroext, i32 signext, i32 signext)
2415
2416; EXT: ; Function Attrs: nounwind
2417; EXT-NEXT: declare void @__kmpc_dist_dispatch_init_8(ptr, i32 signext, i32 signext, ptr, i64, i64, i64, i64)
2418
2419; EXT: ; Function Attrs: nounwind
2420; EXT-NEXT: declare void @__kmpc_dist_dispatch_init_8u(ptr, i32 signext, i32 signext, ptr, i64, i64, i64, i64)
2421
2422; EXT: ; Function Attrs: nounwind
2423; EXT-NEXT: declare void @__kmpc_dispatch_init_4(ptr, i32 signext, i32 signext, i32 signext, i32 signext, i32 signext, i32 signext)
2424
2425; EXT: ; Function Attrs: nounwind
2426; EXT-NEXT: declare void @__kmpc_dispatch_init_4u(ptr, i32 signext, i32 signext, i32 zeroext, i32 zeroext, i32 signext, i32 signext)
2427
2428; EXT: ; Function Attrs: nounwind
2429; EXT-NEXT: declare void @__kmpc_dispatch_init_8(ptr, i32 signext, i32 signext, i64, i64, i64, i64)
2430
2431; EXT: ; Function Attrs: nounwind
2432; EXT-NEXT: declare void @__kmpc_dispatch_init_8u(ptr, i32 signext, i32 signext, i64, i64, i64, i64)
2433
2434; EXT: ; Function Attrs: nounwind
2435; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_4(ptr, i32 signext, ptr, ptr, ptr, ptr)
2436
2437; EXT: ; Function Attrs: nounwind
2438; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_4u(ptr, i32 signext, ptr, ptr, ptr, ptr)
2439
2440; EXT: ; Function Attrs: nounwind
2441; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_8(ptr, i32 signext, ptr, ptr, ptr, ptr)
2442
2443; EXT: ; Function Attrs: nounwind
2444; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_8u(ptr, i32 signext, ptr, ptr, ptr, ptr)
2445
2446; EXT: ; Function Attrs: nounwind
2447; EXT-NEXT: declare void @__kmpc_dispatch_fini_4(ptr, i32 signext)
2448
2449; EXT: ; Function Attrs: nounwind
2450; EXT-NEXT: declare void @__kmpc_dispatch_fini_4u(ptr, i32 signext)
2451
2452; EXT: ; Function Attrs: nounwind
2453; EXT-NEXT: declare void @__kmpc_dispatch_fini_8(ptr, i32 signext)
2454
2455; EXT: ; Function Attrs: nounwind
2456; EXT-NEXT: declare void @__kmpc_dispatch_fini_8u(ptr, i32 signext)
2457
2458; EXT: ; Function Attrs: nounwind
2459; EXT-NEXT: declare void @__kmpc_omp_task_begin_if0(ptr, i32 signext, ptr)
2460
2461; EXT: ; Function Attrs: nounwind
2462; EXT-NEXT: declare void @__kmpc_omp_task_complete_if0(ptr, i32 signext, ptr)
2463
2464; EXT: ; Function Attrs: nounwind
2465; EXT-NEXT: declare signext i32 @__kmpc_omp_task_with_deps(ptr, i32 signext, ptr, i32 signext, ptr, i32 signext, ptr)
2466
2467; EXT: ; Function Attrs: convergent nounwind
2468; EXT-NEXT: declare void @__kmpc_omp_wait_deps(ptr, i32 signext, i32 signext, ptr, i32 signext, ptr)
2469
2470; EXT: ; Function Attrs: convergent nounwind
2471; EXT-NEXT: declare void @__kmpc_omp_taskwait_deps_51(ptr, i32 signext, i32 signext, ptr, i32 signext, ptr, i32 signext)
2472
2473; EXT: ; Function Attrs: nounwind
2474; EXT-NEXT: declare signext i32 @__kmpc_cancellationpoint(ptr, i32 signext, i32 signext)
2475
2476; EXT: ; Function Attrs: nounwind
2477; EXT-NEXT: declare void @__kmpc_push_num_teams(ptr, i32 signext, i32 signext, i32 signext)
2478
2479; EXT: ; Function Attrs: nounwind
2480; EXT-NEXT: declare void @__kmpc_fork_teams(ptr, i32 signext, ptr, ...)
2481
2482; EXT: ; Function Attrs: nounwind
2483; EXT-NEXT: declare void @__kmpc_taskloop(ptr, i32 signext, ptr, i32 signext, ptr, ptr, i64, i32 signext, i32 signext, i64, ptr)
2484
2485; EXT: ; Function Attrs: nounwind
2486; EXT-NEXT: declare noalias ptr @__kmpc_omp_target_task_alloc(ptr, i32 signext, i32 signext, i64, i64, ptr, i64)
2487
2488; EXT: ; Function Attrs: nounwind
2489; EXT-NEXT: declare ptr @__kmpc_taskred_modifier_init(ptr, i32 signext, i32 signext, i32 signext, ptr)
2490
2491; EXT: ; Function Attrs: nounwind
2492; EXT-NEXT: declare ptr @__kmpc_taskred_init(i32 signext, i32 signext, ptr)
2493
2494; EXT: ; Function Attrs: convergent nounwind
2495; EXT-NEXT: declare void @__kmpc_task_reduction_modifier_fini(ptr, i32 signext, i32 signext)
2496
2497; EXT: ; Function Attrs: nounwind
2498; EXT-NEXT: declare void @__kmpc_copyprivate(ptr, i32 signext, i64, ptr, ptr, i32 signext)
2499
2500; EXT: ; Function Attrs: nounwind
2501; EXT-NEXT: declare ptr @__kmpc_threadprivate_cached(ptr, i32 signext, ptr, i64, ptr)
2502
2503; EXT: ; Function Attrs: nounwind
2504; EXT-NEXT: declare void @__kmpc_threadprivate_register(ptr, ptr, ptr, ptr, ptr)
2505
2506; EXT: ; Function Attrs: convergent nounwind
2507; EXT-NEXT: declare void @__kmpc_doacross_init(ptr, i32 signext, i32 signext, ptr)
2508
2509; EXT: ; Function Attrs: convergent nounwind
2510; EXT-NEXT: declare void @__kmpc_doacross_wait(ptr, i32 signext, ptr)
2511
2512; EXT: ; Function Attrs: convergent nounwind
2513; EXT-NEXT: declare void @__kmpc_doacross_post(ptr, i32 signext, ptr)
2514
2515; EXT: ; Function Attrs: convergent nounwind
2516; EXT-NEXT: declare void @__kmpc_doacross_fini(ptr, i32 signext)
2517
2518; EXT: ; Function Attrs: nounwind
2519; EXT-NEXT: declare noalias ptr @__kmpc_alloc(i32 signext, i64, ptr)
2520
2521; EXT: ; Function Attrs: nounwind
2522; EXT-NEXT: declare void @__kmpc_free(i32 signext, ptr, ptr)
2523
2524; EXT: ; Function Attrs: nounwind
2525; EXT-NEXT: declare ptr @__kmpc_init_allocator(i32 signext, ptr, i32 signext, ptr)
2526
2527; EXT: ; Function Attrs: nounwind
2528; EXT-NEXT: declare void @__kmpc_destroy_allocator(i32 signext, ptr)
2529
2530; EXT: ; Function Attrs: nounwind
2531; EXT-NEXT: declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
2532
2533; EXT: ; Function Attrs: convergent nounwind
2534; EXT-NEXT: declare i64 @__kmpc_warp_active_thread_mask()
2535
2536; EXT: ; Function Attrs: convergent nounwind
2537; EXT-NEXT: declare void @__kmpc_syncwarp(i64)
2538
2539; EXT: ; Function Attrs: nounwind
2540; EXT-NEXT: declare signext i32 @__tgt_target_mapper(ptr, i64, ptr, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr)
2541
2542; EXT: ; Function Attrs: nounwind
2543; EXT-NEXT: declare signext i32 @__tgt_target_nowait_mapper(ptr, i64, ptr, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr, i32 signext, ptr, i32 signext, ptr)
2544
2545; EXT: ; Function Attrs: nounwind
2546; EXT-NEXT: declare signext i32 @__tgt_target_teams_mapper(ptr, i64, ptr, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2547
2548; EXT: ; Function Attrs: nounwind
2549; EXT-NEXT: declare signext i32 @__tgt_target_teams_nowait_mapper(ptr, i64, ptr, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr, i32 signext, i32 signext, i32 signext, ptr, i32 signext, ptr)
2550
2551; EXT: ; Function Attrs: nounwind
2552; EXT-NEXT: declare void @__tgt_target_data_begin_mapper(ptr, i64, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr)
2553
2554; EXT: ; Function Attrs: nounwind
2555; EXT-NEXT: declare void @__tgt_target_data_begin_nowait_mapper(ptr, i64, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr, i32 signext, ptr, i32 signext, ptr)
2556
2557; EXT: ; Function Attrs: nounwind
2558; EXT-NEXT: declare void @__tgt_target_data_end_mapper(ptr, i64, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr)
2559
2560; EXT: ; Function Attrs: nounwind
2561; EXT-NEXT: declare void @__tgt_target_data_end_nowait_mapper(ptr, i64, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr, i32 signext, ptr, i32 signext, ptr)
2562
2563; EXT: ; Function Attrs: nounwind
2564; EXT-NEXT: declare void @__tgt_target_data_update_mapper(ptr, i64, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr)
2565
2566; EXT: ; Function Attrs: nounwind
2567; EXT-NEXT: declare void @__tgt_target_data_update_nowait_mapper(ptr, i64, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr, i32 signext, ptr, i32 signext, ptr)
2568
2569; EXT: ; Function Attrs: nounwind
2570; EXT-NEXT: declare i64 @__tgt_mapper_num_components(ptr)
2571
2572; EXT: ; Function Attrs: nounwind
2573; EXT-NEXT: declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
2574
2575; EXT: ; Function Attrs: nounwind
2576; EXT-NEXT: declare ptr @__kmpc_task_allow_completion_event(ptr, i32 signext, ptr)
2577
2578; EXT: ; Function Attrs: nounwind
2579; EXT-NEXT: declare ptr @__kmpc_task_reduction_get_th_data(i32 signext, ptr, ptr)
2580
2581; EXT: ; Function Attrs: nounwind
2582; EXT-NEXT: declare ptr @__kmpc_task_reduction_init(i32 signext, i32 signext, ptr)
2583
2584; EXT: ; Function Attrs: nounwind
2585; EXT-NEXT: declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32 signext, i32 signext, i32 signext, ptr)
2586
2587; EXT: ; Function Attrs: nounwind
2588; EXT-NEXT: declare void @__kmpc_proxy_task_completed_ooo(ptr)
2589
2590; EXT: ; Function Attrs: cold convergent noinline nounwind
2591; EXT-NEXT: declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32 signext)
2592
2593; EXT: ; Function Attrs: nounwind
2594; EXT-NEXT: declare noalias ptr @__kmpc_aligned_alloc(i32 signext, i64, i64, ptr)
2595
2596; EXT: ; Function Attrs: nosync nounwind allocsize(0)
2597; EXT-NEXT: declare noalias ptr @__kmpc_alloc_shared(i64)
2598
2599; EXT: ; Function Attrs: convergent nounwind
2600; EXT: declare void @__kmpc_barrier_simple_generic(ptr, i32 signext)
2601
2602; EXT-NOT: Function Attrs
2603; EXT: declare void @__kmpc_begin_sharing_variables(ptr, i64)
2604
2605; EXT: ; Function Attrs: nounwind
2606; EXT: declare void @__kmpc_distribute_static_fini(ptr, i32 signext)
2607
2608; EXT: ; Function Attrs: nounwind
2609; EXT: declare void @__kmpc_distribute_static_init_4(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2610
2611; EXT: ; Function Attrs: nounwind
2612; EXT: declare void @__kmpc_distribute_static_init_4u(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i32 signext, i32 signext)
2613
2614; EXT: ; Function Attrs: nounwind
2615; EXT: declare void @__kmpc_distribute_static_init_8(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
2616
2617; EXT: ; Function Attrs: nounwind
2618; EXT: declare void @__kmpc_distribute_static_init_8u(ptr, i32 signext, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
2619
2620; EXT: ; Function Attrs: nounwind
2621; EXT: declare void @__kmpc_end_masked(ptr, i32 signext)
2622
2623; EXT-NOT: Function Attrs
2624; EXT: declare void @__kmpc_end_sharing_variables()
2625
2626; EXT-NOT: Function Attrs
2627; EXT: declare void @__kmpc_error(ptr, i32 signext, ptr)
2628
2629; EXT-NOT: Function Attrs
2630; EXT: declare void @__kmpc_fork_call_if(ptr, i32 signext, ptr, i32 signext, ptr)
2631
2632; EXT: ; Function Attrs: nosync nounwind
2633; EXT-NEXT: declare void @__kmpc_free_shared(ptr allocptr captures(none), i64)
2634
2635; EXT: ; Function Attrs: nounwind
2636; EXT-NEXT: declare zeroext i32 @__kmpc_get_hardware_num_blocks()
2637
2638; EXT: ; Function Attrs: nounwind
2639; EXT-NEXT: declare zeroext i32 @__kmpc_get_hardware_num_threads_in_block()
2640
2641; EXT: ; Function Attrs: nounwind
2642; EXT-NEXT: declare zeroext i32 @__kmpc_get_hardware_thread_id_in_block()
2643
2644; EXT-NOT: Function Attrs
2645; EXT: declare void @__kmpc_get_shared_variables(ptr)
2646
2647; EXT: ; Function Attrs: nounwind
2648; EXT-NEXT: declare zeroext i32 @__kmpc_get_warp_size()
2649
2650; EXT-NOT: Function Attrs
2651; EXT: declare signext i8 @__kmpc_is_spmd_exec_mode()
2652
2653; EXT-NOT: Function Attrs
2654; EXT: declare void @__kmpc_kernel_end_parallel()
2655
2656; EXT-NOT: Function Attrs
2657; EXT: declare i1 @__kmpc_kernel_parallel(ptr)
2658
2659; EXT-NOT: Function Attrs
2660; EXT: declare void @__kmpc_kernel_prepare_parallel(ptr)
2661
2662; EXT: ; Function Attrs: nounwind
2663; EXT: declare signext i32 @__kmpc_masked(ptr, i32 signext, i32 signext)
2664
2665; EXT-NOT: Function Attrs
2666; EXT: declare signext i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr)
2667
2668; EXT-NOT: Function Attrs
2669; EXT: declare signext i32 @__kmpc_nvptx_teams_reduce_nowait_v2(ptr, ptr, i32 zeroext, i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr)
2670
2671; EXT: ; Function Attrs: nounwind
2672; EXT: declare signext i32 @__kmpc_omp_reg_task_with_affinity(ptr, i32 signext, ptr, i32 signext, ptr)
2673
2674; EXT: ; Function Attrs: alwaysinline
2675; EXT: declare void @__kmpc_parallel_51(ptr, i32 signext, i32 signext, i32 signext, i32 signext, ptr, ptr, ptr, i64)
2676
2677; EXT-NOT: Function Attrs
2678; EXT: declare signext i32 @__kmpc_shuffle_int32(i32 signext, i16 signext, i16 signext)
2679
2680; EXT-NOT: Function Attrs
2681; EXT: declare i64 @__kmpc_shuffle_int64(i64, i16 signext, i16 signext)
2682
2683; EXT-NOT: Function Attrs
2684; EXT: declare void @__kmpc_target_deinit()
2685
2686; EXT-NOT: Function Attrs
2687; EXT: declare signext i32 @__kmpc_target_init(ptr, ptr)
2688
2689; EXT-NOT: Function Attrs
2690; EXT: declare void @__tgt_interop_destroy(ptr, i32 signext, ptr, i32 signext, i32 signext, ptr, i32 signext)
2691
2692; EXT-NOT: Function Attrs
2693; EXT: declare void @__tgt_interop_init(ptr, i32 signext, ptr, i32 signext, i32 signext, i32, ptr, i32 signext)
2694
2695; EXT-NOT: Function Attrs
2696; EXT: declare void @__tgt_interop_use(ptr, i32 signext, ptr, i32 signext, i32 signext, ptr, i32 signext)
2697
2698; EXT-NOT: Function Attrs
2699; EXT: declare void @__tgt_target_data_begin_mapper_issue(ptr, i64, i32 signext, ptr, ptr, ptr, ptr, ptr, ptr, ptr)
2700
2701; EXT-NOT: Function Attrs
2702; EXT: declare void @__tgt_target_data_begin_mapper_wait(i64, ptr)
2703
2704; EXT: ; Function Attrs: nounwind
2705; EXT: declare signext i32 @__tgt_target_kernel(ptr, i64, i32 signext, i32 signext, ptr, ptr)
2706
2707; EXT: ; Function Attrs: nounwind
2708; EXT: declare signext i32 @__tgt_target_kernel_nowait(ptr, i64, i32 signext, i32 signext, ptr, ptr, i32 signext, ptr, i32 signext, ptr)
2709
2710; MIPS_EXT: ; Function Attrs: nounwind
2711; MIPS_EXT: declare dso_local void @omp_set_num_threads(i32 signext)
2712
2713; MIPS_EXT: ; Function Attrs: nounwind
2714; MIPS_EXT: declare dso_local i32 @omp_get_num_threads()
2715
2716; MIPS_EXT: ; Function Attrs: convergent nounwind
2717; MIPS_EXT: declare void @__kmpc_critical_with_hint(ptr, i32 signext, ptr, i32 signext)
2718
2719; MIPS_EXT: ; Function Attrs: nounwind
2720; MIPS_EXT: declare i32 @__kmpc_get_hardware_num_blocks()
2721
2722; RISCV_EXT: ; Function Attrs: nounwind
2723; RISCV_EXT: declare signext i32 @__kmpc_get_hardware_num_blocks()
2724
2725; RISCV_EXT: ; Function Attrs: nounwind
2726; RISCV_EXT: declare signext i32 @__kmpc_get_hardware_num_threads_in_block()
2727
2728; RISCV_EXT: ; Function Attrs: nounwind
2729; RISCV_EXT: declare signext i32 @__kmpc_get_hardware_thread_id_in_block()
2730
2731; RISCV_EXT: ; Function Attrs: nounwind
2732; RISCV_EXT: declare signext i32 @__kmpc_get_warp_size()
2733
2734!llvm.module.flags = !{!0}
2735
2736!0 = !{i32 7, !"openmp", i32 50}
2737