[LLD][COFF] Emit locally imported EC symbols for ARM64X (#125527)
[llvm-project.git] / llvm / test / Transforms / OpenMP / add_attributes.ll
blobb19e2c2a3ef024f01814843d393dc52d7dd7977b
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
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 }
14 define 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) {
15 entry:
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
314 declare dso_local void @omp_set_num_threads(i32)
316 declare dso_local void @omp_set_dynamic(i32)
318 declare dso_local void @omp_set_nested(i32)
320 declare dso_local void @omp_set_max_active_levels(i32)
322 declare dso_local void @omp_set_schedule(i32, i32)
324 declare dso_local i32 @omp_get_num_threads()
326 declare dso_local void @use_int(i32)
328 declare dso_local i32 @omp_get_dynamic()
330 declare dso_local i32 @omp_get_nested()
332 declare dso_local i32 @omp_get_max_threads()
334 declare dso_local i32 @omp_get_thread_num()
336 declare dso_local i32 @omp_get_num_procs()
338 declare dso_local i32 @omp_in_parallel()
340 declare dso_local i32 @omp_in_final()
342 declare dso_local i32 @omp_get_active_level()
344 declare dso_local i32 @omp_get_level()
346 declare dso_local i32 @omp_get_ancestor_thread_num(i32)
348 declare dso_local i32 @omp_get_team_size(i32)
350 declare dso_local i32 @omp_get_thread_limit()
352 declare dso_local i32 @omp_get_max_active_levels()
354 declare dso_local void @omp_get_schedule(ptr, ptr)
356 declare dso_local i32 @omp_get_max_task_priority()
358 declare dso_local void @omp_init_lock(ptr)
360 declare dso_local void @omp_set_lock(ptr)
362 declare dso_local void @omp_unset_lock(ptr)
364 declare dso_local void @omp_destroy_lock(ptr)
366 declare dso_local i32 @omp_test_lock(ptr)
368 declare dso_local void @omp_init_nest_lock(ptr)
370 declare dso_local void @omp_set_nest_lock(ptr)
372 declare dso_local void @omp_unset_nest_lock(ptr)
374 declare dso_local void @omp_destroy_nest_lock(ptr)
376 declare dso_local i32 @omp_test_nest_lock(ptr)
378 declare dso_local void @omp_init_lock_with_hint(ptr, i32)
380 declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
382 declare dso_local double @omp_get_wtime()
384 declare dso_local void @use_double(double)
386 declare dso_local double @omp_get_wtick()
388 declare dso_local i32 @omp_get_default_device()
390 declare dso_local void @omp_set_default_device(i32)
392 declare dso_local i32 @omp_is_initial_device()
394 declare dso_local i32 @omp_get_num_devices()
396 declare dso_local i32 @omp_get_num_teams()
398 declare dso_local i32 @omp_get_team_num()
400 declare dso_local i32 @omp_get_cancellation()
402 declare dso_local i32 @omp_get_initial_device()
404 declare dso_local ptr @omp_target_alloc(i64, i32)
406 declare dso_local void @use_voidptr(ptr)
408 declare dso_local void @omp_target_free(ptr, i32)
410 declare dso_local i32 @omp_target_is_present(ptr, i32)
412 declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
414 declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
416 declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
418 declare dso_local i32 @omp_get_device_num()
420 declare dso_local i32 @omp_get_proc_bind()
422 declare dso_local i32 @omp_get_num_places()
424 declare dso_local i32 @omp_get_place_num_procs(i32)
426 declare dso_local void @omp_get_place_proc_ids(i32, ptr)
428 declare dso_local i32 @omp_get_place_num()
430 declare dso_local i32 @omp_get_partition_num_places()
432 declare dso_local void @omp_get_partition_place_nums(ptr)
434 declare dso_local i32 @omp_control_tool(i32, i32, ptr)
436 declare dso_local void @omp_destroy_allocator(i64)
438 declare dso_local void @omp_set_default_allocator(i64)
440 declare dso_local i64 @omp_get_default_allocator()
442 declare dso_local ptr @omp_alloc(i64, i64)
444 declare dso_local void @omp_free(ptr, i64)
446 declare dso_local void @ompc_set_affinity_format(ptr)
448 declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
450 declare dso_local void @use_sizet(i64)
452 declare dso_local void @ompc_display_affinity(ptr)
454 declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
456 declare dso_local void @omp_fulfill_event(i64)
458 declare dso_local i32 @omp_pause_resource(i32, i32)
460 declare dso_local i32 @omp_pause_resource_all(i32)
462 declare dso_local i32 @omp_get_supported_active_levels()
464 declare void @__kmpc_barrier(ptr, i32)
466 declare i32 @__kmpc_cancel(ptr, i32, i32)
468 declare i32 @__kmpc_cancel_barrier(ptr, i32)
470 declare void @__kmpc_flush(ptr)
472 declare i32 @__kmpc_global_thread_num(ptr)
474 declare void @__kmpc_fork_call(ptr, i32, ptr, ...)
476 declare i32 @__kmpc_omp_taskwait(ptr, i32)
478 declare i32 @__kmpc_omp_taskyield(ptr, i32, i32)
480 declare void @__kmpc_push_num_threads(ptr, i32, i32)
482 declare void @__kmpc_push_proc_bind(ptr, i32, i32)
484 declare void @__kmpc_serialized_parallel(ptr, i32)
486 declare void @__kmpc_end_serialized_parallel(ptr, i32)
488 declare i32 @__kmpc_master(ptr, i32)
490 declare void @__kmpc_end_master(ptr, i32)
492 declare void @__kmpc_critical(ptr, i32, ptr)
494 declare void @__kmpc_critical_with_hint(ptr, i32, ptr, i32)
496 declare void @__kmpc_end_critical(ptr, i32, ptr)
498 declare void @__kmpc_begin(ptr, i32)
500 declare void @__kmpc_end(ptr)
502 declare i32 @__kmpc_reduce(ptr, i32, i32, i64, ptr, ptr, ptr)
504 declare i32 @__kmpc_reduce_nowait(ptr, i32, i32, i64, ptr, ptr, ptr)
506 declare void @__kmpc_end_reduce(ptr, i32, ptr)
508 declare void @__kmpc_end_reduce_nowait(ptr, i32, ptr)
510 declare void @__kmpc_ordered(ptr, i32)
512 declare void @__kmpc_end_ordered(ptr, i32)
514 declare void @__kmpc_for_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
516 declare void @__kmpc_for_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
518 declare void @__kmpc_for_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
520 declare void @__kmpc_for_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
522 declare void @__kmpc_for_static_fini(ptr, i32)
524 declare void @__kmpc_team_static_init_4(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
526 declare void @__kmpc_team_static_init_4u(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
528 declare void @__kmpc_team_static_init_8(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
530 declare void @__kmpc_team_static_init_8u(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
532 declare void @__kmpc_dist_for_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32)
534 declare void @__kmpc_dist_for_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32)
536 declare void @__kmpc_dist_for_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i64, i64)
538 declare void @__kmpc_dist_for_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, i64, i64)
540 declare i32 @__kmpc_single(ptr, i32)
542 declare void @__kmpc_end_single(ptr, i32)
544 declare ptr @__kmpc_omp_task_alloc(ptr, i32, i32, i64, i64, ptr)
546 declare i32 @__kmpc_omp_task(ptr, i32, ptr)
548 declare void @__kmpc_end_taskgroup(ptr, i32)
550 declare void @__kmpc_taskgroup(ptr, i32)
552 declare void @__kmpc_dist_dispatch_init_4(ptr, i32, i32, ptr, i32, i32, i32, i32)
554 declare void @__kmpc_dist_dispatch_init_4u(ptr, i32, i32, ptr, i32, i32, i32, i32)
556 declare void @__kmpc_dist_dispatch_init_8(ptr, i32, i32, ptr, i64, i64, i64, i64)
558 declare void @__kmpc_dist_dispatch_init_8u(ptr, i32, i32, ptr, i64, i64, i64, i64)
560 declare void @__kmpc_dispatch_init_4(ptr, i32, i32, i32, i32, i32, i32)
562 declare void @__kmpc_dispatch_init_4u(ptr, i32, i32, i32, i32, i32, i32)
564 declare void @__kmpc_dispatch_init_8(ptr, i32, i32, i64, i64, i64, i64)
566 declare void @__kmpc_dispatch_init_8u(ptr, i32, i32, i64, i64, i64, i64)
568 declare i32 @__kmpc_dispatch_next_4(ptr, i32, ptr, ptr, ptr, ptr)
570 declare i32 @__kmpc_dispatch_next_4u(ptr, i32, ptr, ptr, ptr, ptr)
572 declare i32 @__kmpc_dispatch_next_8(ptr, i32, ptr, ptr, ptr, ptr)
574 declare i32 @__kmpc_dispatch_next_8u(ptr, i32, ptr, ptr, ptr, ptr)
576 declare void @__kmpc_dispatch_fini_4(ptr, i32)
578 declare void @__kmpc_dispatch_fini_4u(ptr, i32)
580 declare void @__kmpc_dispatch_fini_8(ptr, i32)
582 declare void @__kmpc_dispatch_fini_8u(ptr, i32)
584 declare void @__kmpc_omp_task_begin_if0(ptr, i32, ptr)
586 declare void @__kmpc_omp_task_complete_if0(ptr, i32, ptr)
588 declare i32 @__kmpc_omp_task_with_deps(ptr, i32, ptr, i32, ptr, i32, ptr)
590 declare void @__kmpc_omp_wait_deps(ptr, i32, i32, ptr, i32, ptr)
592 declare void @__kmpc_omp_taskwait_deps_51(ptr, i32, i32, ptr, i32, ptr, i32)
594 declare i32 @__kmpc_cancellationpoint(ptr, i32, i32)
596 declare void @__kmpc_push_num_teams(ptr, i32, i32, i32)
598 declare void @__kmpc_fork_teams(ptr, i32, ptr, ...)
600 declare void @__kmpc_taskloop(ptr, i32, ptr, i32, ptr, ptr, i64, i32, i32, i64, ptr)
602 declare ptr @__kmpc_omp_target_task_alloc(ptr, i32, i32, i64, i64, ptr, i64)
604 declare ptr @__kmpc_taskred_modifier_init(ptr, i32, i32, i32, ptr)
606 declare ptr @__kmpc_taskred_init(i32, i32, ptr)
608 declare void @__kmpc_task_reduction_modifier_fini(ptr, i32, i32)
610 declare void @__kmpc_copyprivate(ptr, i32, i64, ptr, ptr, i32)
612 declare ptr @__kmpc_threadprivate_cached(ptr, i32, ptr, i64, ptr)
614 declare void @__kmpc_threadprivate_register(ptr, ptr, ptr, ptr, ptr)
616 declare void @__kmpc_doacross_init(ptr, i32, i32, ptr)
618 declare void @__kmpc_doacross_wait(ptr, i32, ptr)
620 declare void @__kmpc_doacross_post(ptr, i32, ptr)
622 declare void @__kmpc_doacross_fini(ptr, i32)
624 declare ptr @__kmpc_alloc(i32, i64, ptr)
626 declare void @__kmpc_free(i32, ptr, ptr)
628 declare ptr @__kmpc_init_allocator(i32, ptr, i32, ptr)
630 declare void @__kmpc_destroy_allocator(i32, ptr)
632 declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
634 declare i64 @__kmpc_warp_active_thread_mask()
636 declare void @__kmpc_syncwarp(i64)
638 declare i32 @__tgt_target_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr)
640 declare i32 @__tgt_target_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
642 declare i32 @__tgt_target_teams_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32)
644 declare i32 @__tgt_target_teams_nowait_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, ptr)
646 declare void @__tgt_target_data_begin_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
648 declare void @__tgt_target_data_begin_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
650 declare void @__tgt_target_data_end_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
652 declare void @__tgt_target_data_end_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
654 declare void @__tgt_target_data_update_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
656 declare void @__tgt_target_data_update_nowait_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, ptr)
658 declare i64 @__tgt_mapper_num_components(ptr)
660 declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
662 declare ptr @__kmpc_task_allow_completion_event(ptr, i32, ptr)
664 declare ptr @__kmpc_task_reduction_get_th_data(i32, ptr, ptr)
666 declare ptr @__kmpc_task_reduction_init(i32, i32, ptr)
668 declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32, i32, i32, ptr)
670 declare void @__kmpc_proxy_task_completed_ooo(ptr)
672 ; Function Attrs: noinline cold
673 declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32) #0
675 attributes #0 = { noinline cold }
677 declare ptr @__kmpc_aligned_alloc(i32, i64, i64, ptr);
679 declare ptr @__kmpc_alloc_shared(i64);
681 declare void @__kmpc_barrier_simple_generic(ptr, i32);
683 declare void @__kmpc_begin_sharing_variables(ptr, i64);
685 declare void @__kmpc_distribute_static_fini(ptr, i32);
687 declare void @__kmpc_distribute_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32);
689 declare void @__kmpc_distribute_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32);
691 declare void @__kmpc_distribute_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64);
693 declare void @__kmpc_distribute_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64);
695 declare void @__kmpc_end_masked(ptr, i32);
697 declare void @__kmpc_end_sharing_variables();
699 declare void @__kmpc_error(ptr, i32, ptr);
701 declare void @__kmpc_fork_call_if(ptr, i32, ptr, i32, ptr);
703 declare void @__kmpc_free_shared(ptr, i64);
705 declare i32 @__kmpc_get_hardware_num_blocks();
707 declare i32 @__kmpc_get_hardware_num_threads_in_block();
709 declare i32 @__kmpc_get_hardware_thread_id_in_block();
711 declare void @__kmpc_get_shared_variables(ptr);
713 declare i32 @__kmpc_get_warp_size();
715 declare i8 @__kmpc_is_spmd_exec_mode();
717 declare void @__kmpc_kernel_end_parallel();
719 declare i1 @__kmpc_kernel_parallel(ptr);
721 declare void @__kmpc_kernel_prepare_parallel(ptr);
723 declare i32 @__kmpc_masked(ptr, i32, i32);
725 declare i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr);
727 declare i32 @__kmpc_nvptx_teams_reduce_nowait_v2(ptr, ptr, i32, i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr);
729 declare i32 @__kmpc_omp_reg_task_with_affinity(ptr, i32, ptr, i32, ptr);
731 declare void @__kmpc_parallel_51(ptr, i32, i32, i32, i32, ptr, ptr, ptr, i64);
733 declare i32 @__kmpc_shuffle_int32(i32, i16, i16);
735 declare i64 @__kmpc_shuffle_int64(i64, i16, i16);
737 declare void @__kmpc_target_deinit();
739 declare i32 @__kmpc_target_init(ptr, ptr);
741 declare void @__tgt_interop_destroy(ptr, i32, ptr, i32, i32, ptr, i32);
743 declare void @__tgt_interop_init(ptr, i32, ptr, i32, i32, i32, ptr, i32);
745 declare void @__tgt_interop_use(ptr, i32, ptr, i32, i32, ptr, i32);
747 declare void @__tgt_target_data_begin_mapper_issue(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr);
749 declare void @__tgt_target_data_begin_mapper_wait(i64, ptr);
751 declare i32 @__tgt_target_kernel(ptr, i64, i32, i32, ptr, ptr);
753 declare i32 @__tgt_target_kernel_nowait(ptr, i64, i32, i32, ptr, ptr, i32, ptr, i32, ptr);
756 ; CHECK: ; Function Attrs: nounwind
757 ; CHECK-NEXT: declare dso_local void @omp_set_num_threads(i32)
759 ; CHECK: ; Function Attrs: nounwind
760 ; CHECK-NEXT: declare dso_local void @omp_set_dynamic(i32)
762 ; CHECK: ; Function Attrs: nounwind
763 ; CHECK-NEXT: declare dso_local void @omp_set_nested(i32)
765 ; CHECK: ; Function Attrs: nounwind
766 ; CHECK-NEXT: declare dso_local void @omp_set_max_active_levels(i32)
768 ; CHECK: ; Function Attrs: nounwind
769 ; CHECK-NEXT: declare dso_local void @omp_set_schedule(i32, i32)
771 ; CHECK: ; Function Attrs: nounwind
772 ; CHECK-NEXT: declare dso_local i32 @omp_get_num_threads()
774 ; CHECK-NOT: Function Attrs
775 ; CHECK: declare dso_local void @use_int(i32)
777 ; CHECK: ; Function Attrs: nounwind
778 ; CHECK-NEXT: declare dso_local i32 @omp_get_dynamic()
780 ; CHECK: ; Function Attrs: nounwind
781 ; CHECK-NEXT: declare dso_local i32 @omp_get_nested()
783 ; CHECK: ; Function Attrs: nounwind
784 ; CHECK-NEXT: declare dso_local i32 @omp_get_max_threads()
786 ; CHECK: ; Function Attrs: nounwind
787 ; CHECK-NEXT: declare dso_local i32 @omp_get_thread_num()
789 ; CHECK: ; Function Attrs: nounwind
790 ; CHECK-NEXT: declare dso_local i32 @omp_get_num_procs()
792 ; CHECK: ; Function Attrs: nounwind
793 ; CHECK-NEXT: declare dso_local i32 @omp_in_parallel()
795 ; CHECK: ; Function Attrs: nounwind
796 ; CHECK-NEXT: declare dso_local i32 @omp_in_final()
798 ; CHECK: ; Function Attrs: nounwind
799 ; CHECK-NEXT: declare dso_local i32 @omp_get_active_level()
801 ; CHECK: ; Function Attrs: nounwind
802 ; CHECK-NEXT: declare dso_local i32 @omp_get_level()
804 ; CHECK: ; Function Attrs: nounwind
805 ; CHECK-NEXT: declare dso_local i32 @omp_get_ancestor_thread_num(i32)
807 ; CHECK: ; Function Attrs: nounwind
808 ; CHECK-NEXT: declare dso_local i32 @omp_get_team_size(i32)
810 ; CHECK: ; Function Attrs: nounwind
811 ; CHECK-NEXT: declare dso_local i32 @omp_get_thread_limit()
813 ; CHECK: ; Function Attrs: nounwind
814 ; CHECK-NEXT: declare dso_local i32 @omp_get_max_active_levels()
816 ; CHECK: ; Function Attrs: nounwind
817 ; CHECK-NEXT: declare dso_local void @omp_get_schedule(ptr writeonly captures(none), ptr writeonly captures(none))
819 ; CHECK-NOT: Function Attrs
820 ; CHECK: declare dso_local i32 @omp_get_max_task_priority()
822 ; CHECK-NOT: Function Attrs
823 ; CHECK: declare dso_local void @omp_init_lock(ptr)
825 ; CHECK-NOT: Function Attrs
826 ; CHECK: declare dso_local void @omp_set_lock(ptr)
828 ; CHECK-NOT: Function Attrs
829 ; CHECK: declare dso_local void @omp_unset_lock(ptr)
831 ; CHECK-NOT: Function Attrs
832 ; CHECK: declare dso_local void @omp_destroy_lock(ptr)
834 ; CHECK-NOT: Function Attrs
835 ; CHECK: declare dso_local i32 @omp_test_lock(ptr)
837 ; CHECK-NOT: Function Attrs
838 ; CHECK: declare dso_local void @omp_init_nest_lock(ptr)
840 ; CHECK-NOT: Function Attrs
841 ; CHECK: declare dso_local void @omp_set_nest_lock(ptr)
843 ; CHECK-NOT: Function Attrs
844 ; CHECK: declare dso_local void @omp_unset_nest_lock(ptr)
846 ; CHECK-NOT: Function Attrs
847 ; CHECK: declare dso_local void @omp_destroy_nest_lock(ptr)
849 ; CHECK-NOT: Function Attrs
850 ; CHECK: declare dso_local i32 @omp_test_nest_lock(ptr)
852 ; CHECK-NOT: Function Attrs
853 ; CHECK: declare dso_local void @omp_init_lock_with_hint(ptr, i32)
855 ; CHECK-NOT: Function Attrs
856 ; CHECK: declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
858 ; CHECK: ; Function Attrs: nounwind
859 ; CHECK-NEXT: declare dso_local double @omp_get_wtime()
861 ; CHECK-NOT: Function Attrs
862 ; CHECK: declare dso_local void @use_double(double)
864 ; CHECK-NOT: Function Attrs
865 ; CHECK: declare dso_local double @omp_get_wtick()
867 ; CHECK-NOT: Function Attrs
868 ; CHECK: declare dso_local i32 @omp_get_default_device()
870 ; CHECK-NOT: Function Attrs
871 ; CHECK: declare dso_local void @omp_set_default_device(i32)
873 ; CHECK-NOT: Function Attrs
874 ; CHECK: declare dso_local i32 @omp_is_initial_device()
876 ; CHECK-NOT: Function Attrs
877 ; CHECK: declare dso_local i32 @omp_get_num_devices()
879 ; CHECK-NOT: Function Attrs
880 ; CHECK: declare dso_local i32 @omp_get_num_teams()
882 ; CHECK-NOT: Function Attrs
883 ; CHECK: declare dso_local i32 @omp_get_team_num()
885 ; CHECK: ; Function Attrs: nounwind
886 ; CHECK-NEXT: declare dso_local i32 @omp_get_cancellation()
888 ; CHECK-NOT: Function Attrs
889 ; CHECK: declare dso_local i32 @omp_get_initial_device()
891 ; CHECK-NOT: Function Attrs
892 ; CHECK: declare dso_local ptr @omp_target_alloc(i64, i32)
894 ; CHECK-NOT: Function Attrs
895 ; CHECK: declare dso_local void @use_voidptr(ptr)
897 ; CHECK-NOT: Function Attrs
898 ; CHECK: declare dso_local void @omp_target_free(ptr, i32)
900 ; CHECK-NOT: Function Attrs
901 ; CHECK: declare dso_local i32 @omp_target_is_present(ptr, i32)
903 ; CHECK-NOT: Function Attrs
904 ; CHECK: declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
906 ; CHECK-NOT: Function Attrs
907 ; CHECK: declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
909 ; CHECK-NOT: Function Attrs
910 ; CHECK: declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
912 ; CHECK-NOT: Function Attrs
913 ; CHECK: declare dso_local i32 @omp_get_device_num()
915 ; CHECK: ; Function Attrs: nounwind
916 ; CHECK-NEXT: declare dso_local i32 @omp_get_proc_bind()
918 ; CHECK: ; Function Attrs: nounwind
919 ; CHECK-NEXT: declare dso_local i32 @omp_get_num_places()
921 ; CHECK-NOT: Function Attrs
922 ; CHECK: declare dso_local i32 @omp_get_place_num_procs(i32)
924 ; CHECK: ; Function Attrs: nounwind
925 ; CHECK-NEXT: declare dso_local void @omp_get_place_proc_ids(i32, ptr writeonly captures(none))
927 ; CHECK: ; Function Attrs: nounwind
928 ; CHECK-NEXT: declare dso_local i32 @omp_get_place_num()
930 ; CHECK: ; Function Attrs: nounwind
931 ; CHECK-NEXT: declare dso_local i32 @omp_get_partition_num_places()
933 ; CHECK: ; Function Attrs: nounwind
934 ; CHECK-NEXT: declare dso_local void @omp_get_partition_place_nums(ptr)
936 ; CHECK-NOT: Function Attrs
937 ; CHECK: declare dso_local i32 @omp_control_tool(i32, i32, ptr)
939 ; CHECK-NOT: Function Attrs
940 ; CHECK: declare dso_local void @omp_destroy_allocator(i64)
942 ; CHECK-NOT: Function Attrs
943 ; CHECK: declare dso_local void @omp_set_default_allocator(i64)
945 ; CHECK-NOT: Function Attrs
946 ; CHECK: declare dso_local i64 @omp_get_default_allocator()
948 ; CHECK-NOT: Function Attrs
949 ; CHECK: declare dso_local ptr @omp_alloc(i64, i64)
951 ; CHECK-NOT: Function Attrs
952 ; CHECK: declare dso_local void @omp_free(ptr, i64)
954 ; CHECK-NOT: Function Attrs
955 ; CHECK: declare dso_local void @ompc_set_affinity_format(ptr)
957 ; CHECK-NOT: Function Attrs
958 ; CHECK: declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
960 ; CHECK-NOT: Function Attrs
961 ; CHECK: declare dso_local void @use_sizet(i64)
963 ; CHECK-NOT: Function Attrs
964 ; CHECK: declare dso_local void @ompc_display_affinity(ptr)
966 ; CHECK-NOT: Function Attrs
967 ; CHECK: declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
969 ; CHECK-NOT: Function Attrs
970 ; CHECK: declare dso_local void @omp_fulfill_event(i64)
972 ; CHECK-NOT: Function Attrs
973 ; CHECK: declare dso_local i32 @omp_pause_resource(i32, i32)
975 ; CHECK-NOT: Function Attrs
976 ; CHECK: declare dso_local i32 @omp_pause_resource_all(i32)
978 ; CHECK: ; Function Attrs: nounwind
979 ; CHECK-NEXT: declare dso_local i32 @omp_get_supported_active_levels()
981 ; CHECK: ; Function Attrs: convergent nounwind
982 ; CHECK-NEXT: declare void @__kmpc_barrier(ptr, i32)
984 ; CHECK: ; Function Attrs: nounwind
985 ; CHECK-NEXT: declare i32 @__kmpc_cancel(ptr, i32, i32)
987 ; CHECK: ; Function Attrs: convergent nounwind
988 ; CHECK-NEXT: declare i32 @__kmpc_cancel_barrier(ptr, i32)
990 ; CHECK: ; Function Attrs: convergent nounwind
991 ; CHECK-NEXT: declare void @__kmpc_flush(ptr)
993 ; CHECK: ; Function Attrs: nounwind
994 ; CHECK-NEXT: declare i32 @__kmpc_global_thread_num(ptr)
996 ; CHECK: ; Function Attrs: nounwind
997 ; CHECK-NEXT: declare void @__kmpc_fork_call(ptr, i32, ptr, ...)
999 ; CHECK: ; Function Attrs: convergent nounwind
1000 ; CHECK-NEXT: declare i32 @__kmpc_omp_taskwait(ptr, i32)
1002 ; CHECK: ; Function Attrs: nounwind
1003 ; CHECK-NEXT: declare i32 @__kmpc_omp_taskyield(ptr, i32, i32)
1005 ; CHECK: ; Function Attrs: nounwind
1006 ; CHECK-NEXT: declare void @__kmpc_push_num_threads(ptr, i32, i32)
1008 ; CHECK: ; Function Attrs: nounwind
1009 ; CHECK-NEXT: declare void @__kmpc_push_proc_bind(ptr, i32, i32)
1011 ; CHECK: ; Function Attrs: nounwind
1012 ; CHECK-NEXT: declare void @__kmpc_serialized_parallel(ptr, i32)
1014 ; CHECK: ; Function Attrs: nounwind
1015 ; CHECK-NEXT: declare void @__kmpc_end_serialized_parallel(ptr, i32)
1017 ; CHECK: ; Function Attrs: nounwind
1018 ; CHECK-NEXT: declare i32 @__kmpc_master(ptr, i32)
1020 ; CHECK: ; Function Attrs: nounwind
1021 ; CHECK-NEXT: declare void @__kmpc_end_master(ptr, i32)
1023 ; CHECK: ; Function Attrs: convergent nounwind
1024 ; CHECK-NEXT: declare void @__kmpc_critical(ptr, i32, ptr)
1026 ; CHECK: ; Function Attrs: convergent nounwind
1027 ; CHECK-NEXT: declare void @__kmpc_critical_with_hint(ptr, i32, ptr, i32)
1029 ; CHECK: ; Function Attrs: convergent nounwind
1030 ; CHECK-NEXT: declare void @__kmpc_end_critical(ptr, i32, ptr)
1032 ; CHECK: ; Function Attrs: nounwind
1033 ; CHECK-NEXT: declare void @__kmpc_begin(ptr, i32)
1035 ; CHECK: ; Function Attrs: nounwind
1036 ; CHECK-NEXT: declare void @__kmpc_end(ptr)
1038 ; CHECK: ; Function Attrs: convergent nounwind
1039 ; CHECK-NEXT: declare i32 @__kmpc_reduce(ptr, i32, i32, i64, ptr, ptr, ptr)
1041 ; CHECK: ; Function Attrs: convergent nounwind
1042 ; CHECK-NEXT: declare i32 @__kmpc_reduce_nowait(ptr, i32, i32, i64, ptr, ptr, ptr)
1044 ; CHECK: ; Function Attrs: convergent nounwind
1045 ; CHECK-NEXT: declare void @__kmpc_end_reduce(ptr, i32, ptr)
1047 ; CHECK: ; Function Attrs: convergent nounwind
1048 ; CHECK-NEXT: declare void @__kmpc_end_reduce_nowait(ptr, i32, ptr)
1050 ; CHECK: ; Function Attrs: convergent nounwind
1051 ; CHECK-NEXT: declare void @__kmpc_ordered(ptr, i32)
1053 ; CHECK: ; Function Attrs: convergent nounwind
1054 ; CHECK-NEXT: declare void @__kmpc_end_ordered(ptr, i32)
1056 ; CHECK: ; Function Attrs: nounwind
1057 ; CHECK-NEXT: declare void @__kmpc_for_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1059 ; CHECK: ; Function Attrs: nounwind
1060 ; CHECK-NEXT: declare void @__kmpc_for_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1062 ; CHECK: ; Function Attrs: nounwind
1063 ; CHECK-NEXT: declare void @__kmpc_for_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1065 ; CHECK: ; Function Attrs: nounwind
1066 ; CHECK-NEXT: declare void @__kmpc_for_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1068 ; CHECK: ; Function Attrs: nounwind
1069 ; CHECK-NEXT: declare void @__kmpc_for_static_fini(ptr, i32)
1071 ; CHECK: ; Function Attrs: nounwind
1072 ; CHECK-NEXT: declare void @__kmpc_team_static_init_4(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
1074 ; CHECK: ; Function Attrs: nounwind
1075 ; CHECK-NEXT: declare void @__kmpc_team_static_init_4u(ptr, i32, ptr, ptr, ptr, ptr, i32, i32)
1077 ; CHECK: ; Function Attrs: nounwind
1078 ; CHECK-NEXT: declare void @__kmpc_team_static_init_8(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
1080 ; CHECK: ; Function Attrs: nounwind
1081 ; CHECK-NEXT: declare void @__kmpc_team_static_init_8u(ptr, i32, ptr, ptr, ptr, ptr, i64, i64)
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)
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)
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)
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)
1095 ; CHECK: ; Function Attrs: convergent nounwind
1096 ; CHECK-NEXT: declare i32 @__kmpc_single(ptr, i32)
1098 ; CHECK: ; Function Attrs: convergent nounwind
1099 ; CHECK-NEXT: declare void @__kmpc_end_single(ptr, i32)
1101 ; CHECK: ; Function Attrs: nounwind
1102 ; CHECK-NEXT: declare noalias ptr @__kmpc_omp_task_alloc(ptr, i32, i32, i64, i64, ptr)
1104 ; CHECK: ; Function Attrs: nounwind
1105 ; CHECK-NEXT: declare i32 @__kmpc_omp_task(ptr, i32, ptr)
1107 ; CHECK: ; Function Attrs: convergent nounwind
1108 ; CHECK-NEXT: declare void @__kmpc_end_taskgroup(ptr, i32)
1110 ; CHECK: ; Function Attrs: convergent nounwind
1111 ; CHECK-NEXT: declare void @__kmpc_taskgroup(ptr, i32)
1113 ; CHECK: ; Function Attrs: nounwind
1114 ; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_4(ptr, i32, i32, ptr, i32, i32, i32, i32)
1116 ; CHECK: ; Function Attrs: nounwind
1117 ; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_4u(ptr, i32, i32, ptr, i32, i32, i32, i32)
1119 ; CHECK: ; Function Attrs: nounwind
1120 ; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_8(ptr, i32, i32, ptr, i64, i64, i64, i64)
1122 ; CHECK: ; Function Attrs: nounwind
1123 ; CHECK-NEXT: declare void @__kmpc_dist_dispatch_init_8u(ptr, i32, i32, ptr, i64, i64, i64, i64)
1125 ; CHECK: ; Function Attrs: nounwind
1126 ; CHECK-NEXT: declare void @__kmpc_dispatch_init_4(ptr, i32, i32, i32, i32, i32, i32)
1128 ; CHECK: ; Function Attrs: nounwind
1129 ; CHECK-NEXT: declare void @__kmpc_dispatch_init_4u(ptr, i32, i32, i32, i32, i32, i32)
1131 ; CHECK: ; Function Attrs: nounwind
1132 ; CHECK-NEXT: declare void @__kmpc_dispatch_init_8(ptr, i32, i32, i64, i64, i64, i64)
1134 ; CHECK: ; Function Attrs: nounwind
1135 ; CHECK-NEXT: declare void @__kmpc_dispatch_init_8u(ptr, i32, i32, i64, i64, i64, i64)
1137 ; CHECK: ; Function Attrs: nounwind
1138 ; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_4(ptr, i32, ptr, ptr, ptr, ptr)
1140 ; CHECK: ; Function Attrs: nounwind
1141 ; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_4u(ptr, i32, ptr, ptr, ptr, ptr)
1143 ; CHECK: ; Function Attrs: nounwind
1144 ; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_8(ptr, i32, ptr, ptr, ptr, ptr)
1146 ; CHECK: ; Function Attrs: nounwind
1147 ; CHECK-NEXT: declare i32 @__kmpc_dispatch_next_8u(ptr, i32, ptr, ptr, ptr, ptr)
1149 ; CHECK: ; Function Attrs: nounwind
1150 ; CHECK-NEXT: declare void @__kmpc_dispatch_fini_4(ptr, i32)
1152 ; CHECK: ; Function Attrs: nounwind
1153 ; CHECK-NEXT: declare void @__kmpc_dispatch_fini_4u(ptr, i32)
1155 ; CHECK: ; Function Attrs: nounwind
1156 ; CHECK-NEXT: declare void @__kmpc_dispatch_fini_8(ptr, i32)
1158 ; CHECK: ; Function Attrs: nounwind
1159 ; CHECK-NEXT: declare void @__kmpc_dispatch_fini_8u(ptr, i32)
1161 ; CHECK: ; Function Attrs: nounwind
1162 ; CHECK-NEXT: declare void @__kmpc_omp_task_begin_if0(ptr, i32, ptr)
1164 ; CHECK: ; Function Attrs: nounwind
1165 ; CHECK-NEXT: declare void @__kmpc_omp_task_complete_if0(ptr, i32, ptr)
1167 ; CHECK: ; Function Attrs: nounwind
1168 ; CHECK-NEXT: declare i32 @__kmpc_omp_task_with_deps(ptr, i32, ptr, i32, ptr, i32, ptr)
1170 ; CHECK: ; Function Attrs: convergent nounwind
1171 ; CHECK-NEXT: declare void @__kmpc_omp_wait_deps(ptr, i32, i32, ptr, i32, ptr)
1173 ; CHECK: ; Function Attrs: nounwind
1174 ; CHECK-NEXT: declare i32 @__kmpc_cancellationpoint(ptr, i32, i32)
1176 ; CHECK: ; Function Attrs: nounwind
1177 ; CHECK-NEXT: declare void @__kmpc_push_num_teams(ptr, i32, i32, i32)
1179 ; CHECK: ; Function Attrs: nounwind
1180 ; CHECK-NEXT: declare void @__kmpc_fork_teams(ptr, i32, ptr, ...)
1182 ; CHECK: ; Function Attrs: nounwind
1183 ; CHECK-NEXT: declare void @__kmpc_taskloop(ptr, i32, ptr, i32, ptr, ptr, i64, i32, i32, i64, ptr)
1185 ; CHECK: ; Function Attrs: nounwind
1186 ; CHECK-NEXT: declare noalias ptr @__kmpc_omp_target_task_alloc(ptr, i32, i32, i64, i64, ptr, i64)
1188 ; CHECK: ; Function Attrs: nounwind
1189 ; CHECK-NEXT: declare ptr @__kmpc_taskred_modifier_init(ptr, i32, i32, i32, ptr)
1191 ; CHECK: ; Function Attrs: nounwind
1192 ; CHECK-NEXT: declare ptr @__kmpc_taskred_init(i32, i32, ptr)
1194 ; CHECK: ; Function Attrs: convergent nounwind
1195 ; CHECK-NEXT: declare void @__kmpc_task_reduction_modifier_fini(ptr, i32, i32)
1197 ; CHECK: ; Function Attrs: nounwind
1198 ; CHECK-NEXT: declare void @__kmpc_copyprivate(ptr, i32, i64, ptr, ptr, i32)
1200 ; CHECK: ; Function Attrs: nounwind
1201 ; CHECK-NEXT: declare ptr @__kmpc_threadprivate_cached(ptr, i32, ptr, i64, ptr)
1203 ; CHECK: ; Function Attrs: nounwind
1204 ; CHECK-NEXT: declare void @__kmpc_threadprivate_register(ptr, ptr, ptr, ptr, ptr)
1206 ; CHECK: ; Function Attrs: convergent nounwind
1207 ; CHECK-NEXT: declare void @__kmpc_doacross_init(ptr, i32, i32, ptr)
1209 ; CHECK: ; Function Attrs: convergent nounwind
1210 ; CHECK-NEXT: declare void @__kmpc_doacross_wait(ptr, i32, ptr)
1212 ; CHECK: ; Function Attrs: convergent nounwind
1213 ; CHECK-NEXT: declare void @__kmpc_doacross_post(ptr, i32, ptr)
1215 ; CHECK: ; Function Attrs: convergent nounwind
1216 ; CHECK-NEXT: declare void @__kmpc_doacross_fini(ptr, i32)
1218 ; CHECK: ; Function Attrs: nounwind
1219 ; CHECK-NEXT: declare noalias ptr @__kmpc_alloc(i32, i64, ptr)
1221 ; CHECK: ; Function Attrs: nounwind
1222 ; CHECK-NEXT: declare void @__kmpc_free(i32, ptr, ptr)
1224 ; CHECK: ; Function Attrs: nounwind
1225 ; CHECK-NEXT: declare ptr @__kmpc_init_allocator(i32, ptr, i32, ptr)
1227 ; CHECK: ; Function Attrs: nounwind
1228 ; CHECK-NEXT: declare void @__kmpc_destroy_allocator(i32, ptr)
1230 ; CHECK: ; Function Attrs: nounwind
1231 ; CHECK-NEXT: declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
1233 ; CHECK: ; Function Attrs: convergent nounwind
1234 ; CHECK-NEXT: declare i64 @__kmpc_warp_active_thread_mask()
1236 ; CHECK: ; Function Attrs: convergent nounwind
1237 ; CHECK-NEXT: declare void @__kmpc_syncwarp(i64)
1239 ; CHECK: ; Function Attrs: nounwind
1240 ; CHECK-NEXT: declare i32 @__tgt_target_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
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)
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)
1251 ; CHECK: ; Function Attrs: nounwind
1252 ; CHECK-NEXT: declare void @__tgt_target_data_begin_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
1257 ; CHECK: ; Function Attrs: nounwind
1258 ; CHECK-NEXT: declare void @__tgt_target_data_end_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
1263 ; CHECK: ; Function Attrs: nounwind
1264 ; CHECK-NEXT: declare void @__tgt_target_data_update_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
1269 ; CHECK: ; Function Attrs: nounwind
1270 ; CHECK-NEXT: declare i64 @__tgt_mapper_num_components(ptr)
1272 ; CHECK: ; Function Attrs: nounwind
1273 ; CHECK-NEXT: declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
1275 ; CHECK: ; Function Attrs: nounwind
1276 ; CHECK-NEXT: declare ptr @__kmpc_task_allow_completion_event(ptr, i32, ptr)
1278 ; CHECK: ; Function Attrs: nounwind
1279 ; CHECK-NEXT: declare ptr @__kmpc_task_reduction_get_th_data(i32, ptr, ptr)
1281 ; CHECK: ; Function Attrs: nounwind
1282 ; CHECK-NEXT: declare ptr @__kmpc_task_reduction_init(i32, i32, ptr)
1284 ; CHECK: ; Function Attrs: nounwind
1285 ; CHECK-NEXT: declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32, i32, i32, ptr)
1287 ; CHECK: ; Function Attrs: nounwind
1288 ; CHECK-NEXT: declare void @__kmpc_proxy_task_completed_ooo(ptr)
1290 ; CHECK: ; Function Attrs: cold convergent noinline nounwind
1291 ; CHECK-NEXT: declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32)
1293 ; CHECK: ; Function Attrs: nounwind
1294 ; CHECK-NEXT: declare noalias ptr @__kmpc_aligned_alloc(i32, i64, i64, ptr)
1296 ; CHECK: ; Function Attrs: nosync nounwind allocsize(0)
1297 ; CHECK-NEXT: declare noalias ptr @__kmpc_alloc_shared(i64)
1299 ; CHECK: ; Function Attrs: convergent nounwind
1300 ; CHECK: declare void @__kmpc_barrier_simple_generic(ptr, i32)
1302 ; CHECK-NOT: Function Attrs
1303 ; CHECK: declare void @__kmpc_begin_sharing_variables(ptr, i64)
1305 ; CHECK: ; Function Attrs: nounwind
1306 ; CHECK: declare void @__kmpc_distribute_static_fini(ptr, i32)
1308 ; CHECK: ; Function Attrs: nounwind
1309 ; CHECK: declare void @__kmpc_distribute_static_init_4(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1311 ; CHECK: ; Function Attrs: nounwind
1312 ; CHECK: declare void @__kmpc_distribute_static_init_4u(ptr, i32, i32, ptr, ptr, ptr, ptr, i32, i32)
1314 ; CHECK: ; Function Attrs: nounwind
1315 ; CHECK: declare void @__kmpc_distribute_static_init_8(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1317 ; CHECK: ; Function Attrs: nounwind
1318 ; CHECK: declare void @__kmpc_distribute_static_init_8u(ptr, i32, i32, ptr, ptr, ptr, ptr, i64, i64)
1320 ; CHECK: ; Function Attrs: nounwind
1321 ; CHECK: declare void @__kmpc_end_masked(ptr, i32)
1323 ; CHECK-NOT: Function Attrs
1324 ; CHECK: declare void @__kmpc_end_sharing_variables()
1326 ; CHECK-NOT: Function Attrs
1327 ; CHECK: declare void @__kmpc_error(ptr, i32, ptr)
1329 ; CHECK-NOT: Function Attrs
1330 ; CHECK: declare void @__kmpc_fork_call_if(ptr, i32, ptr, i32, ptr)
1332 ; CHECK: ; Function Attrs: nosync nounwind
1333 ; CHECK-NEXT: declare void @__kmpc_free_shared(ptr allocptr captures(none), i64)
1335 ; CHECK: ; Function Attrs: nounwind
1336 ; CHECK-NEXT: declare i32 @__kmpc_get_hardware_num_blocks()
1338 ; CHECK: ; Function Attrs: nounwind
1339 ; CHECK-NEXT: declare i32 @__kmpc_get_hardware_num_threads_in_block()
1341 ; CHECK: ; Function Attrs: nounwind
1342 ; CHECK-NEXT: declare i32 @__kmpc_get_hardware_thread_id_in_block()
1344 ; CHECK-NOT: Function Attrs
1345 ; CHECK: declare void @__kmpc_get_shared_variables(ptr)
1347 ; CHECK: ; Function Attrs: nounwind
1348 ; CHECK-NEXT: declare i32 @__kmpc_get_warp_size()
1350 ; CHECK-NOT: Function Attrs
1351 ; CHECK: declare i8 @__kmpc_is_spmd_exec_mode()
1353 ; CHECK-NOT: Function Attrs
1354 ; CHECK: declare void @__kmpc_kernel_end_parallel()
1356 ; CHECK-NOT: Function Attrs
1357 ; CHECK: declare i1 @__kmpc_kernel_parallel(ptr)
1359 ; CHECK-NOT: Function Attrs
1360 ; CHECK: declare void @__kmpc_kernel_prepare_parallel(ptr)
1362 ; CHECK: ; Function Attrs: nounwind
1363 ; CHECK: declare i32 @__kmpc_masked(ptr, i32, i32)
1365 ; CHECK-NOT: Function Attrs
1366 ; CHECK: declare i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr)
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)
1371 ; CHECK: ; Function Attrs: nounwind
1372 ; CHECK: declare i32 @__kmpc_omp_reg_task_with_affinity(ptr, i32, ptr, i32, ptr)
1374 ; CHECK: ; Function Attrs: alwaysinline
1375 ; CHECK: declare void @__kmpc_parallel_51(ptr, i32, i32, i32, i32, ptr, ptr, ptr, i64)
1377 ; CHECK-NOT: Function Attrs
1378 ; CHECK: declare i32 @__kmpc_shuffle_int32(i32, i16, i16)
1380 ; CHECK-NOT: Function Attrs
1381 ; CHECK: declare i64 @__kmpc_shuffle_int64(i64, i16, i16)
1383 ; CHECK-NOT: Function Attrs
1384 ; CHECK: declare void @__kmpc_target_deinit()
1386 ; CHECK-NOT: Function Attrs
1387 ; CHECK: declare i32 @__kmpc_target_init(ptr, ptr)
1389 ; CHECK-NOT: Function Attrs
1390 ; CHECK: declare void @__tgt_interop_destroy(ptr, i32, ptr, i32, i32, ptr, i32)
1392 ; CHECK-NOT: Function Attrs
1393 ; CHECK: declare void @__tgt_interop_init(ptr, i32, ptr, i32, i32, i32, ptr, i32)
1395 ; CHECK-NOT: Function Attrs
1396 ; CHECK: declare void @__tgt_interop_use(ptr, i32, ptr, i32, i32, ptr, i32)
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)
1401 ; CHECK-NOT: Function Attrs
1402 ; CHECK: declare void @__tgt_target_data_begin_mapper_wait(i64, ptr)
1404 ; CHECK: ; Function Attrs: nounwind
1405 ; CHECK: declare i32 @__tgt_target_kernel(ptr, i64, i32, i32, ptr, ptr)
1407 ; CHECK: ; Function Attrs: nounwind
1408 ; CHECK: declare i32 @__tgt_target_kernel_nowait(ptr, i64, i32, i32, ptr, ptr, i32, ptr, i32, ptr)
1410 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1411 ; OPTIMISTIC-NEXT: declare dso_local void @omp_set_num_threads(i32)
1413 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1414 ; OPTIMISTIC-NEXT: declare dso_local void @omp_set_dynamic(i32)
1416 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1417 ; OPTIMISTIC-NEXT: declare dso_local void @omp_set_nested(i32)
1419 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1420 ; OPTIMISTIC-NEXT: declare dso_local void @omp_set_max_active_levels(i32)
1422 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1423 ; OPTIMISTIC-NEXT: declare dso_local void @omp_set_schedule(i32, i32)
1425 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1426 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_num_threads()
1428 ; OPTIMISTIC-NOT: Function Attrs
1429 ; OPTIMISTIC: declare dso_local void @use_int(i32)
1431 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1432 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_dynamic()
1434 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1435 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_nested()
1437 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1438 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_max_threads()
1440 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1441 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_thread_num()
1443 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1444 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_num_procs()
1446 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1447 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_in_parallel()
1449 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1450 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_in_final()
1452 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1453 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_active_level()
1455 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1456 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_level()
1458 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1459 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_ancestor_thread_num(i32)
1461 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1462 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_team_size(i32)
1464 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1465 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_thread_limit()
1467 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1468 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_max_active_levels()
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))
1473 ; OPTIMISTIC-NOT: Function Attrs
1474 ; OPTIMISTIC: declare dso_local i32 @omp_get_max_task_priority()
1476 ; OPTIMISTIC-NOT: Function Attrs
1477 ; OPTIMISTIC: declare dso_local void @omp_init_lock(ptr)
1479 ; OPTIMISTIC-NOT: Function Attrs
1480 ; OPTIMISTIC: declare dso_local void @omp_set_lock(ptr)
1482 ; OPTIMISTIC-NOT: Function Attrs
1483 ; OPTIMISTIC: declare dso_local void @omp_unset_lock(ptr)
1485 ; OPTIMISTIC-NOT: Function Attrs
1486 ; OPTIMISTIC: declare dso_local void @omp_destroy_lock(ptr)
1488 ; OPTIMISTIC-NOT: Function Attrs
1489 ; OPTIMISTIC: declare dso_local i32 @omp_test_lock(ptr)
1491 ; OPTIMISTIC-NOT: Function Attrs
1492 ; OPTIMISTIC: declare dso_local void @omp_init_nest_lock(ptr)
1494 ; OPTIMISTIC-NOT: Function Attrs
1495 ; OPTIMISTIC: declare dso_local void @omp_set_nest_lock(ptr)
1497 ; OPTIMISTIC-NOT: Function Attrs
1498 ; OPTIMISTIC: declare dso_local void @omp_unset_nest_lock(ptr)
1500 ; OPTIMISTIC-NOT: Function Attrs
1501 ; OPTIMISTIC: declare dso_local void @omp_destroy_nest_lock(ptr)
1503 ; OPTIMISTIC-NOT: Function Attrs
1504 ; OPTIMISTIC: declare dso_local i32 @omp_test_nest_lock(ptr)
1506 ; OPTIMISTIC-NOT: Function Attrs
1507 ; OPTIMISTIC: declare dso_local void @omp_init_lock_with_hint(ptr, i32)
1509 ; OPTIMISTIC-NOT: Function Attrs
1510 ; OPTIMISTIC: declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
1512 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1513 ; OPTIMISTIC-NEXT: declare dso_local double @omp_get_wtime()
1515 ; OPTIMISTIC-NOT: Function Attrs
1516 ; OPTIMISTIC: declare dso_local void @use_double(double)
1518 ; OPTIMISTIC-NOT: Function Attrs
1519 ; OPTIMISTIC: declare dso_local double @omp_get_wtick()
1521 ; OPTIMISTIC-NOT: Function Attrs
1522 ; OPTIMISTIC: declare dso_local i32 @omp_get_default_device()
1524 ; OPTIMISTIC-NOT: Function Attrs
1525 ; OPTIMISTIC: declare dso_local void @omp_set_default_device(i32)
1527 ; OPTIMISTIC-NOT: Function Attrs
1528 ; OPTIMISTIC: declare dso_local i32 @omp_is_initial_device()
1530 ; OPTIMISTIC-NOT: Function Attrs
1531 ; OPTIMISTIC: declare dso_local i32 @omp_get_num_devices()
1533 ; OPTIMISTIC-NOT: Function Attrs
1534 ; OPTIMISTIC: declare dso_local i32 @omp_get_num_teams()
1536 ; OPTIMISTIC-NOT: Function Attrs
1537 ; OPTIMISTIC: declare dso_local i32 @omp_get_team_num()
1539 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1540 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_cancellation()
1542 ; OPTIMISTIC-NOT: Function Attrs
1543 ; OPTIMISTIC: declare dso_local i32 @omp_get_initial_device()
1545 ; OPTIMISTIC-NOT: Function Attrs
1546 ; OPTIMISTIC: declare dso_local ptr @omp_target_alloc(i64, i32)
1548 ; OPTIMISTIC-NOT: Function Attrs
1549 ; OPTIMISTIC: declare dso_local void @use_voidptr(ptr)
1551 ; OPTIMISTIC-NOT: Function Attrs
1552 ; OPTIMISTIC: declare dso_local void @omp_target_free(ptr, i32)
1554 ; OPTIMISTIC-NOT: Function Attrs
1555 ; OPTIMISTIC: declare dso_local i32 @omp_target_is_present(ptr, i32)
1557 ; OPTIMISTIC-NOT: Function Attrs
1558 ; OPTIMISTIC: declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
1560 ; OPTIMISTIC-NOT: Function Attrs
1561 ; OPTIMISTIC: declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
1563 ; OPTIMISTIC-NOT: Function Attrs
1564 ; OPTIMISTIC: declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
1566 ; OPTIMISTIC-NOT: Function Attrs
1567 ; OPTIMISTIC: declare dso_local i32 @omp_get_device_num()
1569 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1570 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_proc_bind()
1572 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1573 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_num_places()
1575 ; OPTIMISTIC-NOT: Function Attrs
1576 ; OPTIMISTIC: declare dso_local i32 @omp_get_place_num_procs(i32)
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))
1581 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1582 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_place_num()
1584 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1585 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_partition_num_places()
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)
1590 ; OPTIMISTIC-NOT: Function Attrs
1591 ; OPTIMISTIC: declare dso_local i32 @omp_control_tool(i32, i32, ptr)
1593 ; OPTIMISTIC-NOT: Function Attrs
1594 ; OPTIMISTIC: declare dso_local void @omp_destroy_allocator(i64)
1596 ; OPTIMISTIC-NOT: Function Attrs
1597 ; OPTIMISTIC: declare dso_local void @omp_set_default_allocator(i64)
1599 ; OPTIMISTIC-NOT: Function Attrs
1600 ; OPTIMISTIC: declare dso_local i64 @omp_get_default_allocator()
1602 ; OPTIMISTIC-NOT: Function Attrs
1603 ; OPTIMISTIC: declare dso_local ptr @omp_alloc(i64, i64)
1605 ; OPTIMISTIC-NOT: Function Attrs
1606 ; OPTIMISTIC: declare dso_local void @omp_free(ptr, i64)
1608 ; OPTIMISTIC-NOT: Function Attrs
1609 ; OPTIMISTIC: declare dso_local void @ompc_set_affinity_format(ptr)
1611 ; OPTIMISTIC-NOT: Function Attrs
1612 ; OPTIMISTIC: declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
1614 ; OPTIMISTIC-NOT: Function Attrs
1615 ; OPTIMISTIC: declare dso_local void @use_sizet(i64)
1617 ; OPTIMISTIC-NOT: Function Attrs
1618 ; OPTIMISTIC: declare dso_local void @ompc_display_affinity(ptr)
1620 ; OPTIMISTIC-NOT: Function Attrs
1621 ; OPTIMISTIC: declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
1623 ; OPTIMISTIC-NOT: Function Attrs
1624 ; OPTIMISTIC: declare dso_local void @omp_fulfill_event(i64)
1626 ; OPTIMISTIC-NOT: Function Attrs
1627 ; OPTIMISTIC: declare dso_local i32 @omp_pause_resource(i32, i32)
1629 ; OPTIMISTIC-NOT: Function Attrs
1630 ; OPTIMISTIC: declare dso_local i32 @omp_pause_resource_all(i32)
1632 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1633 ; OPTIMISTIC-NEXT: declare dso_local i32 @omp_get_supported_active_levels()
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))
1638 ; OPTIMISTIC: ; Function Attrs: nounwind
1639 ; OPTIMISTIC-NEXT: declare void @__kmpc_fork_call(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none), ...)
1641 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1642 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_omp_taskwait(ptr nofree readonly captures(none), i32)
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)
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)
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)
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)
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)
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)
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)
1665 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1666 ; OPTIMISTIC-NEXT: declare void @__kmpc_critical(ptr nofree readonly captures(none), i32, ptr)
1668 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1669 ; OPTIMISTIC-NEXT: declare void @__kmpc_critical_with_hint(ptr nofree readonly captures(none), i32, ptr, i32)
1671 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1672 ; OPTIMISTIC-NEXT: declare void @__kmpc_end_critical(ptr nofree readonly captures(none), i32, ptr)
1674 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1675 ; OPTIMISTIC-NEXT: declare void @__kmpc_begin(ptr nofree readonly captures(none), i32)
1677 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1678 ; OPTIMISTIC-NEXT: declare void @__kmpc_end(ptr nofree readonly captures(none))
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)
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)
1686 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1687 ; OPTIMISTIC-NEXT: declare void @__kmpc_end_reduce(ptr nofree readonly captures(none), i32, ptr)
1689 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1690 ; OPTIMISTIC-NEXT: declare void @__kmpc_end_reduce_nowait(ptr nofree readonly captures(none), i32, ptr)
1692 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1693 ; OPTIMISTIC-NEXT: declare void @__kmpc_ordered(ptr nofree readonly captures(none), i32)
1695 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1696 ; OPTIMISTIC-NEXT: declare void @__kmpc_end_ordered(ptr nofree readonly captures(none), i32)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
1737 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1738 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_single(ptr nofree readonly captures(none), i32)
1740 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1741 ; OPTIMISTIC-NEXT: declare void @__kmpc_end_single(ptr nofree readonly captures(none), i32)
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))
1746 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1747 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_omp_task(ptr nofree readonly captures(none), i32, ptr)
1749 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1750 ; OPTIMISTIC-NEXT: declare void @__kmpc_end_taskgroup(ptr nofree readonly captures(none), i32)
1752 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1753 ; OPTIMISTIC-NEXT: declare void @__kmpc_taskgroup(ptr nofree readonly captures(none), i32)
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)
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)
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)
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)
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)
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)
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)
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)
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))
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))
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))
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))
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)
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)
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)
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)
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)
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)
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))
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)
1815 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1816 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_cancellationpoint(ptr nofree readonly captures(none), i32, i32)
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)
1821 ; OPTIMISTIC: ; Function Attrs: nounwind
1822 ; OPTIMISTIC-NEXT: declare void @__kmpc_fork_teams(ptr nofree readonly captures(none), i32, ptr nofree readonly captures(none), ...)
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)
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)
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)
1833 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1834 ; OPTIMISTIC-NEXT: declare ptr @__kmpc_taskred_init(i32, i32, ptr)
1836 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1837 ; OPTIMISTIC-NEXT: declare void @__kmpc_task_reduction_modifier_fini(ptr nofree readonly captures(none), i32, i32)
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)
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)
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))
1848 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1849 ; OPTIMISTIC-NEXT: declare void @__kmpc_doacross_init(ptr nofree readonly captures(none), i32, i32, ptr)
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))
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))
1857 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1858 ; OPTIMISTIC-NEXT: declare void @__kmpc_doacross_fini(ptr nofree readonly captures(none), i32)
1860 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1861 ; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_alloc(i32, i64, ptr)
1863 ; OPTIMISTIC: ; Function Attrs: nosync nounwind willreturn
1864 ; OPTIMISTIC-NEXT: declare void @__kmpc_free(i32, ptr, ptr)
1866 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1867 ; OPTIMISTIC-NEXT: declare ptr @__kmpc_init_allocator(i32, ptr, i32, ptr)
1869 ; OPTIMISTIC: ; Function Attrs: nosync nounwind willreturn
1870 ; OPTIMISTIC-NEXT: declare void @__kmpc_destroy_allocator(i32, ptr)
1872 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: write)
1873 ; OPTIMISTIC-NEXT: declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
1875 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1876 ; OPTIMISTIC-NEXT: declare i64 @__kmpc_warp_active_thread_mask()
1878 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1879 ; OPTIMISTIC-NEXT: declare void @__kmpc_syncwarp(i64)
1881 ; OPTIMISTIC: ; Function Attrs: nounwind
1882 ; OPTIMISTIC-NEXT: declare i32 @__tgt_target_mapper(ptr, i64, ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
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)
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)
1893 ; OPTIMISTIC: ; Function Attrs: nounwind
1894 ; OPTIMISTIC-NEXT: declare void @__tgt_target_data_begin_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
1899 ; OPTIMISTIC: ; Function Attrs: nounwind
1900 ; OPTIMISTIC-NEXT: declare void @__tgt_target_data_end_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
1905 ; OPTIMISTIC: ; Function Attrs: nounwind
1906 ; OPTIMISTIC-NEXT: declare void @__tgt_target_data_update_mapper(ptr, i64, i32, ptr, ptr, ptr, ptr, ptr, ptr)
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)
1911 ; OPTIMISTIC: ; Function Attrs: nounwind
1912 ; OPTIMISTIC-NEXT: declare i64 @__tgt_mapper_num_components(ptr)
1914 ; OPTIMISTIC: ; Function Attrs: nounwind
1915 ; OPTIMISTIC-NEXT: declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
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)
1920 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1921 ; OPTIMISTIC-NEXT: declare ptr @__kmpc_task_reduction_get_th_data(i32, ptr, ptr)
1923 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1924 ; OPTIMISTIC-NEXT: declare ptr @__kmpc_task_reduction_init(i32, i32, ptr)
1926 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1927 ; OPTIMISTIC-NEXT: declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32, i32, i32, ptr)
1929 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1930 ; OPTIMISTIC-NEXT: declare void @__kmpc_proxy_task_completed_ooo(ptr)
1932 ; OPTIMISTIC: ; Function Attrs: cold convergent noinline nounwind
1933 ; OPTIMISTIC-NEXT: declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32)
1935 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn
1936 ; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_aligned_alloc(i32, i64, i64, ptr)
1938 ; OPTIMISTIC: ; Function Attrs: nosync nounwind allocsize(0)
1939 ; OPTIMISTIC-NEXT: declare noalias ptr @__kmpc_alloc_shared(i64)
1941 ; OPTIMISTIC: ; Function Attrs: convergent nounwind
1942 ; OPTIMISTIC: declare void @__kmpc_barrier_simple_generic(ptr nofree readonly captures(none), i32)
1944 ; OPTIMISTIC-NOT: Function Attrs
1945 ; OPTIMISTIC: declare void @__kmpc_begin_sharing_variables(ptr, i64)
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)
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)
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)
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)
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)
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)
1965 ; OPTIMISTIC-NOT: Function Attrs
1966 ; OPTIMISTIC: declare void @__kmpc_end_sharing_variables()
1968 ; OPTIMISTIC-NOT: Function Attrs
1969 ; OPTIMISTIC: declare void @__kmpc_error(ptr, i32, ptr)
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)
1974 ; OPTIMISTIC: ; Function Attrs: nosync nounwind
1975 ; OPTIMISTIC-NEXT: declare void @__kmpc_free_shared(ptr allocptr captures(none), i64)
1977 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1978 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_hardware_num_blocks()
1980 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1981 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_hardware_num_threads_in_block()
1983 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1984 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_hardware_thread_id_in_block()
1986 ; OPTIMISTIC-NOT: Function Attrs
1987 ; OPTIMISTIC: declare void @__kmpc_get_shared_variables(ptr)
1989 ; OPTIMISTIC: ; Function Attrs: nofree nosync nounwind willreturn memory(inaccessiblemem: read)
1990 ; OPTIMISTIC-NEXT: declare i32 @__kmpc_get_warp_size()
1992 ; OPTIMISTIC-NOT: Function Attrs
1993 ; OPTIMISTIC: declare i8 @__kmpc_is_spmd_exec_mode()
1995 ; OPTIMISTIC-NOT: Function Attrs
1996 ; OPTIMISTIC: declare void @__kmpc_kernel_end_parallel()
1998 ; OPTIMISTIC-NOT: Function Attrs
1999 ; OPTIMISTIC: declare i1 @__kmpc_kernel_parallel(ptr)
2001 ; OPTIMISTIC-NOT: Function Attrs
2002 ; OPTIMISTIC: declare void @__kmpc_kernel_prepare_parallel(ptr)
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)
2007 ; OPTIMISTIC-NOT: Function Attrs
2008 ; OPTIMISTIC: declare i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr)
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)
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))
2016 ; OPTIMISTIC: alwaysinline
2017 ; OPTIMISTIC: declare void @__kmpc_parallel_51(ptr, i32, i32, i32, i32, ptr, ptr, ptr, i64)
2019 ; OPTIMISTIC-NOT: Function Attrs
2020 ; OPTIMISTIC: declare i32 @__kmpc_shuffle_int32(i32, i16, i16)
2022 ; OPTIMISTIC-NOT: Function Attrs
2023 ; OPTIMISTIC: declare i64 @__kmpc_shuffle_int64(i64, i16, i16)
2025 ; OPTIMISTIC-NOT: Function Attrs
2026 ; OPTIMISTIC: declare void @__kmpc_target_deinit()
2028 ; OPTIMISTIC-NOT: Function Attrs
2029 ; OPTIMISTIC: declare i32 @__kmpc_target_init(ptr, ptr)
2031 ; OPTIMISTIC-NOT: Function Attrs
2032 ; OPTIMISTIC: declare void @__tgt_interop_destroy(ptr, i32, ptr, i32, i32, ptr, i32)
2034 ; OPTIMISTIC-NOT: Function Attrs
2035 ; OPTIMISTIC: declare void @__tgt_interop_init(ptr, i32, ptr, i32, i32, i32, ptr, i32)
2037 ; OPTIMISTIC-NOT: Function Attrs
2038 ; OPTIMISTIC: declare void @__tgt_interop_use(ptr, i32, ptr, i32, i32, ptr, i32)
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)
2043 ; OPTIMISTIC-NOT: Function Attrs
2044 ; OPTIMISTIC: declare void @__tgt_target_data_begin_mapper_wait(i64, ptr)
2046 ; OPTIMISTIC: ; Function Attrs: nounwind
2047 ; OPTIMISTIC: declare i32 @__tgt_target_kernel(ptr, i64, i32, i32, ptr, ptr)
2049 ; OPTIMISTIC: ; Function Attrs: nounwind
2050 ; OPTIMISTIC: declare i32 @__tgt_target_kernel_nowait(ptr, i64, i32, i32, ptr, ptr, i32, ptr, i32, ptr)
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)
2056 ; EXT: ; Function Attrs: nounwind
2057 ; EXT-NEXT: declare dso_local void @omp_set_dynamic(i32 signext)
2059 ; EXT: ; Function Attrs: nounwind
2060 ; EXT-NEXT: declare dso_local void @omp_set_nested(i32 signext)
2062 ; EXT: ; Function Attrs: nounwind
2063 ; EXT-NEXT: declare dso_local void @omp_set_max_active_levels(i32 signext)
2065 ; EXT: ; Function Attrs: nounwind
2066 ; EXT-NEXT: declare dso_local void @omp_set_schedule(i32 signext, i32 signext)
2068 ; EXT: ; Function Attrs: nounwind
2069 ; EXT-NEXT: declare dso_local signext i32 @omp_get_num_threads()
2071 ; EXT-NOT: Function Attrs
2072 ; EXT: declare dso_local void @use_int(i32)
2074 ; EXT: ; Function Attrs: nounwind
2075 ; EXT-NEXT: declare dso_local signext i32 @omp_get_dynamic()
2077 ; EXT: ; Function Attrs: nounwind
2078 ; EXT-NEXT: declare dso_local signext i32 @omp_get_nested()
2080 ; EXT: ; Function Attrs: nounwind
2081 ; EXT-NEXT: declare dso_local signext i32 @omp_get_max_threads()
2083 ; EXT: ; Function Attrs: nounwind
2084 ; EXT-NEXT: declare dso_local signext i32 @omp_get_thread_num()
2086 ; EXT: ; Function Attrs: nounwind
2087 ; EXT-NEXT: declare dso_local signext i32 @omp_get_num_procs()
2089 ; EXT: ; Function Attrs: nounwind
2090 ; EXT-NEXT: declare dso_local signext i32 @omp_in_parallel()
2092 ; EXT: ; Function Attrs: nounwind
2093 ; EXT-NEXT: declare dso_local signext i32 @omp_in_final()
2095 ; EXT: ; Function Attrs: nounwind
2096 ; EXT-NEXT: declare dso_local signext i32 @omp_get_active_level()
2098 ; EXT: ; Function Attrs: nounwind
2099 ; EXT-NEXT: declare dso_local signext i32 @omp_get_level()
2101 ; EXT: ; Function Attrs: nounwind
2102 ; EXT-NEXT: declare dso_local signext i32 @omp_get_ancestor_thread_num(i32 signext)
2104 ; EXT: ; Function Attrs: nounwind
2105 ; EXT-NEXT: declare dso_local signext i32 @omp_get_team_size(i32 signext)
2107 ; EXT: ; Function Attrs: nounwind
2108 ; EXT-NEXT: declare dso_local signext i32 @omp_get_thread_limit()
2110 ; EXT: ; Function Attrs: nounwind
2111 ; EXT-NEXT: declare dso_local signext i32 @omp_get_max_active_levels()
2113 ; EXT: ; Function Attrs: nounwind
2114 ; EXT-NEXT: declare dso_local void @omp_get_schedule(ptr writeonly captures(none), ptr writeonly captures(none))
2116 ; EXT-NOT: Function Attrs
2117 ; EXT: declare dso_local i32 @omp_get_max_task_priority()
2119 ; EXT-NOT: Function Attrs
2120 ; EXT: declare dso_local void @omp_init_lock(ptr)
2122 ; EXT-NOT: Function Attrs
2123 ; EXT: declare dso_local void @omp_set_lock(ptr)
2125 ; EXT-NOT: Function Attrs
2126 ; EXT: declare dso_local void @omp_unset_lock(ptr)
2128 ; EXT-NOT: Function Attrs
2129 ; EXT: declare dso_local void @omp_destroy_lock(ptr)
2131 ; EXT-NOT: Function Attrs
2132 ; EXT: declare dso_local i32 @omp_test_lock(ptr)
2134 ; EXT-NOT: Function Attrs
2135 ; EXT: declare dso_local void @omp_init_nest_lock(ptr)
2137 ; EXT-NOT: Function Attrs
2138 ; EXT: declare dso_local void @omp_set_nest_lock(ptr)
2140 ; EXT-NOT: Function Attrs
2141 ; EXT: declare dso_local void @omp_unset_nest_lock(ptr)
2143 ; EXT-NOT: Function Attrs
2144 ; EXT: declare dso_local void @omp_destroy_nest_lock(ptr)
2146 ; EXT-NOT: Function Attrs
2147 ; EXT: declare dso_local i32 @omp_test_nest_lock(ptr)
2149 ; EXT-NOT: Function Attrs
2150 ; EXT: declare dso_local void @omp_init_lock_with_hint(ptr, i32)
2152 ; EXT-NOT: Function Attrs
2153 ; EXT: declare dso_local void @omp_init_nest_lock_with_hint(ptr, i32)
2155 ; EXT: ; Function Attrs: nounwind
2156 ; EXT-NEXT: declare dso_local double @omp_get_wtime()
2158 ; EXT-NOT: Function Attrs
2159 ; EXT: declare dso_local void @use_double(double)
2161 ; EXT-NOT: Function Attrs
2162 ; EXT: declare dso_local double @omp_get_wtick()
2164 ; EXT-NOT: Function Attrs
2165 ; EXT: declare dso_local i32 @omp_get_default_device()
2167 ; EXT-NOT: Function Attrs
2168 ; EXT: declare dso_local void @omp_set_default_device(i32)
2170 ; EXT-NOT: Function Attrs
2171 ; EXT: declare dso_local i32 @omp_is_initial_device()
2173 ; EXT-NOT: Function Attrs
2174 ; EXT: declare dso_local i32 @omp_get_num_devices()
2176 ; EXT-NOT: Function Attrs
2177 ; EXT: declare dso_local i32 @omp_get_num_teams()
2179 ; EXT-NOT: Function Attrs
2180 ; EXT: declare dso_local i32 @omp_get_team_num()
2182 ; EXT: ; Function Attrs: nounwind
2183 ; EXT-NEXT: declare dso_local signext i32 @omp_get_cancellation()
2185 ; EXT-NOT: Function Attrs
2186 ; EXT: declare dso_local i32 @omp_get_initial_device()
2188 ; EXT-NOT: Function Attrs
2189 ; EXT: declare dso_local ptr @omp_target_alloc(i64, i32)
2191 ; EXT-NOT: Function Attrs
2192 ; EXT: declare dso_local void @use_voidptr(ptr)
2194 ; EXT-NOT: Function Attrs
2195 ; EXT: declare dso_local void @omp_target_free(ptr, i32)
2197 ; EXT-NOT: Function Attrs
2198 ; EXT: declare dso_local i32 @omp_target_is_present(ptr, i32)
2200 ; EXT-NOT: Function Attrs
2201 ; EXT: declare dso_local i32 @omp_target_memcpy(ptr, ptr, i64, i64, i64, i32, i32)
2203 ; EXT-NOT: Function Attrs
2204 ; EXT: declare dso_local i32 @omp_target_associate_ptr(ptr, ptr, i64, i64, i32)
2206 ; EXT-NOT: Function Attrs
2207 ; EXT: declare dso_local i32 @omp_target_disassociate_ptr(ptr, i32)
2209 ; EXT-NOT: Function Attrs
2210 ; EXT: declare dso_local i32 @omp_get_device_num()
2212 ; EXT: ; Function Attrs: nounwind
2213 ; EXT-NEXT: declare dso_local signext i32 @omp_get_proc_bind()
2215 ; EXT: ; Function Attrs: nounwind
2216 ; EXT-NEXT: declare dso_local signext i32 @omp_get_num_places()
2218 ; EXT-NOT: Function Attrs
2219 ; EXT: declare dso_local i32 @omp_get_place_num_procs(i32)
2221 ; EXT: ; Function Attrs: nounwind
2222 ; EXT-NEXT: declare dso_local void @omp_get_place_proc_ids(i32 signext, ptr writeonly captures(none))
2224 ; EXT: ; Function Attrs: nounwind
2225 ; EXT-NEXT: declare dso_local signext i32 @omp_get_place_num()
2227 ; EXT: ; Function Attrs: nounwind
2228 ; EXT-NEXT: declare dso_local signext i32 @omp_get_partition_num_places()
2230 ; EXT: ; Function Attrs: nounwind
2231 ; EXT-NEXT: declare dso_local void @omp_get_partition_place_nums(ptr)
2233 ; EXT-NOT: Function Attrs
2234 ; EXT: declare dso_local i32 @omp_control_tool(i32, i32, ptr)
2236 ; EXT-NOT: Function Attrs
2237 ; EXT: declare dso_local void @omp_destroy_allocator(i64)
2239 ; EXT-NOT: Function Attrs
2240 ; EXT: declare dso_local void @omp_set_default_allocator(i64)
2242 ; EXT-NOT: Function Attrs
2243 ; EXT: declare dso_local i64 @omp_get_default_allocator()
2245 ; EXT-NOT: Function Attrs
2246 ; EXT: declare dso_local ptr @omp_alloc(i64, i64)
2248 ; EXT-NOT: Function Attrs
2249 ; EXT: declare dso_local void @omp_free(ptr, i64)
2251 ; EXT-NOT: Function Attrs
2252 ; EXT: declare dso_local void @ompc_set_affinity_format(ptr)
2254 ; EXT-NOT: Function Attrs
2255 ; EXT: declare dso_local i64 @ompc_get_affinity_format(ptr, i64)
2257 ; EXT-NOT: Function Attrs
2258 ; EXT: declare dso_local void @use_sizet(i64)
2260 ; EXT-NOT: Function Attrs
2261 ; EXT: declare dso_local void @ompc_display_affinity(ptr)
2263 ; EXT-NOT: Function Attrs
2264 ; EXT: declare dso_local i64 @ompc_capture_affinity(ptr, i64, ptr)
2266 ; EXT-NOT: Function Attrs
2267 ; EXT: declare dso_local void @omp_fulfill_event(i64)
2269 ; EXT-NOT: Function Attrs
2270 ; EXT: declare dso_local i32 @omp_pause_resource(i32, i32)
2272 ; EXT-NOT: Function Attrs
2273 ; EXT: declare dso_local i32 @omp_pause_resource_all(i32)
2275 ; EXT: ; Function Attrs: nounwind
2276 ; EXT-NEXT: declare dso_local signext i32 @omp_get_supported_active_levels()
2278 ; EXT: ; Function Attrs: convergent nounwind
2279 ; EXT-NEXT: declare void @__kmpc_barrier(ptr, i32 signext)
2281 ; EXT: ; Function Attrs: nounwind
2282 ; EXT-NEXT: declare signext i32 @__kmpc_cancel(ptr, i32 signext, i32 signext)
2284 ; EXT: ; Function Attrs: convergent nounwind
2285 ; EXT-NEXT: declare signext i32 @__kmpc_cancel_barrier(ptr, i32 signext)
2287 ; EXT: ; Function Attrs: convergent nounwind
2288 ; EXT-NEXT: declare void @__kmpc_flush(ptr)
2290 ; EXT: ; Function Attrs: nounwind
2291 ; EXT-NEXT: declare signext i32 @__kmpc_global_thread_num(ptr)
2293 ; EXT: ; Function Attrs: nounwind
2294 ; EXT-NEXT: declare void @__kmpc_fork_call(ptr, i32 signext, ptr, ...)
2296 ; EXT: ; Function Attrs: convergent nounwind
2297 ; EXT-NEXT: declare signext i32 @__kmpc_omp_taskwait(ptr, i32 signext)
2299 ; EXT: ; Function Attrs: nounwind
2300 ; EXT-NEXT: declare signext i32 @__kmpc_omp_taskyield(ptr, i32 signext, i32 signext)
2302 ; EXT: ; Function Attrs: nounwind
2303 ; EXT-NEXT: declare void @__kmpc_push_num_threads(ptr, i32 signext, i32 signext)
2305 ; EXT: ; Function Attrs: nounwind
2306 ; EXT-NEXT: declare void @__kmpc_push_proc_bind(ptr, i32 signext, i32 signext)
2308 ; EXT: ; Function Attrs: nounwind
2309 ; EXT-NEXT: declare void @__kmpc_serialized_parallel(ptr, i32 signext)
2311 ; EXT: ; Function Attrs: nounwind
2312 ; EXT-NEXT: declare void @__kmpc_end_serialized_parallel(ptr, i32 signext)
2314 ; EXT: ; Function Attrs: nounwind
2315 ; EXT-NEXT: declare signext i32 @__kmpc_master(ptr, i32 signext)
2317 ; EXT: ; Function Attrs: nounwind
2318 ; EXT-NEXT: declare void @__kmpc_end_master(ptr, i32 signext)
2320 ; EXT: ; Function Attrs: convergent nounwind
2321 ; EXT-NEXT: declare void @__kmpc_critical(ptr, i32 signext, ptr)
2323 ; EXT: ; Function Attrs: convergent nounwind
2324 ; EXT-NEXT: declare void @__kmpc_critical_with_hint(ptr, i32 signext, ptr, i32 zeroext)
2326 ; EXT: ; Function Attrs: convergent nounwind
2327 ; EXT-NEXT: declare void @__kmpc_end_critical(ptr, i32 signext, ptr)
2329 ; EXT: ; Function Attrs: nounwind
2330 ; EXT-NEXT: declare void @__kmpc_begin(ptr, i32 signext)
2332 ; EXT: ; Function Attrs: nounwind
2333 ; EXT-NEXT: declare void @__kmpc_end(ptr)
2335 ; EXT: ; Function Attrs: convergent nounwind
2336 ; EXT-NEXT: declare signext i32 @__kmpc_reduce(ptr, i32 signext, i32 signext, i64, ptr, ptr, ptr)
2338 ; EXT: ; Function Attrs: convergent nounwind
2339 ; EXT-NEXT: declare signext i32 @__kmpc_reduce_nowait(ptr, i32 signext, i32 signext, i64, ptr, ptr, ptr)
2341 ; EXT: ; Function Attrs: convergent nounwind
2342 ; EXT-NEXT: declare void @__kmpc_end_reduce(ptr, i32 signext, ptr)
2344 ; EXT: ; Function Attrs: convergent nounwind
2345 ; EXT-NEXT: declare void @__kmpc_end_reduce_nowait(ptr, i32 signext, ptr)
2347 ; EXT: ; Function Attrs: convergent nounwind
2348 ; EXT-NEXT: declare void @__kmpc_ordered(ptr, i32 signext)
2350 ; EXT: ; Function Attrs: convergent nounwind
2351 ; EXT-NEXT: declare void @__kmpc_end_ordered(ptr, i32 signext)
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)
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)
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)
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)
2365 ; EXT: ; Function Attrs: nounwind
2366 ; EXT-NEXT: declare void @__kmpc_for_static_fini(ptr, i32 signext)
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)
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)
2374 ; EXT: ; Function Attrs: nounwind
2375 ; EXT-NEXT: declare void @__kmpc_team_static_init_8(ptr, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
2377 ; EXT: ; Function Attrs: nounwind
2378 ; EXT-NEXT: declare void @__kmpc_team_static_init_8u(ptr, i32 signext, ptr, ptr, ptr, ptr, i64, i64)
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)
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)
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)
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)
2392 ; EXT: ; Function Attrs: convergent nounwind
2393 ; EXT-NEXT: declare signext i32 @__kmpc_single(ptr, i32 signext)
2395 ; EXT: ; Function Attrs: convergent nounwind
2396 ; EXT-NEXT: declare void @__kmpc_end_single(ptr, i32 signext)
2398 ; EXT: ; Function Attrs: nounwind
2399 ; EXT-NEXT: declare noalias ptr @__kmpc_omp_task_alloc(ptr, i32 signext, i32 signext, i64, i64, ptr)
2401 ; EXT: ; Function Attrs: nounwind
2402 ; EXT-NEXT: declare signext i32 @__kmpc_omp_task(ptr, i32 signext, ptr)
2404 ; EXT: ; Function Attrs: convergent nounwind
2405 ; EXT-NEXT: declare void @__kmpc_end_taskgroup(ptr, i32 signext)
2407 ; EXT: ; Function Attrs: convergent nounwind
2408 ; EXT-NEXT: declare void @__kmpc_taskgroup(ptr, i32 signext)
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)
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)
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)
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)
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)
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)
2428 ; EXT: ; Function Attrs: nounwind
2429 ; EXT-NEXT: declare void @__kmpc_dispatch_init_8(ptr, i32 signext, i32 signext, i64, i64, i64, i64)
2431 ; EXT: ; Function Attrs: nounwind
2432 ; EXT-NEXT: declare void @__kmpc_dispatch_init_8u(ptr, i32 signext, i32 signext, i64, i64, i64, i64)
2434 ; EXT: ; Function Attrs: nounwind
2435 ; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_4(ptr, i32 signext, ptr, ptr, ptr, ptr)
2437 ; EXT: ; Function Attrs: nounwind
2438 ; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_4u(ptr, i32 signext, ptr, ptr, ptr, ptr)
2440 ; EXT: ; Function Attrs: nounwind
2441 ; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_8(ptr, i32 signext, ptr, ptr, ptr, ptr)
2443 ; EXT: ; Function Attrs: nounwind
2444 ; EXT-NEXT: declare signext i32 @__kmpc_dispatch_next_8u(ptr, i32 signext, ptr, ptr, ptr, ptr)
2446 ; EXT: ; Function Attrs: nounwind
2447 ; EXT-NEXT: declare void @__kmpc_dispatch_fini_4(ptr, i32 signext)
2449 ; EXT: ; Function Attrs: nounwind
2450 ; EXT-NEXT: declare void @__kmpc_dispatch_fini_4u(ptr, i32 signext)
2452 ; EXT: ; Function Attrs: nounwind
2453 ; EXT-NEXT: declare void @__kmpc_dispatch_fini_8(ptr, i32 signext)
2455 ; EXT: ; Function Attrs: nounwind
2456 ; EXT-NEXT: declare void @__kmpc_dispatch_fini_8u(ptr, i32 signext)
2458 ; EXT: ; Function Attrs: nounwind
2459 ; EXT-NEXT: declare void @__kmpc_omp_task_begin_if0(ptr, i32 signext, ptr)
2461 ; EXT: ; Function Attrs: nounwind
2462 ; EXT-NEXT: declare void @__kmpc_omp_task_complete_if0(ptr, i32 signext, ptr)
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)
2467 ; EXT: ; Function Attrs: convergent nounwind
2468 ; EXT-NEXT: declare void @__kmpc_omp_wait_deps(ptr, i32 signext, i32 signext, ptr, i32 signext, ptr)
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)
2473 ; EXT: ; Function Attrs: nounwind
2474 ; EXT-NEXT: declare signext i32 @__kmpc_cancellationpoint(ptr, i32 signext, i32 signext)
2476 ; EXT: ; Function Attrs: nounwind
2477 ; EXT-NEXT: declare void @__kmpc_push_num_teams(ptr, i32 signext, i32 signext, i32 signext)
2479 ; EXT: ; Function Attrs: nounwind
2480 ; EXT-NEXT: declare void @__kmpc_fork_teams(ptr, i32 signext, ptr, ...)
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)
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)
2488 ; EXT: ; Function Attrs: nounwind
2489 ; EXT-NEXT: declare ptr @__kmpc_taskred_modifier_init(ptr, i32 signext, i32 signext, i32 signext, ptr)
2491 ; EXT: ; Function Attrs: nounwind
2492 ; EXT-NEXT: declare ptr @__kmpc_taskred_init(i32 signext, i32 signext, ptr)
2494 ; EXT: ; Function Attrs: convergent nounwind
2495 ; EXT-NEXT: declare void @__kmpc_task_reduction_modifier_fini(ptr, i32 signext, i32 signext)
2497 ; EXT: ; Function Attrs: nounwind
2498 ; EXT-NEXT: declare void @__kmpc_copyprivate(ptr, i32 signext, i64, ptr, ptr, i32 signext)
2500 ; EXT: ; Function Attrs: nounwind
2501 ; EXT-NEXT: declare ptr @__kmpc_threadprivate_cached(ptr, i32 signext, ptr, i64, ptr)
2503 ; EXT: ; Function Attrs: nounwind
2504 ; EXT-NEXT: declare void @__kmpc_threadprivate_register(ptr, ptr, ptr, ptr, ptr)
2506 ; EXT: ; Function Attrs: convergent nounwind
2507 ; EXT-NEXT: declare void @__kmpc_doacross_init(ptr, i32 signext, i32 signext, ptr)
2509 ; EXT: ; Function Attrs: convergent nounwind
2510 ; EXT-NEXT: declare void @__kmpc_doacross_wait(ptr, i32 signext, ptr)
2512 ; EXT: ; Function Attrs: convergent nounwind
2513 ; EXT-NEXT: declare void @__kmpc_doacross_post(ptr, i32 signext, ptr)
2515 ; EXT: ; Function Attrs: convergent nounwind
2516 ; EXT-NEXT: declare void @__kmpc_doacross_fini(ptr, i32 signext)
2518 ; EXT: ; Function Attrs: nounwind
2519 ; EXT-NEXT: declare noalias ptr @__kmpc_alloc(i32 signext, i64, ptr)
2521 ; EXT: ; Function Attrs: nounwind
2522 ; EXT-NEXT: declare void @__kmpc_free(i32 signext, ptr, ptr)
2524 ; EXT: ; Function Attrs: nounwind
2525 ; EXT-NEXT: declare ptr @__kmpc_init_allocator(i32 signext, ptr, i32 signext, ptr)
2527 ; EXT: ; Function Attrs: nounwind
2528 ; EXT-NEXT: declare void @__kmpc_destroy_allocator(i32 signext, ptr)
2530 ; EXT: ; Function Attrs: nounwind
2531 ; EXT-NEXT: declare void @__kmpc_push_target_tripcount_mapper(ptr, i64, i64)
2533 ; EXT: ; Function Attrs: convergent nounwind
2534 ; EXT-NEXT: declare i64 @__kmpc_warp_active_thread_mask()
2536 ; EXT: ; Function Attrs: convergent nounwind
2537 ; EXT-NEXT: declare void @__kmpc_syncwarp(i64)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
2569 ; EXT: ; Function Attrs: nounwind
2570 ; EXT-NEXT: declare i64 @__tgt_mapper_num_components(ptr)
2572 ; EXT: ; Function Attrs: nounwind
2573 ; EXT-NEXT: declare void @__tgt_push_mapper_component(ptr, ptr, ptr, i64, i64, ptr)
2575 ; EXT: ; Function Attrs: nounwind
2576 ; EXT-NEXT: declare ptr @__kmpc_task_allow_completion_event(ptr, i32 signext, ptr)
2578 ; EXT: ; Function Attrs: nounwind
2579 ; EXT-NEXT: declare ptr @__kmpc_task_reduction_get_th_data(i32 signext, ptr, ptr)
2581 ; EXT: ; Function Attrs: nounwind
2582 ; EXT-NEXT: declare ptr @__kmpc_task_reduction_init(i32 signext, i32 signext, ptr)
2584 ; EXT: ; Function Attrs: nounwind
2585 ; EXT-NEXT: declare ptr @__kmpc_task_reduction_modifier_init(ptr, i32 signext, i32 signext, i32 signext, ptr)
2587 ; EXT: ; Function Attrs: nounwind
2588 ; EXT-NEXT: declare void @__kmpc_proxy_task_completed_ooo(ptr)
2590 ; EXT: ; Function Attrs: cold convergent noinline nounwind
2591 ; EXT-NEXT: declare void @__kmpc_barrier_simple_spmd(ptr nofree readonly captures(none), i32 signext)
2593 ; EXT: ; Function Attrs: nounwind
2594 ; EXT-NEXT: declare noalias ptr @__kmpc_aligned_alloc(i32 signext, i64, i64, ptr)
2596 ; EXT: ; Function Attrs: nosync nounwind allocsize(0)
2597 ; EXT-NEXT: declare noalias ptr @__kmpc_alloc_shared(i64)
2599 ; EXT: ; Function Attrs: convergent nounwind
2600 ; EXT: declare void @__kmpc_barrier_simple_generic(ptr, i32 signext)
2602 ; EXT-NOT: Function Attrs
2603 ; EXT: declare void @__kmpc_begin_sharing_variables(ptr, i64)
2605 ; EXT: ; Function Attrs: nounwind
2606 ; EXT: declare void @__kmpc_distribute_static_fini(ptr, i32 signext)
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)
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)
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)
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)
2620 ; EXT: ; Function Attrs: nounwind
2621 ; EXT: declare void @__kmpc_end_masked(ptr, i32 signext)
2623 ; EXT-NOT: Function Attrs
2624 ; EXT: declare void @__kmpc_end_sharing_variables()
2626 ; EXT-NOT: Function Attrs
2627 ; EXT: declare void @__kmpc_error(ptr, i32 signext, ptr)
2629 ; EXT-NOT: Function Attrs
2630 ; EXT: declare void @__kmpc_fork_call_if(ptr, i32 signext, ptr, i32 signext, ptr)
2632 ; EXT: ; Function Attrs: nosync nounwind
2633 ; EXT-NEXT: declare void @__kmpc_free_shared(ptr allocptr captures(none), i64)
2635 ; EXT: ; Function Attrs: nounwind
2636 ; EXT-NEXT: declare zeroext i32 @__kmpc_get_hardware_num_blocks()
2638 ; EXT: ; Function Attrs: nounwind
2639 ; EXT-NEXT: declare zeroext i32 @__kmpc_get_hardware_num_threads_in_block()
2641 ; EXT: ; Function Attrs: nounwind
2642 ; EXT-NEXT: declare zeroext i32 @__kmpc_get_hardware_thread_id_in_block()
2644 ; EXT-NOT: Function Attrs
2645 ; EXT: declare void @__kmpc_get_shared_variables(ptr)
2647 ; EXT: ; Function Attrs: nounwind
2648 ; EXT-NEXT: declare zeroext i32 @__kmpc_get_warp_size()
2650 ; EXT-NOT: Function Attrs
2651 ; EXT: declare signext i8 @__kmpc_is_spmd_exec_mode()
2653 ; EXT-NOT: Function Attrs
2654 ; EXT: declare void @__kmpc_kernel_end_parallel()
2656 ; EXT-NOT: Function Attrs
2657 ; EXT: declare i1 @__kmpc_kernel_parallel(ptr)
2659 ; EXT-NOT: Function Attrs
2660 ; EXT: declare void @__kmpc_kernel_prepare_parallel(ptr)
2662 ; EXT: ; Function Attrs: nounwind
2663 ; EXT: declare signext i32 @__kmpc_masked(ptr, i32 signext, i32 signext)
2665 ; EXT-NOT: Function Attrs
2666 ; EXT: declare signext i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr, i64, ptr, ptr, ptr)
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)
2671 ; EXT: ; Function Attrs: nounwind
2672 ; EXT: declare signext i32 @__kmpc_omp_reg_task_with_affinity(ptr, i32 signext, ptr, i32 signext, ptr)
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)
2677 ; EXT-NOT: Function Attrs
2678 ; EXT: declare signext i32 @__kmpc_shuffle_int32(i32 signext, i16 signext, i16 signext)
2680 ; EXT-NOT: Function Attrs
2681 ; EXT: declare i64 @__kmpc_shuffle_int64(i64, i16 signext, i16 signext)
2683 ; EXT-NOT: Function Attrs
2684 ; EXT: declare void @__kmpc_target_deinit()
2686 ; EXT-NOT: Function Attrs
2687 ; EXT: declare signext i32 @__kmpc_target_init(ptr, ptr)
2689 ; EXT-NOT: Function Attrs
2690 ; EXT: declare void @__tgt_interop_destroy(ptr, i32 signext, ptr, i32 signext, i32 signext, ptr, i32 signext)
2692 ; EXT-NOT: Function Attrs
2693 ; EXT: declare void @__tgt_interop_init(ptr, i32 signext, ptr, i32 signext, i32 signext, i32, ptr, i32 signext)
2695 ; EXT-NOT: Function Attrs
2696 ; EXT: declare void @__tgt_interop_use(ptr, i32 signext, ptr, i32 signext, i32 signext, ptr, i32 signext)
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)
2701 ; EXT-NOT: Function Attrs
2702 ; EXT: declare void @__tgt_target_data_begin_mapper_wait(i64, ptr)
2704 ; EXT: ; Function Attrs: nounwind
2705 ; EXT: declare signext i32 @__tgt_target_kernel(ptr, i64, i32 signext, i32 signext, ptr, ptr)
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)
2710 ; MIPS_EXT: ; Function Attrs: nounwind
2711 ; MIPS_EXT: declare dso_local void @omp_set_num_threads(i32 signext)
2713 ; MIPS_EXT: ; Function Attrs: nounwind
2714 ; MIPS_EXT: declare dso_local i32 @omp_get_num_threads()
2716 ; MIPS_EXT: ; Function Attrs: convergent nounwind
2717 ; MIPS_EXT: declare void @__kmpc_critical_with_hint(ptr, i32 signext, ptr, i32 signext)
2719 ; MIPS_EXT: ; Function Attrs: nounwind
2720 ; MIPS_EXT: declare i32 @__kmpc_get_hardware_num_blocks()
2722 ; RISCV_EXT: ; Function Attrs: nounwind
2723 ; RISCV_EXT: declare signext i32 @__kmpc_get_hardware_num_blocks()
2725 ; RISCV_EXT: ; Function Attrs: nounwind
2726 ; RISCV_EXT: declare signext i32 @__kmpc_get_hardware_num_threads_in_block()
2728 ; RISCV_EXT: ; Function Attrs: nounwind
2729 ; RISCV_EXT: declare signext i32 @__kmpc_get_hardware_thread_id_in_block()
2731 ; RISCV_EXT: ; Function Attrs: nounwind
2732 ; RISCV_EXT: declare signext i32 @__kmpc_get_warp_size()
2734 !llvm.module.flags = !{!0}
2736 !0 = !{i32 7, !"openmp", i32 50}