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 | |
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 | |
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 | |
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) |
50 | |
51 | DEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device" , |
52 | BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
53 | |
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) |
62 | |
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) |
363 | |