omp-builtins.def 16.8 KB
Newer Older
Diego Novillo committed
1
/* This file contains the definitions and documentation for the
2
   Offloading and Multi Processing builtins used in the GNU compiler.
Jakub Jelinek committed
3
   Copyright (C) 2005-2015 Free Software Foundation, Inc.
Diego Novillo committed
4 5 6 7 8

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
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
Diego Novillo committed
10 11 12 13 14 15 16 17
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
18 19
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  */
Diego Novillo committed
20 21 22

/* Before including this file, you should define a macro:

23 24
     DEF_GOACC_BUILTIN (ENUM, NAME, TYPE, ATTRS)
     DEF_GOACC_BUILTIN_COMPILER (ENUM, NAME, TYPE, ATTRS)
Diego Novillo committed
25 26 27 28
     DEF_GOMP_BUILTIN (ENUM, NAME, TYPE, ATTRS)

   See builtins.def for details.  */

29 30 31 32 33 34
/* The reason why they aren't in gcc/builtins.def is that the Fortran front end
   doesn't source those.  */

DEF_GOACC_BUILTIN (BUILT_IN_ACC_GET_DEVICE_TYPE, "acc_get_device_type",
		   BT_FN_INT, ATTR_NOTHROW_LIST)
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_START, "GOACC_data_start",
35
		   BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
36 37 38
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end",
		   BT_FN_VOID, ATTR_NOTHROW_LIST)
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 42
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_PARALLEL, "GOACC_parallel_keyed",
		   BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
43 44
		   ATTR_NOTHROW_LIST)
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_UPDATE, "GOACC_update",
45
		   BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
46 47 48 49
		   ATTR_NOTHROW_LIST)
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_WAIT, "GOACC_wait",
		   BT_FN_VOID_INT_INT_VAR,
		   ATTR_NOTHROW_LIST)
50 51
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_HOST_DATA, "GOACC_host_data",
		   BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
52 53 54 55

DEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device",
			    BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)

Diego Novillo committed
56
DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num",
57
		  BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
Diego Novillo committed
58
DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads",
59
		  BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
60 61 62 63
DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_TEAM_NUM, "omp_get_team_num",
		  BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_TEAMS, "omp_get_num_teams",
		  BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
Diego Novillo committed
64 65

DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start",
66
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
67
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end",
68
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
69
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier",
70
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
71 72
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER_CANCEL, "GOMP_barrier_cancel",
		  BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
73
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT, "GOMP_taskwait",
74
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
75 76
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKYIELD, "GOMP_taskyield",
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
77 78 79 80 81 82 83 84
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_START, "GOMP_taskgroup_start",
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_END, "GOMP_taskgroup_end",
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCEL, "GOMP_cancel",
		  BT_FN_BOOL_INT_BOOL, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCELLATION_POINT, "GOMP_cancellation_point",
		  BT_FN_BOOL_INT, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
85
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start",
86
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
87
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end",
88
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
89 90
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START,
		  "GOMP_critical_name_start",
91
		  BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
92 93
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_END,
		  "GOMP_critical_name_end",
94
		  BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
95 96 97 98 99 100
/* NOTE: Do not change the order of BUILT_IN_GOMP_LOOP_*_START.  They
   are used in index arithmetic with enum omp_clause_schedule_kind
   in omp-low.c.  */
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_START,
		  "GOMP_loop_static_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
101
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
102 103 104
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_START,
		  "GOMP_loop_dynamic_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
105
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
106 107 108
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_START,
		  "GOMP_loop_guided_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
109
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
110 111 112
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_START,
		  "GOMP_loop_runtime_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
113
		  ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
114 115 116 117 118 119 120 121
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
		  "GOMP_loop_nonmonotonic_dynamic_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
		  "GOMP_loop_nonmonotonic_guided_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
122 123 124
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START,
		  "GOMP_loop_ordered_static_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
125
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
126 127 128
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START,
		  "GOMP_loop_ordered_dynamic_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
129
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
130 131 132
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START,
		  "GOMP_loop_ordered_guided_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
133
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
134 135 136
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START,
		  "GOMP_loop_ordered_runtime_start",
		  BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
137
		  ATTR_NOTHROW_LEAF_LIST)
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
		  "GOMP_loop_doacross_static_start",
		  BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
		  "GOMP_loop_doacross_dynamic_start",
		  BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
		  "GOMP_loop_doacross_guided_start",
		  BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
		  "GOMP_loop_doacross_runtime_start",
		  BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
		  ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
154
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next",
155
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
156
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next",
157
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
158
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next",
159
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
160
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next",
161
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
162 163 164 165 166 167
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
		  "GOMP_loop_nonmonotonic_dynamic_next",
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
		  "GOMP_loop_nonmonotonic_guided_next",
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
168 169
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT,
		  "GOMP_loop_ordered_static_next",
170
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
171 172
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT,
		  "GOMP_loop_ordered_dynamic_next",
173
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
174 175
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT,
		  "GOMP_loop_ordered_guided_next",
176
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
177 178
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT,
		  "GOMP_loop_ordered_runtime_next",
179
		  BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST)
180 181 182
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_START,
		  "GOMP_loop_ull_static_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
183
		  ATTR_NOTHROW_LEAF_LIST)
184 185 186
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_START,
		  "GOMP_loop_ull_dynamic_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
187
		  ATTR_NOTHROW_LEAF_LIST)
188 189 190
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_START,
		  "GOMP_loop_ull_guided_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
191
		  ATTR_NOTHROW_LEAF_LIST)
192 193 194
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_START,
		  "GOMP_loop_ull_runtime_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
195
		  ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
196 197 198 199 200 201 202 203
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
		  "GOMP_loop_ull_nonmonotonic_dynamic_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
		  "GOMP_loop_ull_nonmonotonic_guided_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
		  ATTR_NOTHROW_LEAF_LIST)
204 205 206
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_START,
		  "GOMP_loop_ull_ordered_static_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
207
		  ATTR_NOTHROW_LEAF_LIST)
208 209 210
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START,
		  "GOMP_loop_ull_ordered_dynamic_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
211
		  ATTR_NOTHROW_LEAF_LIST)
212 213 214
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_START,
		  "GOMP_loop_ull_ordered_guided_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
215
		  ATTR_NOTHROW_LEAF_LIST)
216 217 218
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_START,
		  "GOMP_loop_ull_ordered_runtime_start",
		  BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
219
		  ATTR_NOTHROW_LEAF_LIST)
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
		  "GOMP_loop_ull_doacross_static_start",
		  BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
		  "GOMP_loop_ull_doacross_dynamic_start",
		  BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
		  "GOMP_loop_ull_doacross_guided_start",
		  BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
		  ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
		  "GOMP_loop_ull_doacross_runtime_start",
		  BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
		  ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
236 237 238 239 240 241 242 243
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_NEXT,
		  "GOMP_loop_ull_static_next",
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_NEXT,
		  "GOMP_loop_ull_dynamic_next",
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_NEXT,
		  "GOMP_loop_ull_guided_next",
244
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
245 246
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_NEXT,
		  "GOMP_loop_ull_runtime_next",
247
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
248 249
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
		  "GOMP_loop_ull_nonmonotonic_dynamic_next",
250
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
251 252
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
		  "GOMP_loop_ull_nonmonotonic_guided_next",
253
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
254 255
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT,
		  "GOMP_loop_ull_ordered_static_next",
256
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
257 258
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT,
		  "GOMP_loop_ull_ordered_dynamic_next",
259
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
260 261
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT,
		  "GOMP_loop_ull_ordered_guided_next",
262
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
263 264
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT,
		  "GOMP_loop_ull_ordered_runtime_next",
265
		  BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
266
/* NOTE: Do not change the order of BUILT_IN_GOMP_PARALLEL_LOOP_*.
Diego Novillo committed
267 268
   They are used in index arithmetic with enum omp_clause_schedule_kind
   in omp-low.c.  */
Jakub Jelinek committed
269 270 271
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC,
		  "GOMP_parallel_loop_static",
		  BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
272
		  ATTR_NOTHROW_LIST)
Jakub Jelinek committed
273 274 275
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC,
		  "GOMP_parallel_loop_dynamic",
		  BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
276
		  ATTR_NOTHROW_LIST)
Jakub Jelinek committed
277 278 279
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED,
		  "GOMP_parallel_loop_guided",
		  BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
280
		  ATTR_NOTHROW_LIST)
Jakub Jelinek committed
281 282 283
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME,
		  "GOMP_parallel_loop_runtime",
		  BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT,
284
		  ATTR_NOTHROW_LIST)
Jakub Jelinek committed
285 286 287 288 289 290 291 292
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
		  "GOMP_parallel_loop_nonmonotonic_dynamic",
		  BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
		  ATTR_NOTHROW_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED,
		  "GOMP_parallel_loop_nonmonotonic_guided",
		  BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT,
		  ATTR_NOTHROW_LIST)
Diego Novillo committed
293
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end",
294
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
295 296
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_CANCEL, "GOMP_loop_end_cancel",
		  BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
297
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait",
298
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
299
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start",
300
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
301
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end",
302
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
303 304 305 306 307 308 309 310
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_POST, "GOMP_doacross_post",
		  BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_WAIT, "GOMP_doacross_wait",
		  BT_FN_VOID_LONG_VAR, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_POST, "GOMP_doacross_ull_post",
		  BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_WAIT, "GOMP_doacross_ull_wait",
		  BT_FN_VOID_ULL_VAR, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
311 312
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL, "GOMP_parallel",
		  BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST)
313
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASK, "GOMP_task",
314 315 316 317 318 319 320
		  BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
		  ATTR_NOTHROW_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP, "GOMP_taskloop",
		  BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
		  ATTR_NOTHROW_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP_ULL, "GOMP_taskloop_ull",
		  BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
321
		  ATTR_NOTHROW_LIST)
Diego Novillo committed
322
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start",
323
		  BT_FN_UINT_UINT, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
324
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next",
325
		  BT_FN_UINT, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
326 327 328
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS,
		  "GOMP_parallel_sections",
		  BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_NOTHROW_LIST)
Diego Novillo committed
329
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end",
330
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
331 332 333
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_CANCEL,
		  "GOMP_sections_end_cancel",
		  BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
334 335
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT,
		  "GOMP_sections_end_nowait",
336
		  BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
337
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start",
338
		  BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
339
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start",
340
		  BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST)
Diego Novillo committed
341
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end",
342
		  BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
Jakub Jelinek committed
343 344
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET, "GOMP_target_ext",
		  BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT,
Jakub Jelinek committed
345
		  ATTR_NOTHROW_LIST)
Jakub Jelinek committed
346
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_DATA, "GOMP_target_data_ext",
347
		  BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)
Jakub Jelinek committed
348 349
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_END_DATA, "GOMP_target_end_data",
		  BT_FN_VOID, ATTR_NOTHROW_LIST)
Jakub Jelinek committed
350
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_UPDATE, "GOMP_target_update_ext",
351 352 353 354 355
		  BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
		  ATTR_NOTHROW_LIST)
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA,
		  "GOMP_target_enter_exit_data",
		  BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, ATTR_NOTHROW_LIST)
Jakub Jelinek committed
356 357
DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS, "GOMP_teams",
		  BT_FN_VOID_UINT_UINT, ATTR_NOTHROW_LIST)
358 359
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DECLARE, "GOACC_declare",
		   BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST)