1 /* This file contains the definitions for the gimple IR structure 2 enumeration used in GCC. 3 4 Copyright (C) 2007-2022 Free Software Foundation, Inc. 5 Contributed by Aldy Hernandez <aldyh (at) redhat.com> 6 7 This file is part of GCC. 8 9 GCC is free software; you can redistribute it and/or modify it under 10 the terms of the GNU General Public License as published by the Free 11 Software Foundation; either version 3, or (at your option) any later 12 version. 13 14 GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15 WARRANTY; without even the implied warranty of MERCHANTABILITY or 16 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 17 for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with GCC; see the file COPYING3. If not see 21 <http://www.gnu.org/licenses/>. */ 22 23 /* The format of this file is 24 DEFGSSTRUCT(GSS enumeration value, structure name, has-tree-operands). 25 Each enum value should correspond with a single member of the union 26 gimple_statement_d. */ 27 28 DEFGSSTRUCT(GSS_BASE, gimple, false) 29 DEFGSSTRUCT(GSS_WITH_OPS, gimple_statement_with_ops, true) 30 DEFGSSTRUCT(GSS_WITH_MEM_OPS_BASE, gimple_statement_with_memory_ops_base, false) 31 DEFGSSTRUCT(GSS_WITH_MEM_OPS, gimple_statement_with_memory_ops, true) 32 DEFGSSTRUCT(GSS_CALL, gcall, true) 33 DEFGSSTRUCT(GSS_ASM, gasm, true) 34 DEFGSSTRUCT(GSS_BIND, gbind, false) 35 DEFGSSTRUCT(GSS_PHI, gphi, false) 36 DEFGSSTRUCT(GSS_TRY, gtry, false) 37 DEFGSSTRUCT(GSS_CATCH, gcatch, false) 38 DEFGSSTRUCT(GSS_EH_FILTER, geh_filter, false) 39 DEFGSSTRUCT(GSS_EH_MNT, geh_mnt, false) 40 DEFGSSTRUCT(GSS_EH_CTRL, gimple_statement_eh_ctrl, false) 41 DEFGSSTRUCT(GSS_EH_ELSE, geh_else, false) 42 DEFGSSTRUCT(GSS_WCE, gimple_statement_wce, false) 43 DEFGSSTRUCT(GSS_OMP, gimple_statement_omp, false) 44 DEFGSSTRUCT(GSS_OMP_CRITICAL, gomp_critical, false) 45 DEFGSSTRUCT(GSS_OMP_FOR, gomp_for, false) 46 DEFGSSTRUCT(GSS_OMP_PARALLEL_LAYOUT, gimple_statement_omp_parallel_layout, false) 47 DEFGSSTRUCT(GSS_OMP_TASK, gomp_task, false) 48 DEFGSSTRUCT(GSS_OMP_SECTIONS, gomp_sections, false) 49 DEFGSSTRUCT(GSS_OMP_SINGLE_LAYOUT, gimple_statement_omp_single_layout, false) 50 DEFGSSTRUCT(GSS_OMP_CONTINUE, gomp_continue, false) 51 DEFGSSTRUCT(GSS_OMP_ATOMIC_LOAD, gomp_atomic_load, false) 52 DEFGSSTRUCT(GSS_OMP_ATOMIC_STORE_LAYOUT, gomp_atomic_store, false) 53 DEFGSSTRUCT(GSS_TRANSACTION, gtransaction, false) 54