1*38fd1498Szrj/* This file contains the definitions and documentation for the 2*38fd1498Szrj Offloading and Multi Processing builtins used in the GNU compiler. 3*38fd1498Szrj Copyright (C) 2005-2018 Free Software Foundation, Inc. 4*38fd1498Szrj 5*38fd1498SzrjThis file is part of GCC. 6*38fd1498Szrj 7*38fd1498SzrjGCC is free software; you can redistribute it and/or modify it under 8*38fd1498Szrjthe terms of the GNU General Public License as published by the Free 9*38fd1498SzrjSoftware Foundation; either version 3, or (at your option) any later 10*38fd1498Szrjversion. 11*38fd1498Szrj 12*38fd1498SzrjGCC is distributed in the hope that it will be useful, but WITHOUT ANY 13*38fd1498SzrjWARRANTY; without even the implied warranty of MERCHANTABILITY or 14*38fd1498SzrjFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15*38fd1498Szrjfor more details. 16*38fd1498Szrj 17*38fd1498SzrjYou should have received a copy of the GNU General Public License 18*38fd1498Szrjalong with GCC; see the file COPYING3. If not see 19*38fd1498Szrj<http://www.gnu.org/licenses/>. */ 20*38fd1498Szrj 21*38fd1498Szrj/* Before including this file, you should define a macro: 22*38fd1498Szrj 23*38fd1498Szrj DEF_GOACC_BUILTIN (ENUM, NAME, TYPE, ATTRS) 24*38fd1498Szrj DEF_GOACC_BUILTIN_COMPILER (ENUM, NAME, TYPE, ATTRS) 25*38fd1498Szrj DEF_GOMP_BUILTIN (ENUM, NAME, TYPE, ATTRS) 26*38fd1498Szrj 27*38fd1498Szrj See builtins.def for details. */ 28*38fd1498Szrj 29*38fd1498Szrj/* The reason why they aren't in gcc/builtins.def is that the Fortran front end 30*38fd1498Szrj doesn't source those. */ 31*38fd1498Szrj 32*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_ACC_GET_DEVICE_TYPE, "acc_get_device_type", 33*38fd1498Szrj BT_FN_INT, ATTR_NOTHROW_LIST) 34*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_START, "GOACC_data_start", 35*38fd1498Szrj BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST) 36*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end", 37*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LIST) 38*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_GOACC_ENTER_EXIT_DATA, "GOACC_enter_exit_data", 39*38fd1498Szrj BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, 40*38fd1498Szrj ATTR_NOTHROW_LIST) 41*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_GOACC_PARALLEL, "GOACC_parallel_keyed", 42*38fd1498Szrj BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR, 43*38fd1498Szrj ATTR_NOTHROW_LIST) 44*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_GOACC_UPDATE, "GOACC_update", 45*38fd1498Szrj BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, 46*38fd1498Szrj ATTR_NOTHROW_LIST) 47*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_GOACC_WAIT, "GOACC_wait", 48*38fd1498Szrj BT_FN_VOID_INT_INT_VAR, 49*38fd1498Szrj ATTR_NOTHROW_LIST) 50*38fd1498Szrj 51*38fd1498SzrjDEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device", 52*38fd1498Szrj BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 53*38fd1498Szrj 54*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num", 55*38fd1498Szrj BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 56*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads", 57*38fd1498Szrj BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 58*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_TEAM_NUM, "omp_get_team_num", 59*38fd1498Szrj BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 60*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_TEAMS, "omp_get_num_teams", 61*38fd1498Szrj BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 62*38fd1498Szrj 63*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start", 64*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 65*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end", 66*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 67*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier", 68*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 69*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER_CANCEL, "GOMP_barrier_cancel", 70*38fd1498Szrj BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 71*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT, "GOMP_taskwait", 72*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 73*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKYIELD, "GOMP_taskyield", 74*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 75*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_START, "GOMP_taskgroup_start", 76*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 77*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_END, "GOMP_taskgroup_end", 78*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 79*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCEL, "GOMP_cancel", 80*38fd1498Szrj BT_FN_BOOL_INT_BOOL, ATTR_NOTHROW_LEAF_LIST) 81*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCELLATION_POINT, "GOMP_cancellation_point", 82*38fd1498Szrj BT_FN_BOOL_INT, ATTR_NOTHROW_LEAF_LIST) 83*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start", 84*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 85*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end", 86*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 87*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START, 88*38fd1498Szrj "GOMP_critical_name_start", 89*38fd1498Szrj BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST) 90*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_END, 91*38fd1498Szrj "GOMP_critical_name_end", 92*38fd1498Szrj BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST) 93*38fd1498Szrj/* NOTE: Do not change the order of BUILT_IN_GOMP_LOOP_*_START. They 94*38fd1498Szrj are used in index arithmetic with enum omp_clause_schedule_kind 95*38fd1498Szrj in omp-low.c. */ 96*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_START, 97*38fd1498Szrj "GOMP_loop_static_start", 98*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 99*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 100*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_START, 101*38fd1498Szrj "GOMP_loop_dynamic_start", 102*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 103*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 104*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_START, 105*38fd1498Szrj "GOMP_loop_guided_start", 106*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 107*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 108*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_START, 109*38fd1498Szrj "GOMP_loop_runtime_start", 110*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 111*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 112*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START, 113*38fd1498Szrj "GOMP_loop_nonmonotonic_dynamic_start", 114*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 115*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 116*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START, 117*38fd1498Szrj "GOMP_loop_nonmonotonic_guided_start", 118*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 119*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 120*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, 121*38fd1498Szrj "GOMP_loop_ordered_static_start", 122*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 123*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 124*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, 125*38fd1498Szrj "GOMP_loop_ordered_dynamic_start", 126*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 127*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 128*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, 129*38fd1498Szrj "GOMP_loop_ordered_guided_start", 130*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 131*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 132*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, 133*38fd1498Szrj "GOMP_loop_ordered_runtime_start", 134*38fd1498Szrj BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 135*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 136*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START, 137*38fd1498Szrj "GOMP_loop_doacross_static_start", 138*38fd1498Szrj BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, 139*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 140*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START, 141*38fd1498Szrj "GOMP_loop_doacross_dynamic_start", 142*38fd1498Szrj BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, 143*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 144*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START, 145*38fd1498Szrj "GOMP_loop_doacross_guided_start", 146*38fd1498Szrj BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, 147*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 148*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START, 149*38fd1498Szrj "GOMP_loop_doacross_runtime_start", 150*38fd1498Szrj BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, 151*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 152*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next", 153*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 154*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next", 155*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 156*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next", 157*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 158*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next", 159*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 160*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT, 161*38fd1498Szrj "GOMP_loop_nonmonotonic_dynamic_next", 162*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 163*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT, 164*38fd1498Szrj "GOMP_loop_nonmonotonic_guided_next", 165*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 166*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, 167*38fd1498Szrj "GOMP_loop_ordered_static_next", 168*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 169*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, 170*38fd1498Szrj "GOMP_loop_ordered_dynamic_next", 171*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 172*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, 173*38fd1498Szrj "GOMP_loop_ordered_guided_next", 174*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 175*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, 176*38fd1498Szrj "GOMP_loop_ordered_runtime_next", 177*38fd1498Szrj BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 178*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_START, 179*38fd1498Szrj "GOMP_loop_ull_static_start", 180*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 181*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 182*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_START, 183*38fd1498Szrj "GOMP_loop_ull_dynamic_start", 184*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 185*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 186*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_START, 187*38fd1498Szrj "GOMP_loop_ull_guided_start", 188*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 189*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 190*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_START, 191*38fd1498Szrj "GOMP_loop_ull_runtime_start", 192*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, 193*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 194*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START, 195*38fd1498Szrj "GOMP_loop_ull_nonmonotonic_dynamic_start", 196*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 197*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 198*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START, 199*38fd1498Szrj "GOMP_loop_ull_nonmonotonic_guided_start", 200*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 201*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 202*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_START, 203*38fd1498Szrj "GOMP_loop_ull_ordered_static_start", 204*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 205*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 206*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START, 207*38fd1498Szrj "GOMP_loop_ull_ordered_dynamic_start", 208*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 209*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 210*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_START, 211*38fd1498Szrj "GOMP_loop_ull_ordered_guided_start", 212*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 213*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 214*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_START, 215*38fd1498Szrj "GOMP_loop_ull_ordered_runtime_start", 216*38fd1498Szrj BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, 217*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 218*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START, 219*38fd1498Szrj "GOMP_loop_ull_doacross_static_start", 220*38fd1498Szrj BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, 221*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 222*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START, 223*38fd1498Szrj "GOMP_loop_ull_doacross_dynamic_start", 224*38fd1498Szrj BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, 225*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 226*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START, 227*38fd1498Szrj "GOMP_loop_ull_doacross_guided_start", 228*38fd1498Szrj BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, 229*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 230*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START, 231*38fd1498Szrj "GOMP_loop_ull_doacross_runtime_start", 232*38fd1498Szrj BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, 233*38fd1498Szrj ATTR_NOTHROW_LEAF_LIST) 234*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_NEXT, 235*38fd1498Szrj "GOMP_loop_ull_static_next", 236*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 237*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_NEXT, 238*38fd1498Szrj "GOMP_loop_ull_dynamic_next", 239*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 240*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_NEXT, 241*38fd1498Szrj "GOMP_loop_ull_guided_next", 242*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 243*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_NEXT, 244*38fd1498Szrj "GOMP_loop_ull_runtime_next", 245*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 246*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT, 247*38fd1498Szrj "GOMP_loop_ull_nonmonotonic_dynamic_next", 248*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 249*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT, 250*38fd1498Szrj "GOMP_loop_ull_nonmonotonic_guided_next", 251*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 252*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT, 253*38fd1498Szrj "GOMP_loop_ull_ordered_static_next", 254*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 255*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT, 256*38fd1498Szrj "GOMP_loop_ull_ordered_dynamic_next", 257*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 258*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT, 259*38fd1498Szrj "GOMP_loop_ull_ordered_guided_next", 260*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 261*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT, 262*38fd1498Szrj "GOMP_loop_ull_ordered_runtime_next", 263*38fd1498Szrj BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 264*38fd1498Szrj/* NOTE: Do not change the order of BUILT_IN_GOMP_PARALLEL_LOOP_*. 265*38fd1498Szrj They are used in index arithmetic with enum omp_clause_schedule_kind 266*38fd1498Szrj in omp-low.c. */ 267*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC, 268*38fd1498Szrj "GOMP_parallel_loop_static", 269*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 270*38fd1498Szrj ATTR_NOTHROW_LIST) 271*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC, 272*38fd1498Szrj "GOMP_parallel_loop_dynamic", 273*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 274*38fd1498Szrj ATTR_NOTHROW_LIST) 275*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED, 276*38fd1498Szrj "GOMP_parallel_loop_guided", 277*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 278*38fd1498Szrj ATTR_NOTHROW_LIST) 279*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME, 280*38fd1498Szrj "GOMP_parallel_loop_runtime", 281*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT, 282*38fd1498Szrj ATTR_NOTHROW_LIST) 283*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, 284*38fd1498Szrj "GOMP_parallel_loop_nonmonotonic_dynamic", 285*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 286*38fd1498Szrj ATTR_NOTHROW_LIST) 287*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED, 288*38fd1498Szrj "GOMP_parallel_loop_nonmonotonic_guided", 289*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 290*38fd1498Szrj ATTR_NOTHROW_LIST) 291*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end", 292*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 293*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_CANCEL, "GOMP_loop_end_cancel", 294*38fd1498Szrj BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 295*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait", 296*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 297*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start", 298*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 299*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end", 300*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 301*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_POST, "GOMP_doacross_post", 302*38fd1498Szrj BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 303*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_WAIT, "GOMP_doacross_wait", 304*38fd1498Szrj BT_FN_VOID_LONG_VAR, ATTR_NOTHROW_LEAF_LIST) 305*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_POST, "GOMP_doacross_ull_post", 306*38fd1498Szrj BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 307*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_WAIT, "GOMP_doacross_ull_wait", 308*38fd1498Szrj BT_FN_VOID_ULL_VAR, ATTR_NOTHROW_LEAF_LIST) 309*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL, "GOMP_parallel", 310*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST) 311*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASK, "GOMP_task", 312*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT, 313*38fd1498Szrj ATTR_NOTHROW_LIST) 314*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP, "GOMP_taskloop", 315*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, 316*38fd1498Szrj ATTR_NOTHROW_LIST) 317*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP_ULL, "GOMP_taskloop_ull", 318*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, 319*38fd1498Szrj ATTR_NOTHROW_LIST) 320*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start", 321*38fd1498Szrj BT_FN_UINT_UINT, ATTR_NOTHROW_LEAF_LIST) 322*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next", 323*38fd1498Szrj BT_FN_UINT, ATTR_NOTHROW_LEAF_LIST) 324*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS, 325*38fd1498Szrj "GOMP_parallel_sections", 326*38fd1498Szrj BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_NOTHROW_LIST) 327*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end", 328*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 329*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_CANCEL, 330*38fd1498Szrj "GOMP_sections_end_cancel", 331*38fd1498Szrj BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 332*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT, 333*38fd1498Szrj "GOMP_sections_end_nowait", 334*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 335*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start", 336*38fd1498Szrj BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 337*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start", 338*38fd1498Szrj BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST) 339*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end", 340*38fd1498Szrj BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 341*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_REGISTER, "GOMP_offload_register_ver", 342*38fd1498Szrj BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST) 343*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_UNREGISTER, 344*38fd1498Szrj "GOMP_offload_unregister_ver", 345*38fd1498Szrj BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST) 346*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET, "GOMP_target_ext", 347*38fd1498Szrj BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR, 348*38fd1498Szrj ATTR_NOTHROW_LIST) 349*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_DATA, "GOMP_target_data_ext", 350*38fd1498Szrj BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST) 351*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_END_DATA, "GOMP_target_end_data", 352*38fd1498Szrj BT_FN_VOID, ATTR_NOTHROW_LIST) 353*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_UPDATE, "GOMP_target_update_ext", 354*38fd1498Szrj BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, 355*38fd1498Szrj ATTR_NOTHROW_LIST) 356*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, 357*38fd1498Szrj "GOMP_target_enter_exit_data", 358*38fd1498Szrj BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, ATTR_NOTHROW_LIST) 359*38fd1498SzrjDEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS, "GOMP_teams", 360*38fd1498Szrj BT_FN_VOID_UINT_UINT, ATTR_NOTHROW_LIST) 361*38fd1498SzrjDEF_GOACC_BUILTIN (BUILT_IN_GOACC_DECLARE, "GOACC_declare", 362*38fd1498Szrj BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST) 363