1/* This file contains the definitions and documentation for the
2 Offloading and Multi Processing builtins used in the GNU compiler.
3 Copyright (C) 2005-2017 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 3, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
20
21/* Before including this file, you should define a macro:
22
23 DEF_GOACC_BUILTIN (ENUM, NAME, TYPE, ATTRS)
24 DEF_GOACC_BUILTIN_COMPILER (ENUM, NAME, TYPE, ATTRS)
25 DEF_GOMP_BUILTIN (ENUM, NAME, TYPE, ATTRS)
26
27 See builtins.def for details. */
28
29/* The reason why they aren't in gcc/builtins.def is that the Fortran front end
30 doesn't source those. */
31
32DEF_GOACC_BUILTIN (BUILT_IN_ACC_GET_DEVICE_TYPE, "acc_get_device_type",
33 BT_FN_INT, ATTR_NOTHROW_LIST)
34DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_START, "GOACC_data_start",
35 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
36DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end",
37 BT_FN_VOID, ATTR_NOTHROW_LIST)
38DEF_GOACC_BUILTIN (BUILT_IN_GOACC_ENTER_EXIT_DATA, "GOACC_enter_exit_data",
39 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
40 ATTR_NOTHROW_LIST)
41DEF_GOACC_BUILTIN (BUILT_IN_GOACC_PARALLEL, "GOACC_parallel_keyed",
42 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
43 ATTR_NOTHROW_LIST)
44DEF_GOACC_BUILTIN (BUILT_IN_GOACC_UPDATE, "GOACC_update",
45 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
46 ATTR_NOTHROW_LIST)
47DEF_GOACC_BUILTIN (BUILT_IN_GOACC_WAIT, "GOACC_wait",
48 BT_FN_VOID_INT_INT_VAR,
49 ATTR_NOTHROW_LIST)
50
51DEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device",
52 BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
53
54DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num",
55 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
56DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads",
57 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
58DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_TEAM_NUM, "omp_get_team_num",
59 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
60DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_TEAMS, "omp_get_num_teams",
61 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
62
63DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start",
64 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
65DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end",
66 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
67DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier",
68 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
69DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER_CANCEL, "GOMP_barrier_cancel",
70 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
71DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT, "GOMP_taskwait",
72 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
73DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKYIELD, "GOMP_taskyield",
74 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
75DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_START, "GOMP_taskgroup_start",
76 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
77DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_END, "GOMP_taskgroup_end",
78 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
79DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCEL, "GOMP_cancel",
80 BT_FN_BOOL_INT_BOOL, ATTR_NOTHROW_LEAF_LIST)
81DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCELLATION_POINT, "GOMP_cancellation_point",
82 BT_FN_BOOL_INT, ATTR_NOTHROW_LEAF_LIST)
83DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start",
84 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
85DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end",
86 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
87DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START,
88 "GOMP_critical_name_start",
89 BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST)
90DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_END,
91 "GOMP_critical_name_end",
92 BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST)
93/* NOTE: Do not change the order of BUILT_IN_GOMP_LOOP_*_START. They
94 are used in index arithmetic with enum omp_clause_schedule_kind
95 in omp-low.c. */
96DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_START,
97 "GOMP_loop_static_start",
98 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
99 ATTR_NOTHROW_LEAF_LIST)
100DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_START,
101 "GOMP_loop_dynamic_start",
102 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
103 ATTR_NOTHROW_LEAF_LIST)
104DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_START,
105 "GOMP_loop_guided_start",
106 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
107 ATTR_NOTHROW_LEAF_LIST)
108DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_START,
109 "GOMP_loop_runtime_start",
110 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
111 ATTR_NOTHROW_LEAF_LIST)
112DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
113 "GOMP_loop_nonmonotonic_dynamic_start",
114 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
115 ATTR_NOTHROW_LEAF_LIST)
116DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
117 "GOMP_loop_nonmonotonic_guided_start",
118 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
119 ATTR_NOTHROW_LEAF_LIST)
120DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
121 "GOMP_loop_ordered_static_start",
122 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
123 ATTR_NOTHROW_LEAF_LIST)
124DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
125 "GOMP_loop_ordered_dynamic_start",
126 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
127 ATTR_NOTHROW_LEAF_LIST)
128DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
129 "GOMP_loop_ordered_guided_start",
130 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
131 ATTR_NOTHROW_LEAF_LIST)
132DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
133 "GOMP_loop_ordered_runtime_start",
134 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
135 ATTR_NOTHROW_LEAF_LIST)
136DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
137 "GOMP_loop_doacross_static_start",
138 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
139 ATTR_NOTHROW_LEAF_LIST)
140DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
141 "GOMP_loop_doacross_dynamic_start",
142 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
143 ATTR_NOTHROW_LEAF_LIST)
144DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
145 "GOMP_loop_doacross_guided_start",
146 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
147 ATTR_NOTHROW_LEAF_LIST)
148DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
149 "GOMP_loop_doacross_runtime_start",
150 BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
151 ATTR_NOTHROW_LEAF_LIST)
152DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next",
153 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
154DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next",
155 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
156DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next",
157 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
158DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next",
159 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
160DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
161 "GOMP_loop_nonmonotonic_dynamic_next",
162 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
163DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
164 "GOMP_loop_nonmonotonic_guided_next",
165 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
166DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
167 "GOMP_loop_ordered_static_next",
168 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
169DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
170 "GOMP_loop_ordered_dynamic_next",
171 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
172DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
173 "GOMP_loop_ordered_guided_next",
174 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
175DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
176 "GOMP_loop_ordered_runtime_next",
177 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
178DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_START,
179 "GOMP_loop_ull_static_start",
180 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
181 ATTR_NOTHROW_LEAF_LIST)
182DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_START,
183 "GOMP_loop_ull_dynamic_start",
184 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
185 ATTR_NOTHROW_LEAF_LIST)
186DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_START,
187 "GOMP_loop_ull_guided_start",
188 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
189 ATTR_NOTHROW_LEAF_LIST)
190DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_START,
191 "GOMP_loop_ull_runtime_start",
192 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
193 ATTR_NOTHROW_LEAF_LIST)
194DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
195 "GOMP_loop_ull_nonmonotonic_dynamic_start",
196 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
197 ATTR_NOTHROW_LEAF_LIST)
198DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
199 "GOMP_loop_ull_nonmonotonic_guided_start",
200 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
201 ATTR_NOTHROW_LEAF_LIST)
202DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_START,
203 "GOMP_loop_ull_ordered_static_start",
204 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
205 ATTR_NOTHROW_LEAF_LIST)
206DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START,
207 "GOMP_loop_ull_ordered_dynamic_start",
208 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
209 ATTR_NOTHROW_LEAF_LIST)
210DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_START,
211 "GOMP_loop_ull_ordered_guided_start",
212 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
213 ATTR_NOTHROW_LEAF_LIST)
214DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_START,
215 "GOMP_loop_ull_ordered_runtime_start",
216 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
217 ATTR_NOTHROW_LEAF_LIST)
218DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
219 "GOMP_loop_ull_doacross_static_start",
220 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
221 ATTR_NOTHROW_LEAF_LIST)
222DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
223 "GOMP_loop_ull_doacross_dynamic_start",
224 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
225 ATTR_NOTHROW_LEAF_LIST)
226DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
227 "GOMP_loop_ull_doacross_guided_start",
228 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
229 ATTR_NOTHROW_LEAF_LIST)
230DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
231 "GOMP_loop_ull_doacross_runtime_start",
232 BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
233 ATTR_NOTHROW_LEAF_LIST)
234DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_NEXT,
235 "GOMP_loop_ull_static_next",
236 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
237DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_NEXT,
238 "GOMP_loop_ull_dynamic_next",
239 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
240DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_NEXT,
241 "GOMP_loop_ull_guided_next",
242 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
243DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_NEXT,
244 "GOMP_loop_ull_runtime_next",
245 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
246DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
247 "GOMP_loop_ull_nonmonotonic_dynamic_next",
248 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
249DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
250 "GOMP_loop_ull_nonmonotonic_guided_next",
251 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
252DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT,
253 "GOMP_loop_ull_ordered_static_next",
254 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
255DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT,
256 "GOMP_loop_ull_ordered_dynamic_next",
257 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
258DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT,
259 "GOMP_loop_ull_ordered_guided_next",
260 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
261DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT,
262 "GOMP_loop_ull_ordered_runtime_next",
263 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
264/* NOTE: Do not change the order of BUILT_IN_GOMP_PARALLEL_LOOP_*.
265 They are used in index arithmetic with enum omp_clause_schedule_kind
266 in omp-low.c. */
267DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC,
268 "GOMP_parallel_loop_static",
269 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
270 ATTR_NOTHROW_LIST)
271DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC,
272 "GOMP_parallel_loop_dynamic",
273 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
274 ATTR_NOTHROW_LIST)
275DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED,
276 "GOMP_parallel_loop_guided",
277 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
278 ATTR_NOTHROW_LIST)
279DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME,
280 "GOMP_parallel_loop_runtime",
281 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
282 ATTR_NOTHROW_LIST)
283DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
284 "GOMP_parallel_loop_nonmonotonic_dynamic",
285 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
286 ATTR_NOTHROW_LIST)
287DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED,
288 "GOMP_parallel_loop_nonmonotonic_guided",
289 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
290 ATTR_NOTHROW_LIST)
291DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end",
292 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
293DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_CANCEL, "GOMP_loop_end_cancel",
294 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
295DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait",
296 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
297DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start",
298 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
299DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end",
300 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
301DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_POST, "GOMP_doacross_post",
302 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
303DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_WAIT, "GOMP_doacross_wait",
304 BT_FN_VOID_LONG_VAR, ATTR_NOTHROW_LEAF_LIST)
305DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_POST, "GOMP_doacross_ull_post",
306 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
307DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_WAIT, "GOMP_doacross_ull_wait",
308 BT_FN_VOID_ULL_VAR, ATTR_NOTHROW_LEAF_LIST)
309DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL, "GOMP_parallel",
310 BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST)
311DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASK, "GOMP_task",
312 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
313 ATTR_NOTHROW_LIST)
314DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP, "GOMP_taskloop",
315 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
316 ATTR_NOTHROW_LIST)
317DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP_ULL, "GOMP_taskloop_ull",
318 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
319 ATTR_NOTHROW_LIST)
320DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start",
321 BT_FN_UINT_UINT, ATTR_NOTHROW_LEAF_LIST)
322DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next",
323 BT_FN_UINT, ATTR_NOTHROW_LEAF_LIST)
324DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS,
325 "GOMP_parallel_sections",
326 BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_NOTHROW_LIST)
327DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end",
328 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
329DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_CANCEL,
330 "GOMP_sections_end_cancel",
331 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
332DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT,
333 "GOMP_sections_end_nowait",
334 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
335DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start",
336 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
337DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start",
338 BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST)
339DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end",
340 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
341DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_REGISTER, "GOMP_offload_register_ver",
342 BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
343DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_UNREGISTER,
344 "GOMP_offload_unregister_ver",
345 BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
346DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET, "GOMP_target_ext",
347 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
348 ATTR_NOTHROW_LIST)
349DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_DATA, "GOMP_target_data_ext",
350 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
351DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_END_DATA, "GOMP_target_end_data",
352 BT_FN_VOID, ATTR_NOTHROW_LIST)
353DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_UPDATE, "GOMP_target_update_ext",
354 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
355 ATTR_NOTHROW_LIST)
356DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA,
357 "GOMP_target_enter_exit_data",
358 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, ATTR_NOTHROW_LIST)
359DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS, "GOMP_teams",
360 BT_FN_VOID_UINT_UINT, ATTR_NOTHROW_LIST)
361DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DECLARE, "GOACC_declare",
362 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
363