comparison gcc/tree-core.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Core data structures for the 'tree' type. 1 /* Core data structures for the 'tree' type.
2 Copyright (C) 1989-2017 Free Software Foundation, Inc. 2 Copyright (C) 1989-2018 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify it under 6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free 7 the terms of the GNU General Public License as published by the Free
163 /* Codes that identify the various built in functions 163 /* Codes that identify the various built in functions
164 so that expand_call can identify them quickly. */ 164 so that expand_call can identify them quickly. */
165 #define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) ENUM, 165 #define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) ENUM,
166 enum built_in_function { 166 enum built_in_function {
167 #include "builtins.def" 167 #include "builtins.def"
168
169 BEGIN_CHKP_BUILTINS,
170
171 #define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND)
172 #define DEF_BUILTIN_CHKP(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) \
173 ENUM##_CHKP = ENUM + BEGIN_CHKP_BUILTINS + 1,
174 #include "builtins.def"
175
176 END_CHKP_BUILTINS = BEGIN_CHKP_BUILTINS * 2 + 1,
177
178 /* Complex division routines in libgcc. These are done via builtins 168 /* Complex division routines in libgcc. These are done via builtins
179 because emit_library_call_value can't handle complex values. */ 169 because emit_library_call_value can't handle complex values. */
180 BUILT_IN_COMPLEX_MUL_MIN, 170 BUILT_IN_COMPLEX_MUL_MIN,
181 BUILT_IN_COMPLEX_MUL_MAX 171 BUILT_IN_COMPLEX_MUL_MAX
182 = BUILT_IN_COMPLEX_MUL_MIN 172 = BUILT_IN_COMPLEX_MUL_MIN
208 enum combined_fn { 198 enum combined_fn {
209 #define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) \ 199 #define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) \
210 CFN_##ENUM = int (ENUM), 200 CFN_##ENUM = int (ENUM),
211 #include "builtins.def" 201 #include "builtins.def"
212 202
213 #define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND)
214 #define DEF_BUILTIN_CHKP(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) \
215 CFN_##ENUM##_CHKP = int (ENUM##_CHKP),
216 #include "builtins.def"
217 203
218 #define DEF_INTERNAL_FN(CODE, FLAGS, FNSPEC) \ 204 #define DEF_INTERNAL_FN(CODE, FLAGS, FNSPEC) \
219 CFN_##CODE = int (END_BUILTINS) + int (IFN_##CODE), 205 CFN_##CODE = int (END_BUILTINS) + int (IFN_##CODE),
220 #include "internal-fn.def" 206 #include "internal-fn.def"
221 207
443 429
444 /* Internally used only clause, flag whether this is SIMT simd 430 /* Internally used only clause, flag whether this is SIMT simd
445 loop or not. */ 431 loop or not. */
446 OMP_CLAUSE__SIMT_, 432 OMP_CLAUSE__SIMT_,
447 433
448 /* Internally used only clause, holding _Cilk_for # of iterations
449 on OMP_PARALLEL. */
450 OMP_CLAUSE__CILK_FOR_COUNT_,
451
452 /* OpenACC clause: independent. */ 434 /* OpenACC clause: independent. */
453 OMP_CLAUSE_INDEPENDENT, 435 OMP_CLAUSE_INDEPENDENT,
454 436
455 /* OpenACC clause: worker [( [num:] integer-expression)]. */ 437 /* OpenACC clause: worker [( [num:] integer-expression)]. */
456 OMP_CLAUSE_WORKER, 438 OMP_CLAUSE_WORKER,
470 /* OpenACC clause: tile ( size-expr-list ). */ 452 /* OpenACC clause: tile ( size-expr-list ). */
471 OMP_CLAUSE_TILE, 453 OMP_CLAUSE_TILE,
472 454
473 /* OpenMP internal-only clause to specify grid dimensions of a gridified 455 /* OpenMP internal-only clause to specify grid dimensions of a gridified
474 kernel. */ 456 kernel. */
475 OMP_CLAUSE__GRIDDIM_ 457 OMP_CLAUSE__GRIDDIM_,
458
459 /* OpenACC clause: if_present. */
460 OMP_CLAUSE_IF_PRESENT,
461
462 /* OpenACC clause: finalize. */
463 OMP_CLAUSE_FINALIZE
476 }; 464 };
477 465
478 #undef DEFTREESTRUCT 466 #undef DEFTREESTRUCT
479 #define DEFTREESTRUCT(ENUM, NAME) ENUM, 467 #define DEFTREESTRUCT(ENUM, NAME) ENUM,
480 enum tree_node_structure_enum { 468 enum tree_node_structure_enum {
487 OMP_CLAUSE_SCHEDULE_STATIC, 475 OMP_CLAUSE_SCHEDULE_STATIC,
488 OMP_CLAUSE_SCHEDULE_DYNAMIC, 476 OMP_CLAUSE_SCHEDULE_DYNAMIC,
489 OMP_CLAUSE_SCHEDULE_GUIDED, 477 OMP_CLAUSE_SCHEDULE_GUIDED,
490 OMP_CLAUSE_SCHEDULE_AUTO, 478 OMP_CLAUSE_SCHEDULE_AUTO,
491 OMP_CLAUSE_SCHEDULE_RUNTIME, 479 OMP_CLAUSE_SCHEDULE_RUNTIME,
492 OMP_CLAUSE_SCHEDULE_CILKFOR,
493 OMP_CLAUSE_SCHEDULE_MASK = (1 << 3) - 1, 480 OMP_CLAUSE_SCHEDULE_MASK = (1 << 3) - 1,
494 OMP_CLAUSE_SCHEDULE_MONOTONIC = (1 << 3), 481 OMP_CLAUSE_SCHEDULE_MONOTONIC = (1 << 3),
495 OMP_CLAUSE_SCHEDULE_NONMONOTONIC = (1 << 4), 482 OMP_CLAUSE_SCHEDULE_NONMONOTONIC = (1 << 4),
496 OMP_CLAUSE_SCHEDULE_LAST = 2 * OMP_CLAUSE_SCHEDULE_NONMONOTONIC - 1 483 OMP_CLAUSE_SCHEDULE_LAST = 2 * OMP_CLAUSE_SCHEDULE_NONMONOTONIC - 1
497 }; 484 };
630 TI_FENV_T_PTR_TYPE, 617 TI_FENV_T_PTR_TYPE,
631 TI_CONST_FENV_T_PTR_TYPE, 618 TI_CONST_FENV_T_PTR_TYPE,
632 TI_FEXCEPT_T_PTR_TYPE, 619 TI_FEXCEPT_T_PTR_TYPE,
633 TI_CONST_FEXCEPT_T_PTR_TYPE, 620 TI_CONST_FEXCEPT_T_PTR_TYPE,
634 TI_POINTER_SIZED_TYPE, 621 TI_POINTER_SIZED_TYPE,
635
636 TI_POINTER_BOUNDS_TYPE,
637 622
638 TI_DFLOAT32_TYPE, 623 TI_DFLOAT32_TYPE,
639 TI_DFLOAT64_TYPE, 624 TI_DFLOAT64_TYPE,
640 TI_DFLOAT128_TYPE, 625 TI_DFLOAT128_TYPE,
641 TI_DFLOAT32_PTR_TYPE, 626 TI_DFLOAT32_PTR_TYPE,
849 all_kinds 834 all_kinds
850 }; 835 };
851 836
852 enum annot_expr_kind { 837 enum annot_expr_kind {
853 annot_expr_ivdep_kind, 838 annot_expr_ivdep_kind,
839 annot_expr_unroll_kind,
854 annot_expr_no_vector_kind, 840 annot_expr_no_vector_kind,
855 annot_expr_vector_kind, 841 annot_expr_vector_kind,
842 annot_expr_parallel_kind,
856 annot_expr_kind_last 843 annot_expr_kind_last
857 }; 844 };
858 845
859 /*--------------------------------------------------------------------------- 846 /*---------------------------------------------------------------------------
860 Type definitions 847 Type definitions
973 } int_length; 960 } int_length;
974 961
975 /* VEC length. This field is only used with TREE_VEC. */ 962 /* VEC length. This field is only used with TREE_VEC. */
976 int length; 963 int length;
977 964
978 /* Number of elements. This field is only used with VECTOR_CST. */ 965 /* This field is only used with VECTOR_CST. */
979 unsigned int nelts; 966 struct {
967 /* The value of VECTOR_CST_LOG2_NPATTERNS. */
968 unsigned int log2_npatterns : 8;
969
970 /* The value of VECTOR_CST_NELTS_PER_PATTERN. */
971 unsigned int nelts_per_pattern : 8;
972
973 /* For future expansion. */
974 unsigned int unused : 16;
975 } vector_cst;
980 976
981 /* SSA version number. This field is only used with SSA_NAME. */ 977 /* SSA version number. This field is only used with SSA_NAME. */
982 unsigned int version; 978 unsigned int version;
983 979
984 /* CHREC_VARIABLE. This field is only used with POLYNOMIAL_CHREC. */ 980 /* CHREC_VARIABLE. This field is only used with POLYNOMIAL_CHREC. */
1108 LABEL_DECL 1104 LABEL_DECL
1109 1105
1110 SSA_NAME_IS_VIRTUAL_OPERAND in 1106 SSA_NAME_IS_VIRTUAL_OPERAND in
1111 SSA_NAME 1107 SSA_NAME
1112 1108
1109 EXPR_LOCATION_WRAPPER_P in
1110 NON_LVALUE_EXPR, VIEW_CONVERT_EXPR
1111
1113 private_flag: 1112 private_flag:
1114 1113
1115 TREE_PRIVATE in 1114 TREE_PRIVATE in
1116 all decls 1115 all decls
1117 1116
1206 BLOCK, STRING_CST 1205 BLOCK, STRING_CST
1207 1206
1208 SSA_NAME_OCCURS_IN_ABNORMAL_PHI in 1207 SSA_NAME_OCCURS_IN_ABNORMAL_PHI in
1209 SSA_NAME 1208 SSA_NAME
1210 1209
1211 EXPR_CILK_SPAWN in
1212 CALL_EXPR
1213 AGGR_INIT_EXPR
1214
1215 used_flag: 1210 used_flag:
1216 1211
1217 TREE_USED in 1212 TREE_USED in
1218 all expressions 1213 all expressions
1219 all decls 1214 all decls
1241 all types 1236 all types
1242 1237
1243 IDENTIFIER_TRANSPARENT_ALIAS in 1238 IDENTIFIER_TRANSPARENT_ALIAS in
1244 IDENTIFIER_NODE 1239 IDENTIFIER_NODE
1245 1240
1241 SSA_NAME_POINTS_TO_READONLY_MEMORY in
1242 SSA_NAME
1243
1246 visited: 1244 visited:
1247 1245
1248 TREE_VISITED in 1246 TREE_VISITED in
1249 all trees (used liberally by many passes) 1247 all trees (used liberally by many passes)
1250 1248
1330 tree imag; 1328 tree imag;
1331 }; 1329 };
1332 1330
1333 struct GTY(()) tree_vector { 1331 struct GTY(()) tree_vector {
1334 struct tree_typed typed; 1332 struct tree_typed typed;
1335 tree GTY ((length ("VECTOR_CST_NELTS ((tree) &%h)"))) elts[1]; 1333 tree GTY ((length ("vector_cst_encoded_nelts ((tree) &%h)"))) elts[1];
1334 };
1335
1336 struct GTY(()) tree_poly_int_cst {
1337 struct tree_typed typed;
1338 tree coeffs[NUM_POLY_INT_COEFFS];
1336 }; 1339 };
1337 1340
1338 struct GTY(()) tree_identifier { 1341 struct GTY(()) tree_identifier {
1339 struct tree_common common; 1342 struct tree_common common;
1340 struct ht_identifier id; 1343 struct ht_identifier id;
1476 1479
1477 struct GTY(()) tree_block { 1480 struct GTY(()) tree_block {
1478 struct tree_base base; 1481 struct tree_base base;
1479 tree chain; 1482 tree chain;
1480 1483
1481 unsigned abstract_flag : 1; 1484 unsigned block_num;
1482 unsigned block_num : 31;
1483 1485
1484 location_t locus; 1486 location_t locus;
1485 location_t end_locus; 1487 location_t end_locus;
1486 1488
1487 tree vars; 1489 tree vars;
1529 so we need to store the value 32 (not 31, as we need the zero 1531 so we need to store the value 32 (not 31, as we need the zero
1530 as well), hence six bits. */ 1532 as well), hence six bits. */
1531 unsigned align : 6; 1533 unsigned align : 6;
1532 unsigned warn_if_not_align : 6; 1534 unsigned warn_if_not_align : 6;
1533 unsigned typeless_storage : 1; 1535 unsigned typeless_storage : 1;
1534 unsigned spare : 18; 1536 unsigned empty_flag : 1;
1537 unsigned spare : 17;
1535 1538
1536 alias_set_type alias_set; 1539 alias_set_type alias_set;
1537 tree pointer_to; 1540 tree pointer_to;
1538 tree reference_to; 1541 tree reference_to;
1539 union tree_type_symtab { 1542 union tree_type_symtab {
1540 int GTY ((tag ("TYPE_SYMTAB_IS_ADDRESS"))) address; 1543 int GTY ((tag ("TYPE_SYMTAB_IS_ADDRESS"))) address;
1541 const char * GTY ((tag ("TYPE_SYMTAB_IS_POINTER"))) pointer;
1542 struct die_struct * GTY ((tag ("TYPE_SYMTAB_IS_DIE"))) die; 1544 struct die_struct * GTY ((tag ("TYPE_SYMTAB_IS_DIE"))) die;
1543 } GTY ((desc ("debug_hooks->tree_type_symtab_field"))) symtab; 1545 } GTY ((desc ("debug_hooks->tree_type_symtab_field"))) symtab;
1544 tree canonical; 1546 tree canonical;
1545 tree next_variant; 1547 tree next_variant;
1546 tree main_variant; 1548 tree main_variant;
1608 unsigned lang_flag_5 : 1; 1610 unsigned lang_flag_5 : 1;
1609 unsigned lang_flag_6 : 1; 1611 unsigned lang_flag_6 : 1;
1610 unsigned lang_flag_7 : 1; 1612 unsigned lang_flag_7 : 1;
1611 unsigned lang_flag_8 : 1; 1613 unsigned lang_flag_8 : 1;
1612 1614
1613 /* In VAR_DECL and PARM_DECL, this is DECL_REGISTER. */ 1615 /* In VAR_DECL and PARM_DECL, this is DECL_REGISTER
1616 IN TRANSLATION_UNIT_DECL, this is TRANSLATION_UNIT_WARN_EMPTY_P. */
1614 unsigned decl_flag_0 : 1; 1617 unsigned decl_flag_0 : 1;
1615 /* In FIELD_DECL, this is DECL_BIT_FIELD 1618 /* In FIELD_DECL, this is DECL_BIT_FIELD
1616 In VAR_DECL and FUNCTION_DECL, this is DECL_EXTERNAL. 1619 In VAR_DECL and FUNCTION_DECL, this is DECL_EXTERNAL.
1617 In TYPE_DECL, this is TYPE_DECL_SUPPRESS_DEBUG. */ 1620 In TYPE_DECL, this is TYPE_DECL_SUPPRESS_DEBUG. */
1618 unsigned decl_flag_1 : 1; 1621 unsigned decl_flag_1 : 1;
1619 /* In FIELD_DECL, this is DECL_NONADDRESSABLE_P 1622 /* In FIELD_DECL, this is DECL_NONADDRESSABLE_P
1620 In VAR_DECL, PARM_DECL and RESULT_DECL, this is 1623 In VAR_DECL, PARM_DECL and RESULT_DECL, this is
1621 DECL_HAS_VALUE_EXPR_P. */ 1624 DECL_HAS_VALUE_EXPR_P. */
1622 unsigned decl_flag_2 : 1; 1625 unsigned decl_flag_2 : 1;
1623 /* 1 bit unused. */ 1626 /* In FIELD_DECL, this is DECL_PADDING_P. */
1624 unsigned decl_flag_3 : 1; 1627 unsigned decl_flag_3 : 1;
1625 /* Logically, these two would go in a theoretical base shared by var and 1628 /* Logically, these two would go in a theoretical base shared by var and
1626 parm decl. */ 1629 parm decl. */
1627 unsigned gimple_reg_flag : 1; 1630 unsigned gimple_reg_flag : 1;
1628 /* In VAR_DECL, PARM_DECL and RESULT_DECL, this is DECL_BY_REFERENCE. */ 1631 /* In VAR_DECL, PARM_DECL and RESULT_DECL, this is DECL_BY_REFERENCE. */
1783 unsigned no_limit_stack : 1; 1786 unsigned no_limit_stack : 1;
1784 unsigned disregard_inline_limits : 1; 1787 unsigned disregard_inline_limits : 1;
1785 unsigned pure_flag : 1; 1788 unsigned pure_flag : 1;
1786 unsigned looping_const_or_pure_flag : 1; 1789 unsigned looping_const_or_pure_flag : 1;
1787 unsigned has_debug_args_flag : 1; 1790 unsigned has_debug_args_flag : 1;
1788 unsigned tm_clone_flag : 1;
1789 unsigned versioned_function : 1; 1791 unsigned versioned_function : 1;
1792 unsigned lambda_function: 1;
1790 /* No bits left. */ 1793 /* No bits left. */
1791 }; 1794 };
1792 1795
1793 struct GTY(()) tree_translation_unit_decl { 1796 struct GTY(()) tree_translation_unit_decl {
1794 struct tree_decl_common common; 1797 struct tree_decl_common common;
1858 desc ("tree_node_structure (&%h)"), variable_size)) tree_node { 1861 desc ("tree_node_structure (&%h)"), variable_size)) tree_node {
1859 struct tree_base GTY ((tag ("TS_BASE"))) base; 1862 struct tree_base GTY ((tag ("TS_BASE"))) base;
1860 struct tree_typed GTY ((tag ("TS_TYPED"))) typed; 1863 struct tree_typed GTY ((tag ("TS_TYPED"))) typed;
1861 struct tree_common GTY ((tag ("TS_COMMON"))) common; 1864 struct tree_common GTY ((tag ("TS_COMMON"))) common;
1862 struct tree_int_cst GTY ((tag ("TS_INT_CST"))) int_cst; 1865 struct tree_int_cst GTY ((tag ("TS_INT_CST"))) int_cst;
1866 struct tree_poly_int_cst GTY ((tag ("TS_POLY_INT_CST"))) poly_int_cst;
1863 struct tree_real_cst GTY ((tag ("TS_REAL_CST"))) real_cst; 1867 struct tree_real_cst GTY ((tag ("TS_REAL_CST"))) real_cst;
1864 struct tree_fixed_cst GTY ((tag ("TS_FIXED_CST"))) fixed_cst; 1868 struct tree_fixed_cst GTY ((tag ("TS_FIXED_CST"))) fixed_cst;
1865 struct tree_vector GTY ((tag ("TS_VECTOR"))) vector; 1869 struct tree_vector GTY ((tag ("TS_VECTOR"))) vector;
1866 struct tree_string GTY ((tag ("TS_STRING"))) string; 1870 struct tree_string GTY ((tag ("TS_STRING"))) string;
1867 struct tree_complex GTY ((tag ("TS_COMPLEX"))) complex; 1871 struct tree_complex GTY ((tag ("TS_COMPLEX"))) complex;
1924 /* Whether this attribute requires a function (or method) type. If it does, 1928 /* Whether this attribute requires a function (or method) type. If it does,
1925 it will be passed from a function pointer type to the target type, 1929 it will be passed from a function pointer type to the target type,
1926 and from a function return type (which is not itself a function 1930 and from a function return type (which is not itself a function
1927 pointer type) to the function type. */ 1931 pointer type) to the function type. */
1928 bool function_type_required; 1932 bool function_type_required;
1933 /* Specifies if attribute affects type's identity. */
1934 bool affects_type_identity;
1929 /* Function to handle this attribute. NODE points to the node to which 1935 /* Function to handle this attribute. NODE points to the node to which
1930 the attribute is to be applied. If a DECL, it should be modified in 1936 the attribute is to be applied. If a DECL, it should be modified in
1931 place; if a TYPE, a copy should be created. NAME is the name of the 1937 place; if a TYPE, a copy should be created. NAME is the canonicalized
1932 attribute (possibly with leading or trailing __). ARGS is the TREE_LIST 1938 name of the attribute i.e. without any leading or trailing underscores.
1933 of the arguments (which may be NULL). FLAGS gives further information 1939 ARGS is the TREE_LIST of the arguments (which may be NULL). FLAGS gives
1934 about the context of the attribute. Afterwards, the attributes will 1940 further information about the context of the attribute. Afterwards, the
1935 be added to the DECL_ATTRIBUTES or TYPE_ATTRIBUTES, as appropriate, 1941 attributes will be added to the DECL_ATTRIBUTES or TYPE_ATTRIBUTES, as
1936 unless *NO_ADD_ATTRS is set to true (which should be done on error, 1942 appropriate, unless *NO_ADD_ATTRS is set to true (which should be done on
1937 as well as in any other cases when the attributes should not be added 1943 error, as well as in any other cases when the attributes should not be
1938 to the DECL or TYPE). Depending on FLAGS, any attributes to be 1944 added to the DECL or TYPE). Depending on FLAGS, any attributes to be
1939 applied to another type or DECL later may be returned; 1945 applied to another type or DECL later may be returned;
1940 otherwise the return value should be NULL_TREE. This pointer may be 1946 otherwise the return value should be NULL_TREE. This pointer may be
1941 NULL if no special handling is required beyond the checks implied 1947 NULL if no special handling is required beyond the checks implied
1942 by the rest of this structure. */ 1948 by the rest of this structure. */
1943 tree (*handler) (tree *node, tree name, tree args, 1949 tree (*handler) (tree *node, tree name, tree args,
1944 int flags, bool *no_add_attrs); 1950 int flags, bool *no_add_attrs);
1945 /* Specifies if attribute affects type's identity. */ 1951
1946 bool affects_type_identity; 1952 /* Specifies the name of an attribute that's mutually exclusive with
1953 this one, and whether the relationship applies to the function,
1954 variable, or type form of the attribute. */
1955 struct exclusions {
1956 const char *name;
1957 bool function;
1958 bool variable;
1959 bool type;
1960 };
1961
1962 /* An array of attribute exclusions describing names of other attributes
1963 that this attribute is mutually exclusive with. */
1964 const exclusions *exclude;
1947 }; 1965 };
1948 1966
1949 /* These functions allow a front-end to perform a manual layout of a 1967 /* These functions allow a front-end to perform a manual layout of a
1950 RECORD_TYPE. (For instance, if the placement of subsequent fields 1968 RECORD_TYPE. (For instance, if the placement of subsequent fields
1951 depends on the placement of fields so far.) Begin by calling 1969 depends on the placement of fields so far.) Begin by calling
2095 2113
2096 /* Types used to represent sizes. */ 2114 /* Types used to represent sizes. */
2097 extern GTY(()) tree sizetype_tab[(int) stk_type_kind_last]; 2115 extern GTY(()) tree sizetype_tab[(int) stk_type_kind_last];
2098 2116
2099 /* Arrays for keeping track of tree node statistics. */ 2117 /* Arrays for keeping track of tree node statistics. */
2100 extern int tree_node_counts[]; 2118 extern uint64_t tree_node_counts[];
2101 extern int tree_node_sizes[]; 2119 extern uint64_t tree_node_sizes[];
2102 2120
2103 /* True if we are in gimple form and the actions of the folders need to 2121 /* True if we are in gimple form and the actions of the folders need to
2104 be restricted. False if we are not in gimple form and folding is not 2122 be restricted. False if we are not in gimple form and folding is not
2105 restricted to creating gimple expressions. */ 2123 restricted to creating gimple expressions. */
2106 extern bool in_gimple_form; 2124 extern bool in_gimple_form;