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