1 /* This file contains the definitions for the gimple IR structure
2 enumeration used in GCC.
4 Copyright (C
) 2007-2024 Free Software Foundation
, Inc.
5 Contributed by Aldy Hernandez
<aldyh@redhat.com
>
7 This file is part of GCC.
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
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
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
/>.
*/
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.
*/
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_ASSUME
, gimple_statement_assume
, false
)
54 DEFGSSTRUCT(GSS_TRANSACTION
, gtransaction
, false
)