* tree.c (array_at_struct_end_p): Look through MEM_REF.
[official-gcc.git] / gcc / omp-builtins.def
blobea012df7b6cab426c7dd3228237cfe38d50272ed
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-2016 Free Software Foundation, Inc.
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 3, or (at your option) any later
10 version.
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
21 /* Before including this file, you should define a macro:
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)
27 See builtins.def for details. */
29 /* The reason why they aren't in gcc/builtins.def is that the Fortran front end
30 doesn't source those. */
32 DEF_GOACC_BUILTIN (BUILT_IN_ACC_GET_DEVICE_TYPE, "acc_get_device_type",
33 BT_FN_INT, ATTR_NOTHROW_LIST)
34 DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_START, "GOACC_data_start",
35 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
36 DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end",
37 BT_FN_VOID, ATTR_NOTHROW_LIST)
38 DEF_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)
41 DEF_GOACC_BUILTIN (BUILT_IN_GOACC_PARALLEL, "GOACC_parallel_keyed",
42 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
43 ATTR_NOTHROW_LIST)
44 DEF_GOACC_BUILTIN (BUILT_IN_GOACC_UPDATE, "GOACC_update",
45 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
46 ATTR_NOTHROW_LIST)
47 DEF_GOACC_BUILTIN (BUILT_IN_GOACC_WAIT, "GOACC_wait",
48 BT_FN_VOID_INT_INT_VAR,
49 ATTR_NOTHROW_LIST)
51 DEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device",
52 BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
54 DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num",
55 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
56 DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads",
57 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
58 DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_TEAM_NUM, "omp_get_team_num",
59 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
60 DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_TEAMS, "omp_get_num_teams",
61 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
63 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start",
64 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
65 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end",
66 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
67 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier",
68 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
69 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER_CANCEL, "GOMP_barrier_cancel",
70 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
71 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT, "GOMP_taskwait",
72 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
73 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKYIELD, "GOMP_taskyield",
74 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
75 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_START, "GOMP_taskgroup_start",
76 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
77 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_END, "GOMP_taskgroup_end",
78 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
79 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCEL, "GOMP_cancel",
80 BT_FN_BOOL_INT_BOOL, ATTR_NOTHROW_LEAF_LIST)
81 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCELLATION_POINT, "GOMP_cancellation_point",
82 BT_FN_BOOL_INT, ATTR_NOTHROW_LEAF_LIST)
83 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start",
84 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
85 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end",
86 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
87 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START,
88 "GOMP_critical_name_start",
89 BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST)
90 DEF_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. */
96 DEF_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)
100 DEF_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)
104 DEF_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)
108 DEF_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)
112 DEF_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)
116 DEF_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)
120 DEF_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)
124 DEF_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)
128 DEF_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)
132 DEF_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)
136 DEF_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)
140 DEF_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)
144 DEF_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)
148 DEF_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)
152 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next",
153 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
154 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next",
155 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
156 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next",
157 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
158 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next",
159 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
160 DEF_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)
163 DEF_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)
166 DEF_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)
169 DEF_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)
172 DEF_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)
175 DEF_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)
178 DEF_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)
182 DEF_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)
186 DEF_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)
190 DEF_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)
194 DEF_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)
198 DEF_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)
202 DEF_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)
206 DEF_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)
210 DEF_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)
214 DEF_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)
218 DEF_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)
222 DEF_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)
226 DEF_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)
230 DEF_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)
234 DEF_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)
237 DEF_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)
240 DEF_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)
243 DEF_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)
246 DEF_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)
249 DEF_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)
252 DEF_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)
255 DEF_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)
258 DEF_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)
261 DEF_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. */
267 DEF_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)
271 DEF_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)
275 DEF_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)
279 DEF_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)
283 DEF_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)
287 DEF_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)
291 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end",
292 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
293 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_CANCEL, "GOMP_loop_end_cancel",
294 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
295 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait",
296 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
297 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start",
298 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
299 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end",
300 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
301 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_POST, "GOMP_doacross_post",
302 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
303 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_WAIT, "GOMP_doacross_wait",
304 BT_FN_VOID_LONG_VAR, ATTR_NOTHROW_LEAF_LIST)
305 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_POST, "GOMP_doacross_ull_post",
306 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
307 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_WAIT, "GOMP_doacross_ull_wait",
308 BT_FN_VOID_ULL_VAR, ATTR_NOTHROW_LEAF_LIST)
309 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL, "GOMP_parallel",
310 BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST)
311 DEF_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)
314 DEF_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)
317 DEF_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)
320 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start",
321 BT_FN_UINT_UINT, ATTR_NOTHROW_LEAF_LIST)
322 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next",
323 BT_FN_UINT, ATTR_NOTHROW_LEAF_LIST)
324 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS,
325 "GOMP_parallel_sections",
326 BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_NOTHROW_LIST)
327 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end",
328 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
329 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_CANCEL,
330 "GOMP_sections_end_cancel",
331 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
332 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT,
333 "GOMP_sections_end_nowait",
334 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
335 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start",
336 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
337 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start",
338 BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST)
339 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end",
340 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
341 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_REGISTER, "GOMP_offload_register_ver",
342 BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
343 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_UNREGISTER,
344 "GOMP_offload_unregister_ver",
345 BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
346 DEF_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)
349 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_DATA, "GOMP_target_data_ext",
350 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
351 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_END_DATA, "GOMP_target_end_data",
352 BT_FN_VOID, ATTR_NOTHROW_LIST)
353 DEF_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)
356 DEF_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)
359 DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS, "GOMP_teams",
360 BT_FN_VOID_UINT_UINT, ATTR_NOTHROW_LIST)
361 DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DECLARE, "GOACC_declare",
362 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)