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