Line data Source code
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-2026 Free Software Foundation, Inc.
4 :
5 : This file is part of GCC.
6 :
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.
11 :
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.
16 :
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/>. */
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 : DEF_GOMP_BUILTIN_COMPILER (ENUM, NAME, TYPE, ATTRS)
27 :
28 : See builtins.def for details. */
29 :
30 : /* The reason why they aren't in gcc/builtins.def is that the Fortran front end
31 : doesn't source those. */
32 :
33 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_START, "GOACC_data_start",
34 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
35 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end",
36 : BT_FN_VOID, ATTR_NOTHROW_LIST)
37 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_ENTER_DATA, "GOACC_enter_data",
38 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
39 : ATTR_NOTHROW_LIST)
40 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_EXIT_DATA, "GOACC_exit_data",
41 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
42 : ATTR_NOTHROW_LIST)
43 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_PARALLEL, "GOACC_parallel_keyed",
44 : BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
45 : ATTR_NOTHROW_LIST)
46 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_UPDATE, "GOACC_update",
47 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
48 : ATTR_NOTHROW_LIST)
49 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_WAIT, "GOACC_wait",
50 : BT_FN_VOID_INT_INT_VAR,
51 : ATTR_NOTHROW_LIST)
52 231342 : DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DECLARE, "GOACC_declare",
53 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
54 :
55 231342 : DEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device",
56 : BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
57 :
58 262631 : DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_PARLEVEL_ID, "goacc_parlevel_id",
59 : BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST)
60 262631 : DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_PARLEVEL_SIZE, "goacc_parlevel_size",
61 : BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST)
62 :
63 262631 : DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_BARRIER, "GOACC_barrier",
64 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
65 262631 : DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_SINGLE_START, "GOACC_single_start",
66 : BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
67 262631 : DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_SINGLE_COPY_START, "GOACC_single_copy_start",
68 : BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST)
69 262631 : DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_SINGLE_COPY_END, "GOACC_single_copy_end",
70 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
71 :
72 261210 : DEF_GOMP_BUILTIN_COMPILER (BUILT_IN_OMP_IS_INITIAL_DEVICE,
73 : "omp_is_initial_device", BT_FN_INT,
74 : ATTR_CONST_NOTHROW_LIST)
75 261210 : DEF_GOMP_BUILTIN_COMPILER (BUILT_IN_OMP_GET_INITIAL_DEVICE,
76 : "omp_get_initial_device", BT_FN_INT,
77 : ATTR_PURE_NOTHROW_LIST)
78 261210 : DEF_GOMP_BUILTIN_COMPILER (BUILT_IN_OMP_GET_NUM_DEVICES, "omp_get_num_devices",
79 : BT_FN_INT, ATTR_PURE_NOTHROW_LIST)
80 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num",
81 : BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
82 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads",
83 : BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
84 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_TEAM_NUM, "omp_get_team_num",
85 : BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
86 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_TEAMS, "omp_get_num_teams",
87 : BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
88 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_MAPPED_PTR, "omp_get_mapped_ptr",
89 : BT_FN_PTR_CONST_PTR_INT, ATTR_NOTHROW_LEAF_LIST)
90 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_DEFAULT_DEVICE, "omp_get_default_device",
91 : BT_FN_INT, ATTR_NOTHROW_LEAF_LIST)
92 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_SET_DEFAULT_DEVICE, "omp_set_default_device",
93 : BT_FN_INT, ATTR_NOTHROW_LEAF_LIST)
94 261210 : DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_INTEROP_INT, "omp_get_interop_int",
95 : BT_FN_PTRMODE_PTR_INT_PTR, ATTR_NOTHROW_LEAF_LIST)
96 :
97 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start",
98 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
99 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end",
100 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
101 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier",
102 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
103 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER_CANCEL, "GOMP_barrier_cancel",
104 : BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
105 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT, "GOMP_taskwait",
106 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
107 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT_DEPEND, "GOMP_taskwait_depend",
108 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
109 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT,
110 : "GOMP_taskwait_depend_nowait",
111 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
112 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKYIELD, "GOMP_taskyield",
113 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
114 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_START, "GOMP_taskgroup_start",
115 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
116 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_END, "GOMP_taskgroup_end",
117 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
118 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCEL, "GOMP_cancel",
119 : BT_FN_BOOL_INT_BOOL, ATTR_NOTHROW_LEAF_LIST)
120 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCELLATION_POINT, "GOMP_cancellation_point",
121 : BT_FN_BOOL_INT, ATTR_NOTHROW_LEAF_LIST)
122 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start",
123 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
124 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end",
125 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
126 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START,
127 : "GOMP_critical_name_start",
128 : BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST)
129 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_END,
130 : "GOMP_critical_name_end",
131 : BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST)
132 : /* NOTE: Do not change the order of BUILT_IN_GOMP_LOOP_*_START. They
133 : are used in index arithmetic with enum omp_clause_schedule_kind
134 : in omp-low.cc. */
135 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_START,
136 : "GOMP_loop_static_start",
137 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
138 : ATTR_NOTHROW_LEAF_LIST)
139 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_START,
140 : "GOMP_loop_dynamic_start",
141 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
142 : ATTR_NOTHROW_LEAF_LIST)
143 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_START,
144 : "GOMP_loop_guided_start",
145 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
146 : ATTR_NOTHROW_LEAF_LIST)
147 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_START,
148 : "GOMP_loop_runtime_start",
149 : BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
150 : ATTR_NOTHROW_LEAF_LIST)
151 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
152 : "GOMP_loop_nonmonotonic_dynamic_start",
153 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
154 : ATTR_NOTHROW_LEAF_LIST)
155 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
156 : "GOMP_loop_nonmonotonic_guided_start",
157 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
158 : ATTR_NOTHROW_LEAF_LIST)
159 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START,
160 : "GOMP_loop_nonmonotonic_runtime_start",
161 : BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
162 : ATTR_NOTHROW_LEAF_LIST)
163 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START,
164 : "GOMP_loop_maybe_nonmonotonic_runtime_start",
165 : BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
166 : ATTR_NOTHROW_LEAF_LIST)
167 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
168 : "GOMP_loop_ordered_static_start",
169 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
170 : ATTR_NOTHROW_LEAF_LIST)
171 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
172 : "GOMP_loop_ordered_dynamic_start",
173 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
174 : ATTR_NOTHROW_LEAF_LIST)
175 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
176 : "GOMP_loop_ordered_guided_start",
177 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
178 : ATTR_NOTHROW_LEAF_LIST)
179 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
180 : "GOMP_loop_ordered_runtime_start",
181 : BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
182 : ATTR_NOTHROW_LEAF_LIST)
183 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
184 : "GOMP_loop_doacross_static_start",
185 : BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
186 : ATTR_NOTHROW_LEAF_LIST)
187 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
188 : "GOMP_loop_doacross_dynamic_start",
189 : BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
190 : ATTR_NOTHROW_LEAF_LIST)
191 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
192 : "GOMP_loop_doacross_guided_start",
193 : BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
194 : ATTR_NOTHROW_LEAF_LIST)
195 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
196 : "GOMP_loop_doacross_runtime_start",
197 : BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
198 : ATTR_NOTHROW_LEAF_LIST)
199 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_START,
200 : "GOMP_loop_start",
201 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
202 : ATTR_NOTHROW_LEAF_LIST)
203 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_START,
204 : "GOMP_loop_ordered_start",
205 : BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
206 : ATTR_NOTHROW_LEAF_LIST)
207 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_START,
208 : "GOMP_loop_doacross_start",
209 : BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR,
210 : ATTR_NOTHROW_LEAF_LIST)
211 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next",
212 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
213 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next",
214 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
215 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next",
216 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
217 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next",
218 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
219 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
220 : "GOMP_loop_nonmonotonic_dynamic_next",
221 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
222 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
223 : "GOMP_loop_nonmonotonic_guided_next",
224 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
225 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_NEXT,
226 : "GOMP_loop_nonmonotonic_runtime_next",
227 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
228 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_NEXT,
229 : "GOMP_loop_maybe_nonmonotonic_runtime_next",
230 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
231 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
232 : "GOMP_loop_ordered_static_next",
233 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
234 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
235 : "GOMP_loop_ordered_dynamic_next",
236 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
237 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
238 : "GOMP_loop_ordered_guided_next",
239 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
240 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
241 : "GOMP_loop_ordered_runtime_next",
242 : BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
243 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_START,
244 : "GOMP_loop_ull_static_start",
245 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
246 : ATTR_NOTHROW_LEAF_LIST)
247 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_START,
248 : "GOMP_loop_ull_dynamic_start",
249 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
250 : ATTR_NOTHROW_LEAF_LIST)
251 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_START,
252 : "GOMP_loop_ull_guided_start",
253 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
254 : ATTR_NOTHROW_LEAF_LIST)
255 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_START,
256 : "GOMP_loop_ull_runtime_start",
257 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
258 : ATTR_NOTHROW_LEAF_LIST)
259 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
260 : "GOMP_loop_ull_nonmonotonic_dynamic_start",
261 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
262 : ATTR_NOTHROW_LEAF_LIST)
263 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
264 : "GOMP_loop_ull_nonmonotonic_guided_start",
265 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
266 : ATTR_NOTHROW_LEAF_LIST)
267 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START,
268 : "GOMP_loop_ull_nonmonotonic_runtime_start",
269 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
270 : ATTR_NOTHROW_LEAF_LIST)
271 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START,
272 : "GOMP_loop_ull_maybe_nonmonotonic_runtime_start",
273 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
274 : ATTR_NOTHROW_LEAF_LIST)
275 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_START,
276 : "GOMP_loop_ull_ordered_static_start",
277 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
278 : ATTR_NOTHROW_LEAF_LIST)
279 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START,
280 : "GOMP_loop_ull_ordered_dynamic_start",
281 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
282 : ATTR_NOTHROW_LEAF_LIST)
283 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_START,
284 : "GOMP_loop_ull_ordered_guided_start",
285 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
286 : ATTR_NOTHROW_LEAF_LIST)
287 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_START,
288 : "GOMP_loop_ull_ordered_runtime_start",
289 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
290 : ATTR_NOTHROW_LEAF_LIST)
291 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
292 : "GOMP_loop_ull_doacross_static_start",
293 : BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
294 : ATTR_NOTHROW_LEAF_LIST)
295 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
296 : "GOMP_loop_ull_doacross_dynamic_start",
297 : BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
298 : ATTR_NOTHROW_LEAF_LIST)
299 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
300 : "GOMP_loop_ull_doacross_guided_start",
301 : BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
302 : ATTR_NOTHROW_LEAF_LIST)
303 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
304 : "GOMP_loop_ull_doacross_runtime_start",
305 : BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
306 : ATTR_NOTHROW_LEAF_LIST)
307 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_START,
308 : "GOMP_loop_ull_start",
309 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
310 : ATTR_NOTHROW_LEAF_LIST)
311 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_START,
312 : "GOMP_loop_ull_ordered_start",
313 : BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
314 : ATTR_NOTHROW_LEAF_LIST)
315 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_START,
316 : "GOMP_loop_ull_doacross_start",
317 : BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR,
318 : ATTR_NOTHROW_LEAF_LIST)
319 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_NEXT,
320 : "GOMP_loop_ull_static_next",
321 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
322 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_NEXT,
323 : "GOMP_loop_ull_dynamic_next",
324 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
325 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_NEXT,
326 : "GOMP_loop_ull_guided_next",
327 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
328 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_NEXT,
329 : "GOMP_loop_ull_runtime_next",
330 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
331 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
332 : "GOMP_loop_ull_nonmonotonic_dynamic_next",
333 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
334 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
335 : "GOMP_loop_ull_nonmonotonic_guided_next",
336 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
337 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_NEXT,
338 : "GOMP_loop_ull_nonmonotonic_runtime_next",
339 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
340 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_NEXT,
341 : "GOMP_loop_ull_maybe_nonmonotonic_runtime_next",
342 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
343 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT,
344 : "GOMP_loop_ull_ordered_static_next",
345 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
346 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT,
347 : "GOMP_loop_ull_ordered_dynamic_next",
348 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
349 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT,
350 : "GOMP_loop_ull_ordered_guided_next",
351 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
352 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT,
353 : "GOMP_loop_ull_ordered_runtime_next",
354 : BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
355 : /* NOTE: Do not change the order of BUILT_IN_GOMP_PARALLEL_LOOP_*.
356 : They are used in index arithmetic with enum omp_clause_schedule_kind
357 : in omp-low.cc. */
358 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC,
359 : "GOMP_parallel_loop_static",
360 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
361 : ATTR_CALLBACK_GOMP_LIST)
362 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC,
363 : "GOMP_parallel_loop_dynamic",
364 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
365 : ATTR_CALLBACK_GOMP_LIST)
366 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED,
367 : "GOMP_parallel_loop_guided",
368 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
369 : ATTR_CALLBACK_GOMP_LIST)
370 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME,
371 : "GOMP_parallel_loop_runtime",
372 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
373 : ATTR_CALLBACK_GOMP_LIST)
374 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
375 : "GOMP_parallel_loop_nonmonotonic_dynamic",
376 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
377 : ATTR_CALLBACK_GOMP_LIST)
378 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED,
379 : "GOMP_parallel_loop_nonmonotonic_guided",
380 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
381 : ATTR_CALLBACK_GOMP_LIST)
382 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME,
383 : "GOMP_parallel_loop_nonmonotonic_runtime",
384 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
385 : ATTR_CALLBACK_GOMP_LIST)
386 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME,
387 : "GOMP_parallel_loop_maybe_nonmonotonic_runtime",
388 : BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
389 : ATTR_CALLBACK_GOMP_LIST)
390 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end",
391 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
392 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_CANCEL, "GOMP_loop_end_cancel",
393 : BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
394 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait",
395 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
396 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start",
397 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
398 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end",
399 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
400 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_POST, "GOMP_doacross_post",
401 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
402 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_WAIT, "GOMP_doacross_wait",
403 : BT_FN_VOID_LONG_VAR, ATTR_NOTHROW_LEAF_LIST)
404 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_POST, "GOMP_doacross_ull_post",
405 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
406 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_WAIT, "GOMP_doacross_ull_wait",
407 : BT_FN_VOID_ULL_VAR, ATTR_NOTHROW_LEAF_LIST)
408 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_INTEROP, "GOMP_interop",
409 : BT_FN_VOID_INT_INT_PTR_PTR_PTR_INT_PTR_INT_PTR_UINT_PTR,
410 : ATTR_NOTHROW_LIST)
411 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL, "GOMP_parallel",
412 : BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_CALLBACK_GOMP_LIST)
413 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_REDUCTIONS,
414 : "GOMP_parallel_reductions",
415 : BT_FN_UINT_OMPFN_PTR_UINT_UINT, ATTR_CALLBACK_GOMP_LIST)
416 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASK, "GOMP_task",
417 : BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR,
418 : ATTR_NOTHROW_LIST)
419 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP, "GOMP_taskloop",
420 : BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
421 : ATTR_NOTHROW_LIST)
422 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP_ULL, "GOMP_taskloop_ull",
423 : BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
424 : ATTR_NOTHROW_LIST)
425 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start",
426 : BT_FN_UINT_UINT, ATTR_NOTHROW_LEAF_LIST)
427 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS2_START, "GOMP_sections2_start",
428 : BT_FN_UINT_UINT_PTR_PTR, ATTR_NOTHROW_LEAF_LIST)
429 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next",
430 : BT_FN_UINT, ATTR_NOTHROW_LEAF_LIST)
431 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS,
432 : "GOMP_parallel_sections",
433 : BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_CALLBACK_GOMP_LIST)
434 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end",
435 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
436 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_CANCEL,
437 : "GOMP_sections_end_cancel",
438 : BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
439 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT,
440 : "GOMP_sections_end_nowait",
441 : BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
442 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start",
443 : BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
444 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start",
445 : BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST)
446 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end",
447 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
448 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SCOPE_START, "GOMP_scope_start",
449 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
450 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_REGISTER, "GOMP_offload_register_ver",
451 : BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
452 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_UNREGISTER,
453 : "GOMP_offload_unregister_ver",
454 : BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST)
455 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET, "GOMP_target_ext",
456 : BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR,
457 : ATTR_NOTHROW_LIST)
458 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_DATA, "GOMP_target_data_ext",
459 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
460 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_END_DATA, "GOMP_target_end_data",
461 : BT_FN_VOID, ATTR_NOTHROW_LIST)
462 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_UPDATE, "GOMP_target_update_ext",
463 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
464 : ATTR_NOTHROW_LIST)
465 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA,
466 : "GOMP_target_enter_exit_data",
467 : BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, ATTR_NOTHROW_LIST)
468 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_MAP_INDIRECT_PTR,
469 : "GOMP_target_map_indirect_ptr",
470 : BT_FN_PTR_PTR, ATTR_NOTHROW_LIST)
471 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS4, "GOMP_teams4",
472 : BT_FN_BOOL_UINT_UINT_UINT_BOOL, ATTR_NOTHROW_LIST)
473 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS_REG, "GOMP_teams_reg",
474 : BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_CALLBACK_GOMP_LIST)
475 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_REDUCTION_REGISTER,
476 : "GOMP_taskgroup_reduction_register",
477 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
478 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_REDUCTION_UNREGISTER,
479 : "GOMP_taskgroup_reduction_unregister",
480 : BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
481 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASK_REDUCTION_REMAP,
482 : "GOMP_task_reduction_remap",
483 : BT_FN_VOID_SIZE_SIZE_PTR, ATTR_NOTHROW_LEAF_LIST)
484 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_WORKSHARE_TASK_REDUCTION_UNREGISTER,
485 : "GOMP_workshare_task_reduction_unregister",
486 : BT_FN_VOID_BOOL, ATTR_NOTHROW_LEAF_LIST)
487 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ALLOC,
488 : "GOMP_alloc", BT_FN_PTR_SIZE_SIZE_PTRMODE,
489 : ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST)
490 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_REALLOC,
491 : "omp_realloc", BT_FN_PTR_PTR_SIZE_PTRMODE_PTRMODE,
492 : ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST)
493 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_FREE,
494 : "GOMP_free", BT_FN_VOID_PTR_PTRMODE, ATTR_NOTHROW_LEAF_LIST)
495 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_WARNING, "GOMP_warning",
496 : BT_FN_VOID_CONST_PTR_SIZE, ATTR_NOTHROW_LEAF_LIST)
497 261210 : DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ERROR, "GOMP_error",
498 : BT_FN_VOID_CONST_PTR_SIZE, ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST)
|