GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
class | code_helper |
class | auto_suppress_location_wrappers |
class | tree_vec_range |
struct | tree_decl_map_cache_hasher |
struct | tree_vec_map_cache_hasher |
struct | tree_decl_hash |
struct | tree_type_hash |
struct | tree_ssa_name_hash |
struct | tree_hash |
class | wi::unextended_tree |
struct | wi::int_traits< unextended_tree > |
class | wi::extended_tree< N > |
struct | wi::int_traits< extended_tree< N > > |
struct | wi::ints_for< generic_wide_int< extended_tree< N > >, INL_CONST_PRECISION > |
struct | wi::ints_for< generic_wide_int< extended_tree< N > >, CONST_PRECISION > |
struct | wi::ints_for< generic_wide_int< unextended_tree >, VAR_PRECISION > |
struct | int_n_trees_t |
class | builtin_structptr_type |
class | op_location_t |
Namespaces | |
namespace | inchash |
namespace | wi |
Typedefs | |
typedef extended_tree< WIDEST_INT_MAX_PRECISION > | wi::widest_extended_tree |
typedef extended_tree< ADDR_MAX_PRECISION > | wi::offset_extended_tree |
typedef const generic_wide_int< widest_extended_tree > | wi::tree_to_widest_ref |
typedef const generic_wide_int< offset_extended_tree > | wi::tree_to_offset_ref |
typedef const generic_wide_int< wide_int_ref_storage< false, false > > | wi::tree_to_wide_ref |
typedef const poly_int< NUM_POLY_INT_COEFFS, generic_wide_int< widest_extended_tree > > | wi::tree_to_poly_widest_ref |
typedef const poly_int< NUM_POLY_INT_COEFFS, generic_wide_int< offset_extended_tree > > | wi::tree_to_poly_offset_ref |
typedef const poly_int< NUM_POLY_INT_COEFFS, generic_wide_int< unextended_tree > > | wi::tree_to_poly_wide_ref |
typedef generic_wide_int< wi::extended_tree< WIDEST_INT_MAX_PRECISION *2 > > | widest2_int_cst |
Enumerations | |
enum | cst_size_error { cst_size_ok , cst_size_not_constant , cst_size_negative , cst_size_too_big , cst_size_overflow } |
enum struct | special_array_member { none , int_0 , trail_0 , trail_1 , trail_n , int_n } |
enum | access_mode { access_none = 0 , access_read_only = 1 , access_write_only = 2 , access_read_write = access_read_only | access_write_only , access_deferred = 4 } |
Variables | |
int | suppress_location_wrappers |
bool | int_n_enabled_p [NUM_INT_N_ENTS] |
struct int_n_trees_t | int_n_trees [NUM_INT_N_ENTS] |
const builtin_structptr_type | builtin_structptr_types [6] |
constexpr opt_code | no_warning = opt_code () |
constexpr opt_code | all_warnings = N_OPTS |
#define access_private_node global_trees[TI_PRIVATE] |
Referenced by build_common_tree_nodes(), and dequeue_and_dump().
#define access_protected_node global_trees[TI_PROTECTED] |
Referenced by build_common_tree_nodes(), and dequeue_and_dump().
#define access_public_node global_trees[TI_PUBLIC] |
Base access nodes.
Referenced by build_common_tree_nodes(), and dequeue_and_dump().
#define accum_type_node global_trees[TI_ACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define AGGREGATE_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents an aggregate (multi-component) type. Keep these checks in ascending code order.
Referenced by addr_object_size(), function_arg_info::aggregate_type_p(), aggregate_value_p(), analyze_agg_content_value(), assign_parms(), build_accesses_from_assign(), build_zero_cst(), ipa_param_body_adjustments::common_initialization(), copy_reference_ops_from_ref(), decode_field_reference(), determine_known_aggregate_parts(), type_cache_hasher::equal(), expand_builtin(), expand_call(), expand_expr_real_1(), finalize_type_size(), find_func_aliases(), find_local_vars_to_propagate(), fold_builtin_constant_p(), fold_ctor_reference(), get_alias_set(), get_constraint_for_component_ref(), gimple_fold_builtin_memory_op(), gimplify_expr(), gimplify_init_constructor(), gimplify_modify_expr_rhs(), go_format_type(), hash_tree(), init_function_start(), initializer_constant_valid_p(), initializer_constant_valid_p_1(), ipa_compute_jump_functions_for_edge(), is_gimple_reg_type(), layout_type(), load_from_unmodified_param_or_agg(), lower_omp_target(), lto_read_tree_1(), maybe_add_sra_candidate(), ipa_param_body_adjustments::modify_call_stmt(), noncall_stmt_may_be_vtbl_ptr_store(), oacc_default_clause(), odr_subtypes_equivalent_p(), output_constructor(), pack_ts_base_value_fields(), pack_ts_decl_common_value_fields(), pack_ts_type_common_value_fields(), place_field(), place_union_field(), reverse_storage_order_for_component_p(), rtl_for_decl_init(), ipa_icf_gimple::func_checker::safe_for_total_scalarization_p(), sra_modify_assign(), stmt_may_be_vtbl_ptr_store(), storage_order_barrier_p(), store_field(), track_expr_p(), tree_add_const_value_attribute(), type_has_components_p(), type_hash_canon_hash(), type_internals_preclude_sra_p_1(), unpack_ts_base_value_fields(), unpack_ts_type_common_value_fields(), use_pointer_for_field(), use_pointer_in_frame(), useless_type_conversion_p(), verify_type_variant(), verify_types_in_gimple_reference(), and vn_reference_lookup_3().
#define ALLOCA_FUNCTION_CODE_P | ( | FCODE | ) |
Test if FCODE is a function code for an alloca operation.
Referenced by alloc_object_size(), expand_builtin(), expand_call_stmt(), gimple_build_call_from_tree(), optimize_stack_restore(), and special_function_p().
#define ANY_INTEGRAL_TYPE_CHECK | ( | T | ) |
#define ANY_INTEGRAL_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents an integral type, including complex and vector integer types.
Referenced by can_reassociate_type_p(), constant_after_peeling(), convert_mult_to_fma(), do_unop(), eliminate_using_constants(), expand_simple_operations(), expand_vector_operation(), final_value_replacement_loop(), find_trapping_overflow(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_comparison(), fold_cond_expr_with_comparison(), fold_negate_expr_1(), fold_plusminus_mult_expr(), follow_outer_ssa_edges(), legal_cast_p_1(), maybe_canonicalize_comparison_1(), negate_expr_p(), nowrap_type_p(), operation_no_trapping_overflow(), signed_or_unsigned_type_for(), tree_binary_nonnegative_warnv_p(), tree_binary_nonzero_warnv_p(), tree_unary_nonnegative_warnv_p(), vect_recog_absolute_difference(), vectorize_slp_instance_root_stmt(), and verify_gimple_assign_unary().
#define ARRAY_OR_INTEGER_TYPE_CHECK | ( | T | ) |
#define ASM_BASIC_P | ( | NODE | ) |
Nonzero if the asm is a basic asm, zero if it is an extended asm. Basic asms use a plain ASM_INPUT insn pattern whereas extended asms use an ASM_OPERANDS insn pattern.
Referenced by gimplify_asm_expr().
#define ASM_CLOBBERS | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_asm_expr().
#define ASM_INLINE_P | ( | NODE | ) |
Nonzero if we want to consider this asm as minimum length and cost for inlining decisions.
Referenced by gimplify_asm_expr().
#define ASM_INPUTS | ( | NODE | ) |
Referenced by assemble_asm(), dump_generic_node(), and gimplify_asm_expr().
#define ASM_LABELS | ( | NODE | ) |
Referenced by gimplify_asm_expr().
#define ASM_OUTPUTS | ( | NODE | ) |
Referenced by assemble_asm(), dump_generic_node(), and gimplify_asm_expr().
#define ASM_STRING | ( | NODE | ) |
ASM_EXPR accessors. ASM_STRING returns a STRING_CST for the instruction (e.g., "mov x, y"). ASM_OUTPUTS, ASM_INPUTS, and ASM_CLOBBERS represent the outputs, inputs, and clobbers for the statement.
Referenced by assemble_asm(), dump_generic_node(), and gimplify_asm_expr().
#define ASM_VOLATILE_P | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_asm_expr().
#define atomicDI_type_node global_trees[TI_ATOMICDI_TYPE] |
Referenced by build_common_tree_nodes(), and find_atomic_core_type().
#define atomicHI_type_node global_trees[TI_ATOMICHI_TYPE] |
Referenced by build_common_tree_nodes(), and find_atomic_core_type().
#define atomicQI_type_node global_trees[TI_ATOMICQI_TYPE] |
Referenced by build_common_tree_nodes(), and find_atomic_core_type().
#define atomicSI_type_node global_trees[TI_ATOMICSI_TYPE] |
Referenced by build_common_tree_nodes(), and find_atomic_core_type().
#define atomicTI_type_node global_trees[TI_ATOMICTI_TYPE] |
Referenced by build_common_tree_nodes(), and find_atomic_core_type().
#define bfloat16_type_node global_trees[TI_BFLOAT16_TYPE] |
Referenced by build_common_tree_nodes(), and excess_precision_type().
#define BINARY_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents a binary arithmetic expression.
Referenced by dr_equal_offsets_p1(), extract_muldiv_1(), get_base_value(), range_query::get_tree_range(), skip_simple_arithmetic(), skip_simple_constant_arithmetic(), substitute_placeholder_in_expr(), walk_gimple_omp_for(), and will_be_nonconstant_expr_predicate().
#define BIND_EXPR_BLOCK | ( | NODE | ) |
Referenced by copy_bind_expr(), copy_tree_r(), find_combined_omp_for(), find_nested_loop_xform(), and gimplify_bind_expr().
#define BIND_EXPR_BODY | ( | NODE | ) |
Referenced by block_may_fallthru(), create_task_copyfn(), dump_function_to_file(), dump_generic_node(), gimplify_bind_expr(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_scan_omp_clauses(), tree_invalid_nonnegative_warnv_p(), voidify_wrapper_expr(), and walk_tree_1().
#define BIND_EXPR_VARS | ( | NODE | ) |
The operands of a BIND_EXPR.
Referenced by copy_bind_expr(), dump_generic_node(), find_combined_omp_for(), find_nested_loop_xform(), gimplify_bind_expr(), and walk_tree_1().
#define BINFO_BASE_ACCESS | ( | NODE, | |
N ) |
#define BINFO_BASE_ACCESS_APPEND | ( | NODE, | |
T ) |
#define BINFO_BASE_ACCESSES | ( | NODE | ) |
Indicates the accesses this binfo has to its bases. The values are access_public_node, access_protected_node or access_private_node. If this array is not present, public access is implied.
Referenced by dequeue_and_dump(), and free_node().
#define BINFO_BASE_APPEND | ( | NODE, | |
T ) |
#define BINFO_BASE_BINFO | ( | NODE, | |
N ) |
Accessor macro to get to the Nth base binfo of this binfo.
Referenced by add_type_duplicate(), get_odr_type(), and register_odr_type().
#define BINFO_BASE_BINFOS | ( | NODE | ) |
A vector of binfos for the direct basetypes inherited by this basetype. If this basetype describes type D as inherited in C, and if the basetypes of D are E and F, then this vector contains binfos for inheritance of E and F by C.
Referenced by DFS::DFS_write_tree_body(), hash_tree(), lto_input_ts_binfo_tree_pointers(), make_tree_binfo(), print_node(), and write_ts_binfo_tree_pointers().
#define BINFO_BASE_ITERATE | ( | NODE, | |
N, | |||
B ) |
Referenced by dequeue_and_dump(), get_binfo_at_offset(), lookup_binfo_at_offset(), record_target_from_binfo(), and subbinfo_with_vtable_at_offset().
#define BINFO_FLAG_0 | ( | NODE | ) |
Flags for language dependent use.
#define BINFO_FLAG_1 | ( | NODE | ) |
#define BINFO_FLAG_2 | ( | NODE | ) |
#define BINFO_FLAG_3 | ( | NODE | ) |
#define BINFO_FLAG_4 | ( | NODE | ) |
#define BINFO_FLAG_5 | ( | NODE | ) |
#define BINFO_FLAG_6 | ( | NODE | ) |
#define BINFO_INHERITANCE_CHAIN | ( | NODE | ) |
The BINFO_INHERITANCE_CHAIN points at the binfo for the base inheriting this base for non-virtual bases. For virtual bases it points either to the binfo for which this is a primary binfo, or to the binfo of the most derived type.
Referenced by print_node().
#define BINFO_N_BASE_BINFOS | ( | NODE | ) |
The number of basetypes for NODE.
Referenced by add_type_duplicate(), dequeue_and_dump(), get_odr_type(), register_odr_type(), streamer_write_tree_header(), and tree_size().
#define BINFO_OFFSET | ( | NODE | ) |
The offset where this basetype appears in its containing type. BINFO_OFFSET slot holds the offset (in bytes) from the base of the complete object to the base of the part of the object that is allocated on behalf of this `type'. This is always 0 except when there is multiple inheritance.
Referenced by add_data_member_location_attribute(), add_type_duplicate(), DFS::DFS_write_tree_body(), extr_type_from_vtbl_ptr_store(), get_binfo_at_offset(), hash_tree(), lookup_binfo_at_offset(), lto_input_ts_binfo_tree_pointers(), print_node(), record_target_from_binfo(), and write_ts_binfo_tree_pointers().
#define BINFO_OFFSET_ZEROP | ( | NODE | ) |
#define BINFO_SUBVTT_INDEX | ( | NODE | ) |
The index in the VTT where this subobject's sub-VTT can be found. NULL_TREE if there is no sub-VTT.
#define BINFO_TYPE | ( | NODE | ) |
The actual data type node being inherited in this basetype.
Referenced by add_type_duplicate(), dequeue_and_dump(), dump_generic_node(), get_binfo_at_offset(), get_odr_type(), polymorphic_type_binfo_p(), record_target_from_binfo(), and register_odr_type().
#define BINFO_VIRTUAL_P | ( | NODE | ) |
Define accessor macros for information about type inheritance and basetypes. A "basetype" means a particular usage of a data type for inheritance in another type. Each such basetype usage has its own "binfo" object to describe it. The binfo object is a TREE_VEC node. Inheritance is represented by the binfo nodes allocated for a given type. For example, given types C and D, such that D is inherited by C, 3 binfo nodes will be allocated: one for describing the binfo properties of C, similarly one for D, and one for describing the binfo properties of D as a base type for C. Thus, given a pointer to class C, one can get a pointer to the binfo of D acting as a basetype for C by looking at C's binfo's basetypes.
BINFO specific flags.
Nonzero means that the derivation chain is via a `virtual' declaration.
Referenced by add_data_member_location_attribute(), and dequeue_and_dump().
#define BINFO_VIRTUALS | ( | NODE | ) |
The virtual functions in the virtual function table. This is a TREE_LIST that is used as an initial approximation for building a virtual function table for this basetype.
Referenced by print_node().
#define BINFO_VPTR_FIELD | ( | NODE | ) |
For a BINFO record describing a virtual base class, i.e., one where TREE_VIA_VIRTUAL is set, this field assists in locating the virtual base. The actual contents are language-dependent. In the C++ front-end this field is an INTEGER_CST giving an offset into the vtable where the offset to the virtual base can be found.
Referenced by add_data_member_location_attribute().
#define BINFO_VPTR_INDEX | ( | NODE | ) |
The index in the VTT where the vptr for this subobject can be found. NULL_TREE if there is no secondary vptr in the VTT.
#define BINFO_VTABLE | ( | NODE | ) |
The virtual function table belonging to this basetype. Virtual function tables provide a mechanism for run-time method dispatching. The entries of a virtual function table are language-dependent.
Referenced by add_type_duplicate(), detect_type_change_from_memory_writes(), DFS::DFS_write_tree_body(), ipa_polymorphic_call_context::get_dynamic_type(), gimple_get_virt_method_for_binfo(), hash_tree(), lto_input_ts_binfo_tree_pointers(), polymorphic_type_binfo_p(), possible_polymorphic_call_targets(), record_target_from_binfo(), record_targets_from_bases(), subbinfo_with_vtable_at_offset(), type_possibly_instantiated_p(), verify_bb_vtables(), and write_ts_binfo_tree_pointers().
#define BITINT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE is bit-precise integer type.
#define bitsize_int | ( | L | ) |
Referenced by array_size_for_constructor(), build_common_tree_nodes(), dr_analyze_indices(), expand_expr_real_1(), expand_vector_comparison(), expand_vector_condition(), expand_vector_conversion(), expand_vector_piecewise(), expand_vector_ubsan_overflow(), finish_bitfield_representative(), fold_indirect_ref_1(), fold_truth_andor_for_ifcombine(), gimple_fold_indirect_ref(), gimplify_omp_atomic(), operand_compare::hash_operand(), initialize_sizetypes(), layout_type(), make_bit_field_ref(), maybe_rewrite_mem_ref_base(), optimize_vector_load(), place_field(), pos_from_bit(), simplify_bitfield_ref(), start_bitfield_representative(), undistribute_bitref_for_vector(), vect_add_slp_permutation(), vect_create_epilog_for_reduction(), vect_create_partial_epilog(), vect_expand_fold_left(), vector_element(), vector_element_bits_tree(), vectorizable_live_operation(), vectorizable_load(), vectorizable_simd_clone_call(), vectorizable_store(), and vn_reference_lookup_3().
#define bitsize_one_node global_trees[TI_BITSIZE_ONE] |
Referenced by build_common_tree_nodes().
#define bitsize_unit_node global_trees[TI_BITSIZE_UNIT] |
Referenced by bit_from_pos(), build_common_tree_nodes(), byte_from_pos(), finalize_type_size(), layout_decl(), and place_field().
#define bitsize_zero_node global_trees[TI_BITSIZE_ZERO] |
Referenced by build_common_tree_nodes(), build_printable_array_type(), expand_vector_parallel(), field_byte_offset(), gimplify_init_ctor_eval(), place_field(), place_union_field(), pos_from_bit(), ref_at_iteration(), simplify_vector_constructor(), start_record_layout(), vect_create_epilog_for_reduction(), and vectorizable_shift().
#define bitsizetype sizetype_tab[(int) stk_bitsizetype] |
Referenced by bits_from_bytes(), dr_analyze_indices(), execute_update_addresses_taken(), get_bitfield_rep(), initialize_sizetypes(), lower_bitfield(), maybe_canonicalize_mem_ref_addr(), maybe_rewrite_mem_ref_base(), place_field(), size_diffop_loc(), vector_element(), vectorizable_store(), verify_gimple_assign_ternary(), and verify_types_in_gimple_reference().
#define BLOCK_ABSTRACT_ORIGIN | ( | NODE | ) |
A BLOCK, or FUNCTION_DECL of the function from which a block has been inlined. In a scope immediately enclosing an inlined leaf expression, points to the outermost scope into which it has been inlined (thus bypassing all intermediate BLOCK_SUPERCONTEXTs).
Referenced by block_nonartificial_location(), block_ultimate_origin(), clear_unused_block_pointer(), DFS::DFS_write_tree_body(), dump_block_node(), dump_scope_block(), expand_call_inline(), autofdo::get_function_decl_from_block(), optrecord_json_writer::inlining_chain_to_json(), lhd_print_error_function(), lto_input_ts_block_tree_pointers(), noncall_stmt_may_be_vtbl_ptr_store(), inlining_iterator::prepare_iteration(), print_node(), remap_block(), set_decl_origin_self(), set_inlining_locations(), tree_inlined_location(), and write_ts_block_tree_pointers().
#define BLOCK_CHAIN | ( | NODE | ) |
Points to the next scope at the same level of nesting as scope NODE.
Referenced by all_blocks(), block_chainon(), blocks_nreverse(), blocks_nreverse_all(), build_block(), clear_block_marks(), clear_tree_used(), clear_unused_block_pointer_in_block(), collect_block_tree_leafs(), collect_subblocks(), dump_block_node(), dump_scope_block(), dwarf2out_inline_entry(), expand_call_inline(), expand_used_vars_for_block(), fixup_vla_decls(), instantiate_decls_1(), lower_function_body(), lower_gimple_bind(), lto_input_ts_block_tree_pointers(), mark_scope_block_unused(), move_sese_region_to_fn(), prepend_lexical_block(), print_node(), remap_blocks(), remap_blocks_to_null(), remap_vla_decls(), remove_member_access_dummy_vars(), remove_unused_scope_block_p(), reorder_blocks(), reorder_blocks_1(), replace_block_vars_by_duplicates(), set_block_levels(), set_used_decls(), and setjmp_vars_warning().
#define BLOCK_DIE | ( | NODE | ) |
Referenced by equate_block_to_die(), and lookup_block_die().
#define BLOCK_FRAGMENT_CHAIN | ( | NODE | ) |
Referenced by block_fragments_nreverse(), blocks_nreverse_all(), dump_block_node(), dump_scope_block(), and reorder_blocks_1().
#define BLOCK_FRAGMENT_ORIGIN | ( | NODE | ) |
If block reordering splits a lexical block into discontiguous address ranges, we'll make a copy of the original block. Note that this is logically distinct from BLOCK_ABSTRACT_ORIGIN. In that case, we have one source block that has been replicated (through inlining or unrolling) into many logical blocks, and that these logical blocks have different physical variables in them. In this case, we have one logical block split into several non-contiguous address ranges. Most debug formats can't actually represent this idea directly, so we fake it by creating multiple logical blocks with the same variables in them. However, for those that do support non-contiguous regions, these allow the original logical block to be reconstructed, along with the set of address ranges. One of the logical block fragments is arbitrarily chosen to be the ORIGIN. The other fragments will point to the origin via BLOCK_FRAGMENT_ORIGIN; the origin itself will have this pointer be null. The list of fragments will be chained through BLOCK_FRAGMENT_CHAIN from the origin.
Referenced by block_fragments_nreverse(), blocks_nreverse_all(), dump_block_node(), dump_scope_block(), dwarf2out_inline_entry(), and reorder_blocks_1().
#define BLOCK_IN_COLD_SECTION_P | ( | NODE | ) |
True if BLOCK appears in cold section.
Referenced by final_scan_insn_1().
#define BLOCK_NONLOCALIZED_VAR | ( | NODE, | |
N ) |
Referenced by dump_scope_block(), and is_redundant_typedef().
#define BLOCK_NONLOCALIZED_VARS | ( | NODE | ) |
Referenced by dump_block_node(), free_node(), and remap_block().
#define BLOCK_NUM_NONLOCALIZED_VARS | ( | NODE | ) |
Referenced by dump_scope_block(), is_redundant_typedef(), process_scope_var(), and remove_unused_scope_block_p().
#define BLOCK_NUMBER | ( | NODE | ) |
An index number for this block. These values are not guaranteed to be unique across functions -- whether or not they are depends on the debugging output format in use.
Referenced by add_ranges(), change_scope(), choose_inner_scope(), lto_location_cache::cmp_loc(), dump_block_node(), dump_scope_block(), final_scan_insn_1(), number_blocks(), print_insn(), and set_block_levels().
#define BLOCK_ORIGIN | ( | NODE | ) |
Referenced by block_ultimate_origin(), lto_input_ts_block_tree_pointers(), remap_block(), and remove_unused_scope_block_p().
#define BLOCK_SAME_RANGE | ( | NODE | ) |
True if BLOCK has the same ranges as its BLOCK_SUPERCONTEXT.
Referenced by block_fragments_nreverse(), blocks_nreverse_all(), and reorder_blocks_1().
#define BLOCK_SOURCE_END_LOCATION | ( | NODE | ) |
This gives the location of the end of the block, useful to attach code implicitly generated for outgoing paths.
Referenced by gimplify_bind_expr().
#define BLOCK_SOURCE_LOCATION | ( | NODE | ) |
For an inlined function, this gives the location where it was called from. This is only set in the top level block, which corresponds to the inlined function scope. This is used in the debug output routines.
Referenced by block_nonartificial_location(), dump_block_node(), dump_scope_block(), expand_call_inline(), autofdo::get_inline_stack(), autofdo::get_relative_location_for_stmt(), gimplify_bind_expr(), inlined_function_outer_scope_p(), optrecord_json_writer::inlining_chain_to_json(), lhd_print_error_function(), pack_ts_block_value_fields(), inlining_iterator::prepare_iteration(), remap_block(), remove_unused_scope_block_p(), set_inlining_locations(), tree_inlined_location(), unpack_ts_block_value_fields(), and verify_location().
#define BLOCK_SUBBLOCKS | ( | NODE | ) |
A chain of BLOCKs (scopes) nested within the scope NODE.
Referenced by all_blocks(), blocks_nreverse_all(), build_block(), clear_block_marks(), clear_tree_used(), clear_unused_block_pointer_in_block(), collect_block_tree_leafs(), collect_subblocks(), debug_find_var_in_block_tree(), dump_block_node(), dump_scope_block(), dwarf2out_inline_entry(), expand_call_inline(), expand_used_vars_for_block(), fixup_vla_decls(), instantiate_decls_1(), lower_function_body(), lower_gimple_bind(), lto_input_ts_block_tree_pointers(), mark_scope_block_unused(), move_sese_region_to_fn(), prepend_lexical_block(), print_node(), remap_blocks(), remap_blocks_to_null(), remap_vla_decls(), remove_member_access_dummy_vars(), remove_unused_scope_block_p(), reorder_blocks(), reorder_blocks_1(), replace_block_vars_by_duplicates(), set_block_levels(), set_decl_origin_self(), set_used_decls(), and setjmp_vars_warning().
#define BLOCK_SUPERCONTEXT | ( | NODE | ) |
The scope enclosing the scope NODE, or FUNCTION_DECL for the "outermost" function scope. Inlined functions are chained by this so that given expression E and its TREE_BLOCK(E) B, BLOCK_SUPERCONTEXT(B) is the scope in which E has been made or into which E has been inlined.
Referenced by adjust_context_and_scope(), block_fragments_nreverse(), block_nonartificial_location(), build_block(), cgraph_build_static_cdtor_1(), change_scope(), clear_unused_block_pointer(), compute_discriminator(), create_assumption_fn(), create_loop_fn(), create_omp_child_function(), decl_function_context(), decl_maybe_in_construction_p(), decl_type_context(), DFS::DFS_write_tree_body(), dump_block_node(), dwarf2out_inline_entry(), expand_omp_target(), expand_thunk(), fold_builtin_alloca_with_align(), gen_subprogram_die(), autofdo::get_inline_stack(), autofdo::get_relative_location_for_stmt(), get_ultimate_context(), init_lowered_empty_function(), optrecord_json_writer::inlining_chain_to_json(), lhd_print_error_function(), lower_gimple_bind(), lto_input_ts_block_tree_pointers(), maybe_create_die_with_external_ref(), move_sese_region_to_fn(), move_stmt_op(), noncall_stmt_may_be_vtbl_ptr_store(), param_type_may_change_p(), inlining_iterator::prepare_iteration(), prepend_lexical_block(), print_node(), reemit_insn_block_notes(), remove_exit_barrier(), remove_unused_scope_block_p(), reorder_blocks_1(), self_referential_size(), set_inlining_locations(), tree_function_versioning(), tree_inlined_location(), and write_ts_block_tree_pointers().
#define BLOCK_VARS | ( | NODE | ) |
In a BLOCK (scope) node: Variables declared in the scope NODE.
Referenced by adjust_context_and_scope(), build_block(), clear_tree_used(), clear_unused_block_pointer_in_block(), debug_find_var_in_block_tree(), declare_inline_vars(), declare_vars(), DFS::DFS_write_tree_body(), dump_block_node(), dump_scope_block(), expand_call_inline(), expand_omp_target(), expand_omp_taskreg(), expand_thunk(), expand_used_vars_for_block(), finalize_nesting_tree_1(), find_combined_omp_for(), find_nested_loop_xform(), fixup_vla_decls(), gimplify_omp_affinity(), gimplify_omp_depend(), instantiate_decls_1(), is_redundant_typedef(), lower_gimple_bind(), lower_omp_critical(), lower_omp_dispatch(), lower_omp_for(), lower_omp_master(), lower_omp_ordered(), lower_omp_scope(), lower_omp_sections(), lower_omp_single(), lower_omp_taskgroup(), lower_omp_teams(), lto_input_ts_block_tree_pointers(), print_node(), process_scope_var(), remap_block(), remap_vla_decls(), remove_exit_barrier(), remove_member_access_dummy_vars(), remove_unused_scope_block_p(), replace_block_vars_by_duplicates(), ipa_param_body_adjustments::reset_debug_stmts(), set_decl_origin_self(), set_used_decls(), setjmp_vars_warning(), and write_ts_block_tree_pointers().
#define boolean_false_node global_trees[TI_BOOLEAN_FALSE] |
Referenced by and_comparisons_1(), and_var_with_comparison_1(), build_and_record_new_cond(), rt_bb_visited::build_block_check(), build_common_tree_nodes(), build_instrumentation_call(), canonicalize_bool(), rt_bb_visited::check(), constant_boolean_node(), determine_exit_conditions(), do_while_loop_p(), evaluate_control_stmt_using_entry_checks(), execute_sm(), execute_sm_if_changed(), tree_switch_conversion::switch_conversion::exp_index_transform(), expand_complex_div_wide(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_vector_operations(), find_assumption_locals_r(), fold_binary_loc(), fold_builtin_arith_overflow(), fold_builtin_atomic_always_lock_free(), dom_opt_dom_walker::fold_cond(), simplify_using_ranges::fold_cond_with_ops(), gimple_cond_false_p(), gimple_cond_make_false(), gimple_cond_make_true(), gimple_cond_true_p(), gimple_push_cleanup(), gimplify_expr(), gimplify_function_tree(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_loop_xform(), handle_abnormal_edges(), if_convertible_loop_p_1(), ifcombine_replace_cond(), init_range_entry(), rt_bb_visited::insert_exit_check_on_edge(), insert_predicates_for_cond(), insert_related_predicates_on_edge(), instrument_bool_enum_load(), is_false_predicate(), simplify_using_ranges::legacy_fold_cond_overflow(), lower_assumption(), lower_lastprivate_clauses(), lower_omp_1(), lower_omp_task_reductions(), lower_rec_input_clauses(), maybe_add_implicit_barrier_cancel(), maybe_optimize_range_tests(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_cond(), number_of_iterations_exit_assumptions(), number_of_iterations_lt_to_ne(), number_of_iterations_ne(), number_of_iterations_popcount(), omp_sese_split_blocks(), optimize_atomic_op_fetch_cmp_0(), optimize_range_tests_var_bound(), optimize_spaceship(), or_var_with_comparison_1(), record_common_node(), record_conditions(), remap_gimple_stmt(), rt_bb_visited::rt_bb_visited(), set_uid_loop_bbs(), simplify_loop_version(), spaceship_replacement(), update_range_test(), vect_loop_versioning(), vectorizable_scan_store(), vectorizable_simd_clone_call(), and VN_INFO().
#define boolean_true_node global_trees[TI_BOOLEAN_TRUE] |
Referenced by and_var_with_comparison_1(), assert_loop_rolls_lt(), build_and_record_new_cond(), build_common_tree_nodes(), canonicalize_bool(), constant_boolean_node(), copy_edges_for_bb(), determine_exit_conditions(), do_split_loop_on_cond(), do_while_loop_p(), evaluate_control_stmt_using_entry_checks(), expand_builtin_atomic_always_lock_free(), expand_builtin_atomic_is_lock_free(), expand_complex_comparison(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_ordered_sink(), expand_task_call(), expr_expected_value_1(), fold_binary_loc(), fold_builtin_arith_overflow(), fold_builtin_atomic_always_lock_free(), fold_builtin_atomic_is_lock_free(), dom_opt_dom_walker::fold_cond(), simplify_using_ranges::fold_cond_with_ops(), gen_simplified_condition(), gimple_cond_false_p(), gimple_cond_make_true(), gimple_cond_true_p(), gimple_push_cleanup(), gimplify_expr(), gimplify_function_tree(), gimplify_omp_dispatch(), handle_abnormal_edges(), ifcombine_replace_cond(), init_bb_predicate(), rt_bb_visited::insert_exit_check_on_edge(), insert_predicates_for_cond(), insert_related_predicates_on_edge(), instrument_bool_enum_load(), is_true_predicate(), simplify_using_ranges::legacy_fold_cond_overflow(), lower_omp_single_simple(), lower_omp_task_reductions(), lower_rec_input_clauses(), number_of_iterations_cltz_complement(), number_of_iterations_cond(), number_of_iterations_exit_assumptions(), number_of_iterations_lt_to_ne(), number_of_iterations_popcount(), sm_set_flag_if_changed::operator()(), optimize_range_tests_var_bound(), or_comparisons_1(), or_var_with_comparison_1(), predicate_bbs(), record_common_node(), record_conditions(), reset_bb_predicate(), simplify_loop_version(), tree_simplify_using_condition_1(), try_vectorize_loop_1(), update_range_test(), vect_get_loop_niters(), vect_loop_versioning(), vectorizable_scan_store(), vectorizable_simd_clone_call(), rt_bb_visited::vindex(), VN_INFO(), and worker_single_simple().
#define boolean_type_node global_trees[TI_BOOLEAN_TYPE] |
Referenced by access_with_size_object_size(), add_to_dst_predicate_list(), adjust_imagpart_expr(), and_comparisons_1(), assert_loop_rolls_lt(), assert_no_overflow_lt(), build_and_record_new_cond(), build_cltz_expr(), build_common_tree_nodes(), c_strlen(), canonicalize_bool(), chain_cond_expr(), compare_values_warnv(), const_binop(), constant_boolean_node(), copy_prop_visit_cond_stmt(), create_assumption_fn(), create_ifn_alias_checks(), create_intersect_range_checks(), create_intersect_range_checks_index(), create_runtime_alias_checks(), create_waw_or_war_checks(), derive_constant_upper_bound_ops(), edge_info::derive_equivalences(), determine_exit_conditions(), do_compare(), dr_known_forward_stride_p(), eliminate_redundant_computations(), tree_switch_conversion::bit_test_cluster::emit(), evaluate_conditions_for_known_args(), execute_sm_if_changed_flag_set(), expand_builtin(), expand_complex_comparison(), expand_complex_div_wide(), expand_ifn_atomic_compare_exchange_into_call(), expand_ifn_atomic_op_fetch_cmp_0(), expand_oacc_for(), expand_omp_atomic_cas(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_simd(), expand_omp_target(), expand_omp_taskloop_for_inner(), expand_vector_comparison(), expand_vector_condition(), expr_hash_elt::expr_hash_elt(), extract_omp_for_update_vars(), find_unswitching_predicates_for_bb(), fold_binary_loc(), fold_builtin_arith_overflow(), fold_builtin_bit_query(), simplify_using_ranges::fold_cond_with_ops(), fold_or_predicates(), operator_bitwise_not::fold_range(), forward_propagate_into_gimple_cond(), gen_counter_update(), gen_one_condition(), gen_parallel_loop(), gen_pow2p(), gen_simplified_condition(), get_expr_type(), get_segment_min_max(), gimple_boolify(), gimple_extract(), gimple_fold_builtin_acc_on_device(), gimple_push_cleanup(), gimple_range_type(), gimple_simplify_phiopt(), gimplify_call_expr(), gimplify_function_tree(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_loop_xform(), gori_stmt_info::gori_stmt_info(), strlen_pass::handle_builtin_memcmp(), ifcombine_ifandif(), init_range_entry(), initialize_expr_from_cond(), rt_bb_visited::insert_exit_check_on_edge(), insert_predicates_for_cond(), insert_related_predicates_on_edge(), instrument_builtin_call(), ipa_get_jf_arith_result(), ipa_vr_intersect_with_arith_jfunc(), is_gimple_logical_p(), is_truth_type_for(), loop_exits_before_overflow(), loop_niter_by_eval(), lower_assumption(), lower_coro_builtin(), lower_lastprivate_clauses(), lower_omp_for_lastprivate(), lower_omp_for_scan(), lower_omp_master(), lower_omp_ordered(), lower_omp_single_copy(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_vec_perm(), match_arith_overflow(), may_propagate_copy_into_stmt(), minmax_replacement(), move_computations_worker(), n_of_executions_at_most(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_cond(), number_of_iterations_exit_assumptions(), number_of_iterations_le(), number_of_iterations_lt(), number_of_iterations_lt_to_ne(), number_of_iterations_ne(), number_of_iterations_popcount(), number_of_iterations_until_wrap(), oacc_build_routine_dims(), omp_apply_tile(), omp_extract_for_data(), omp_sese_split_blocks(), operator_bitwise_and::op1_range(), operator_bitwise_not::op1_range(), operator_bitwise_or::op1_range(), operator_bitwise_xor::op1_range(), optimize_atomic_op_fetch_cmp_0(), optimize_range_tests_1(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), dom_opt_dom_walker::optimize_stmt(), or_comparisons_1(), predicate_bbs(), predicate_statements(), process_bb(), range_entry_cmp(), range_is_either_true_or_false(), record_common_node(), record_edge_info(), fold_using_range::relation_fold_and_or(), remap_gimple_stmt(), rt_bb_visited::rt_bb_visited(), simd_clone_adjust(), simd_clone_adjust_argument_types(), simple_iv_with_niters(), simplify_using_ranges::simplify(), simplify_1b(), avail_exprs_stack::simplify_binary_operation(), simplify_builtin_call(), jump_threader::simplify_control_stmt_condition_1(), simplify_using_initial_conditions(), simplify_using_outer_evolutions(), spaceship_replacement(), split_loop(), tree_predict_by_opcode(), tree_simplify_using_condition_1(), truth_type_for(), ubsan_instrument_float_cast(), loop_cand::undo_simple_reduction(), unswitch_predicate::unswitch_predicate(), update_range_test(), value_replacement(), vect_create_cond_for_align_checks(), vect_create_cond_for_lower_bounds(), vect_create_cond_for_niters_checks(), vect_create_cond_for_unequal_addrs(), vect_create_epilog_for_reduction(), vect_do_peeling(), vect_get_loop_niters(), vect_loop_versioning(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_cond_store_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_gcond_pattern(), vectorizable_reduction(), verify_gimple_cond(), version_loop_by_alias_check(), version_loop_for_if_conversion(), rt_bb_visited::vindex(), visit_phi(), and VN_INFO().
#define build_call_array | ( | T1, | |
T2, | |||
N, | |||
T3 ) |
#define build_function_type_vec | ( | RET, | |
V ) |
#define build_type_variant | ( | TYPE, | |
CONST_P, | |||
VOLATILE_P ) |
Like build_qualified_type, but only deals with the `const' and `volatile' qualifiers. This interface is retained for backwards compatibility with the various front-ends; new code should use build_qualified_type instead.
Referenced by build_common_tree_nodes(), build_string_literal(), fold_builtin_memcmp(), and gimple_load_first_char().
#define build_varargs_function_type_vec | ( | RET, | |
V ) |
#define BUILTIN_ASM_NAME_PTR | ( | BUILTIN | ) |
Obtain a pointer to the identifier string holding the asm name for BUILTIN, a BUILT_IN code. This is handy if the target mangles/overrides the function name that implements the builtin.
Referenced by default_emit_call_builtin___clear_cache().
#define BUILTIN_TM_LOAD_P | ( | FN | ) |
Nonzero if a FUNCTION_CODE is a TM load.
Referenced by is_tm_load().
#define BUILTIN_TM_LOAD_STORE_P | ( | FN | ) |
Nonzero if a FUNCTION_CODE is a TM load/store.
#define BUILTIN_TM_STORE_P | ( | FN | ) |
Nonzero if a FUNCTION_CODE is a TM store.
Referenced by is_tm_store().
#define BUILTIN_VALID_P | ( | FNCODE | ) |
Valid builtin number.
Referenced by builtin_decl_declared_p(), builtin_decl_explicit(), builtin_decl_explicit_p(), builtin_decl_implicit(), builtin_decl_implicit_p(), set_builtin_decl(), set_builtin_decl_declared_p(), and set_builtin_decl_implicit_p().
#define CALL_ALLOCA_FOR_VAR_P | ( | NODE | ) |
In a CALL_EXPR, if the function being called is BUILT_IN_ALLOCA, means that it has been built for the declaration of a variable-sized object and, if the function being called is BUILT_IN_MEMCPY, means that it has been built for the assignment of a variable-sized object.
Referenced by expand_builtin_alloca(), expand_call_stmt(), gimple_build_call_from_tree(), gimplify_call_expr(), gimplify_parameters(), and gimplify_vla_decl().
#define CALL_EXPR_ARG | ( | NODE, | |
I ) |
Referenced by build_call_array_loc(), build_call_expr_internal_loc_array(), build_call_valist(), build_call_vec(), build_nt_call_vec(), call_arg(), check_strncat_sizes(), convert_to_integer_1(), convert_to_real_1(), expand_asan_emit_allocas_unpoison(), expand_builtin(), expand_builtin___clear_cache(), expand_builtin_adjust_descriptor(), expand_builtin_adjust_trampoline(), expand_builtin_alloca(), expand_builtin_assume_aligned(), expand_builtin_atomic_always_lock_free(), expand_builtin_atomic_clear(), expand_builtin_atomic_compare_exchange(), expand_builtin_atomic_exchange(), expand_builtin_atomic_fetch_op(), expand_builtin_atomic_is_lock_free(), expand_builtin_atomic_load(), expand_builtin_atomic_signal_fence(), expand_builtin_atomic_store(), expand_builtin_atomic_test_and_set(), expand_builtin_atomic_thread_fence(), expand_builtin_bswap(), expand_builtin_bzero(), expand_builtin_cexpi(), expand_builtin_classify_type(), expand_builtin_compare_and_swap(), expand_builtin_copysign(), expand_builtin_crc_table_based(), expand_builtin_eh_copy_values(), expand_builtin_eh_filter(), expand_builtin_eh_pointer(), expand_builtin_eh_return_data_regno(), expand_builtin_expect(), expand_builtin_expect_with_probability(), expand_builtin_fabs(), expand_builtin_feclear_feraise_except(), expand_builtin_frame_address(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_init_descriptor(), expand_builtin_init_trampoline(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_interclass_mathfn(), expand_builtin_issignaling(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), expand_builtin_memcmp(), expand_builtin_memcpy(), expand_builtin_memmove(), expand_builtin_memory_chk(), expand_builtin_mempcpy(), expand_builtin_memset(), expand_builtin_nonlocal_goto(), expand_builtin_object_size(), expand_builtin_powi(), expand_builtin_prefetch(), expand_builtin_set_thread_pointer(), expand_builtin_signbit(), expand_builtin_sincos(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strcpy(), expand_builtin_strlen(), expand_builtin_strncmp(), expand_builtin_strncpy(), expand_builtin_strnlen(), expand_builtin_strub_enter(), expand_builtin_strub_leave(), expand_builtin_strub_update(), expand_builtin_sync_lock_release(), expand_builtin_sync_lock_test_and_set(), expand_builtin_sync_operation(), expand_builtin_unop(), expand_builtin_va_copy(), expand_builtin_va_end(), expand_builtin_va_start(), expand_call_stmt(), expand_speculation_safe_value(), expression_expensive_p(), find_ifn_gomp_dispatch(), fold_binary_loc(), fold_builtin_next_arg(), fold_call_expr(), fold_negate_expr_1(), get_ref_from_access_with_size(), gimple_boolify(), gimple_build_call_from_tree(), gimplify_and_update_call_from_tree(), gimplify_call_expr(), gimplify_modify_expr(), goa_stabilize_expr(), inline_expand_builtin_bytecmp(), integer_valued_real_p(), loc_list_from_tree_1(), maybe_emit_chk_warning(), maybe_emit_sprintf_chk_warning(), negate_expr_p(), tree_builtin_call_types_compatible_p(), tree_expr_finite_p(), tree_expr_maybe_nan_p(), tree_expr_maybe_signaling_nan_p(), tree_invalid_nonnegative_warnv_p(), valid_gimple_call_p(), and validate_arglist().
#define CALL_EXPR_ARGP | ( | NODE | ) |
CALL_EXPR_ARGP returns a pointer to the argument vector for NODE. We can't use &CALL_EXPR_ARG (NODE, 0) because that will complain if the argument count is zero when checking is enabled. Instead, do the pointer arithmetic to advance past the 3 fixed operands in a CALL_EXPR. That produces a valid pointer to just past the end of the operand array, even if it's not valid to dereference it.
Referenced by fold_call_expr(), gimplify_call_expr(), and rewrite_call_expr().
#define CALL_EXPR_BY_DESCRIPTOR | ( | NODE | ) |
In a CALL_EXPR, indicates that this is an indirect call for which pointers to nested function are descriptors instead of trampolines.
Referenced by call_expr_flags(), expand_call(), expand_call_stmt(), gimple_build_call_from_tree(), pack_ts_base_value_fields(), and unpack_ts_base_value_fields().
#define CALL_EXPR_FN | ( | NODE | ) |
CALL_EXPR accessors.
Referenced by aggregate_value_p(), build_call_1(), build_nt_call_vec(), call_expr_flags(), dequeue_and_dump(), dump_generic_node(), emit_call_1(), expand_builtin(), expand_builtin_atomic_fetch_op(), expand_call(), expand_call_stmt(), expr_callee_abi(), get_call_combined_fn(), get_callee_fndecl(), gimple_build_call_from_tree(), gimplify_and_update_call_from_tree(), gimplify_call_expr(), gimplify_init_ctor_preeval_1(), gimplify_modify_expr(), operand_compare::hash_operand(), omp_discover_declare_target_tgt_fn_r(), operand_compare::operand_equal_p(), print_node(), simple_cst_equal(), tree_could_trap_p(), and validate_arglist().
#define CALL_EXPR_IFN | ( | NODE | ) |
Referenced by build_call_expr_internal_loc_array(), call_expr_flags(), dump_generic_node(), find_ifn_gomp_dispatch(), get_call_combined_fn(), gimple_build_call_from_tree(), gimplify_call_expr(), gimplify_modify_expr(), operand_compare::hash_operand(), is_access_with_size_p(), operand_compare::operand_equal_p(), streamer_read_tree_bitfields(), and streamer_write_tree_bitfields().
#define CALL_EXPR_MUST_TAIL_CALL | ( | NODE | ) |
Set on a CALL_EXPR if the call has been marked as requiring tail call optimization for correctness.
Referenced by expand_call(), expand_call_stmt(), gimple_build_call_from_tree(), and maybe_complain_about_tail_call().
#define call_expr_nargs | ( | NODE | ) |
Referenced by call_nargs(), convert_to_integer_1(), convert_to_real_1(), dump_generic_node(), expand_builtin(), expand_builtin_assume_aligned(), expand_builtin_classify_type(), expand_builtin_expect(), expand_builtin_expect_with_probability(), expand_builtin_frame_address(), expand_builtin_prefetch(), expand_builtin_va_start(), expand_call(), expand_speculation_safe_value(), fold_binary_loc(), fold_builtin_next_arg(), fold_call_expr(), gimple_boolify(), gimple_build_call_from_tree(), gimplify_and_update_call_from_tree(), gimplify_call_expr(), gimplify_modify_expr(), goa_stabilize_expr(), integer_valued_real_p(), loc_list_from_tree_1(), maybe_emit_sprintf_chk_warning(), rewrite_call_expr(), simple_cst_equal(), streamer_write_tree_header(), tree_builtin_call_types_compatible_p(), tree_invalid_nonnegative_warnv_p(), valid_gimple_call_p(), and validate_arglist().
#define CALL_EXPR_RETURN_SLOT_OPT | ( | NODE | ) |
In a CALL_EXPR, means that it's safe to use the target of the call expansion as the return slot for a call that returns in memory.
Referenced by dump_generic_node(), expand_call(), expand_call_stmt(), gimple_build_call_from_tree(), gimplify_call_expr(), gimplify_modify_expr_rhs(), and store_field().
#define CALL_EXPR_STATIC_CHAIN | ( | NODE | ) |
Referenced by build_call_1(), build_nt_call_vec(), dump_generic_node(), expand_call(), expand_call_stmt(), gimple_build_call_from_tree(), gimplify_call_expr(), and print_node().
#define CALL_EXPR_TAILCALL | ( | NODE | ) |
Set on a CALL_EXPR if the call is in a tail position, ie. just before the exit of a function. Calls for which this is true are candidates for tail call optimizations.
Referenced by dump_generic_node(), emit_block_op_via_libcall(), expand_builtin_atomic_fetch_op(), expand_builtin_memory_chk(), expand_builtin_memory_copy_args(), expand_builtin_memset_args(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_call(), expand_call_stmt(), gimple_build_call_from_tree(), gimplify_call_expr(), and set_storage_via_libcall().
#define CALL_EXPR_VA_ARG_PACK | ( | NODE | ) |
Set on a CALL_EXPR if this stdarg call should be passed the argument pack.
Referenced by dump_generic_node(), expand_call_stmt(), expand_expr_real_1(), fold_call_expr(), gimple_build_call_from_tree(), and gimplify_call_expr().
#define CALL_FROM_NEW_OR_DELETE_P | ( | NODE | ) |
In a CALL_EXPR, if the function being called is DECL_IS_OPERATOR_NEW_P or DECL_IS_OPERATOR_DELETE_P, true for allocator calls from C++ new or delete expressions. Not set for C++20 destroying delete operators.
Referenced by gimple_build_call_from_tree().
#define CALL_FROM_THUNK_P | ( | NODE | ) |
In a CALL_EXPR, means that the call is the jump from a thunk to the thunked-to function. Be careful to avoid using this macro when one of the next two applies instead.
Referenced by expand_call(), expand_call_stmt(), expand_expr_real_1(), gimple_build_call_from_tree(), and gimplify_call_expr().
#define CAN_HAVE_LOCATION_P | ( | NODE | ) |
True if a tree is an expression or statement that can have a location.
Referenced by build1_loc(), build2_loc(), build3_loc(), build4_loc(), build5_loc(), expand_gimple_stmt_1(), fold_call_stmt(), gimple_assign_rhs_to_tree(), maybe_wrap_with_location(), protected_set_expr_location(), and protected_set_expr_location_unshare().
#define CAN_HAVE_RANGE_P | ( | NODE | ) |
Referenced by gcc_rich_location::add_expr().
#define CASE_BUILT_IN_ALLOCA |
Generate case for an alloca operation.
Referenced by alloca_call_p(), builtin_fnspec(), builtin_safe_for_const_function_p(), evaluate_stmt(), expand_builtin(), get_mem_refs_of_builtin_call(), gimple_alloca_call_p(), gimplify_call_expr(), is_inexpensive_builtin(), is_removable_allocation_p(), and mark_all_reaching_defs_necessary_1().
#define CASE_BUILT_IN_TM_LOAD | ( | FN | ) |
Referenced by builtin_fnspec(), find_func_aliases_for_builtin_call(), and is_tm_builtin().
#define CASE_BUILT_IN_TM_STORE | ( | FN | ) |
Referenced by builtin_fnspec(), find_func_aliases_for_builtin_call(), and is_tm_builtin().
#define CASE_CHAIN | ( | NODE | ) |
Referenced by build_case_label(), edge_to_cases_cleanup(), get_cases_for_edge(), gimple_redirect_edge_and_branch(), predicate::init_from_control_deps(), and verify_gimple_switch().
#define CASE_CONVERT |
Generate case for NOP_EXPR, CONVERT_EXPR.
Referenced by aff_combination_expand(), find_candidates_dom_walker::before_dom_children(), bit_value_unop(), chrec_apply(), chrec_fold_multiply(), chrec_fold_plus_1(), compare_constant(), computable_teams_clause(), compute_object_offset(), compute_reloc_for_constant(), const_hash_1(), const_unop(), convert_to_integer_1(), derive_constant_upper_bound_ops(), edge_info::derive_equivalences(), do_jump(), dump_condition(), dump_generic_node(), dump_unary_rhs(), eq_evolutions_p(), ipa_icf::sem_variable::equals(), estimate_operator_cost(), evolution_function_right_is_integer_cst(), expand_debug_expr(), expand_expr_real_2(), expand_simple_operations(), expand_vector_conversion(), expr_to_aff_combination(), extract_muldiv_1(), find_deriving_biv_for_expr(), find_equal_ptrs(), find_foldable_builtin_expect(), fold_truth_not_expr(), fold_unary_loc(), scev_dfs::follow_ssa_edge_expr(), force_expr_to_var_cost(), gimple_convert_def_p(), gimplify_expr(), init_range_entry(), initialize_matrix_A(), initializer_constant_valid_p_1(), instantiate_scev_r(), integer_valued_real_unary_p(), interpret_rhs_expr(), loc_list_from_tree_1(), make_range_step(), may_be_nonaddressable_p(), multiple_of_p(), omp_member_access_dummy_var(), op_code_prio(), operand_compare::operand_equal_p(), operator_is_linear(), output_addressed_constants(), possible_vector_mask_operation_p(), print_call_name(), simplify_using_ranges::simplify(), simplify_using_ranges::simplify_casted_compare(), split_constant_offset_1(), stabilize_reference(), stmt_cost(), supportable_narrowing_operation(), supportable_widening_operation(), target_align(), tree_ctz(), tree_nonzero_bits(), tree_to_aff_combination(), tree_unary_nonnegative_warnv_p(), value_replacement(), vect_check_gather_scatter(), vect_determine_precisions_from_users(), vect_simd_lane_linear(), verify_gimple_assign_unary(), and visit_nary_op().
#define CASE_FLT_FN | ( | FN | ) |
Helper macros for math builtins.
Referenced by associated_internal_fn(), builtin_with_linkage_p(), can_test_argument_range(), convert_to_integer_1(), edom_only_function(), expand_builtin(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), fold_builtin_0(), fold_builtin_1(), fold_builtin_2(), fold_builtin_3(), fold_builtin_interclass_mathfn(), get_no_error_domain(), interclass_mathfn_icode(), is_copysign_call_with_1(), and gimple_range_op_handler::maybe_builtin_call().
#define CASE_FLT_FN_FLOATN_NX | ( | FN | ) |
Referenced by builtin_with_linkage_p(), can_test_argument_range(), convert_to_integer_1(), edom_only_function(), expand_builtin(), expand_builtin_mathfn_ternary(), fold_builtin_0(), fold_builtin_1(), fold_const_call(), get_no_error_domain(), and is_copysign_call_with_1().
#define CASE_FLT_FN_REENT | ( | FN | ) |
Referenced by fold_builtin_2().
#define CASE_HIGH | ( | NODE | ) |
Referenced by tree_switch_conversion::switch_decision_tree::analyze_switch_statement(), associate_equivalences_with_edges(), build_case_label(), tree_switch_conversion::switch_conversion::build_constructors(), gimple_outgoing_range::calc_switch_ranges(), simplify_using_ranges::cleanup_edges_and_switches(), tree_switch_conversion::switch_conversion::collect(), ipa_icf_gimple::func_checker::compare_gimple_switch(), tree_switch_conversion::switch_decision_tree::compute_cases_per_edge(), convert_single_case_switch(), dequeue_and_dump(), dump_generic_node(), tree_switch_conversion::jump_table_cluster::emit(), expand_case(), expand_sjlj_dispatch_table(), find_case_label_for_value(), find_case_label_index(), find_case_label_range(), find_case_label_range(), find_case_label_ranges(), find_unswitching_predicates_for_bb(), gimple_lower_bitint(), gimple_switch_default_label(), gimple_switch_set_default_label(), group_case_labels_stmt(), predicate::init_from_control_deps(), tree_switch_conversion::switch_conversion::is_exp_index_transform_viable(), predicate_bbs(), preprocess_case_label_vec_for_gimple(), record_edge_info(), set_switch_stmt_execution_predicate(), simplify_gimple_switch(), simplify_using_ranges::simplify_switch_using_ranges(), and verify_gimple_switch().
#define CASE_HIGH_SEEN | ( | NODE | ) |
Used as a temporary field on a CASE_LABEL_EXPR to indicate that the CASE_HIGH operand has been processed.
#define CASE_INT_FN | ( | FN | ) |
Referenced by expand_builtin(), and instrument_builtin().
#define CASE_LABEL | ( | NODE | ) |
Referenced by tree_switch_conversion::switch_decision_tree::analyze_switch_statement(), associate_equivalences_with_edges(), build_case_label(), tree_switch_conversion::switch_conversion::build_constructors(), case_label_p(), clean_up_after_unswitching(), cleanup_dead_labels(), tree_switch_conversion::case_bit_test::cmp(), ipa_icf_gimple::func_checker::compare_gimple_switch(), control_flow_regions::compute_regions(), convert_single_case_switch(), dequeue_and_dump(), diagnose_sb_2(), dump_gimple_switch(), evaluate_control_stmt_using_entry_checks(), expand_case(), expand_gimple_stmt_1(), expand_sjlj_dispatch_table(), back_threader::find_taken_edge_switch(), find_taken_edge_switch_expr(), find_unswitching_predicates_for_bb(), tree_switch_conversion::switch_conversion::gather_default_values(), get_cases_for_edge(), gimple_redirect_edge_and_branch(), gimple_switch_label_bb(), gimplify_case_label_expr(), gimplify_switch_expr(), group_case_labels_stmt(), if_convertible_switch_p(), lower_try_finally_switch(), predicate_bbs(), preprocess_case_label_vec_for_gimple(), record_edge_info(), simplify_gimple_switch_label_vec(), simplify_using_ranges::simplify_switch_using_ranges(), jump_threader::thread_around_empty_blocks(), and jump_threader::thread_through_normal_block().
#define CASE_LOW | ( | NODE | ) |
CASE_LABEL_EXPR accessors. These give access to the high and low values of a case label, respectively.
Referenced by tree_switch_conversion::switch_decision_tree::analyze_switch_statement(), associate_equivalences_with_edges(), build_case_label(), tree_switch_conversion::switch_conversion::build_constructors(), gimple_outgoing_range::calc_switch_ranges(), simplify_using_ranges::cleanup_edges_and_switches(), tree_switch_conversion::switch_conversion::collect(), compare_case_labels(), ipa_icf_gimple::func_checker::compare_gimple_switch(), convert_single_case_switch(), dequeue_and_dump(), dump_generic_node(), tree_switch_conversion::jump_table_cluster::emit(), evaluate_control_stmt_using_entry_checks(), tree_switch_conversion::switch_conversion::exp_index_transform(), expand_case(), expand_sjlj_dispatch_table(), find_case_label_for_value(), find_case_label_index(), find_case_label_range(), find_case_label_range(), find_case_label_ranges(), find_unswitching_predicates_for_bb(), tree_switch_conversion::switch_conversion::gather_default_values(), generate_loops_for_partition(), gimple_lower_bitint(), gimple_switch_default_label(), gimple_switch_set_default_label(), gimple_verify_flow_info(), group_case_labels_stmt(), predicate::init_from_control_deps(), tree_switch_conversion::switch_conversion::is_exp_index_transform_viable(), label_cmp(), lower_try_finally_switch(), predicate_bbs(), preprocess_case_label_vec_for_gimple(), record_edge_info(), set_switch_stmt_execution_predicate(), simplify_gimple_switch(), simplify_using_ranges::simplify_switch_using_ranges(), gimple_outgoing_range::switch_edge_range(), and verify_gimple_switch().
#define CASE_LOW_SEEN | ( | NODE | ) |
Used as a temporary field on a CASE_LABEL_EXPR to indicate that the CASE_LOW operand has been processed.
#define CATCH_BODY | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_expr(), and try_catch_may_fallthru().
#define CATCH_TYPES | ( | NODE | ) |
CATCH_EXPR accessors.
Referenced by dump_generic_node(), and gimplify_expr().
#define char_type_node integer_types[itk_char] |
Referenced by adjust_pointer_diff_expr(), ao_ref_init_from_ptr_and_range(), array_elt_at_offset(), asan_emit_stack_protection(), build_common_tree_nodes(), build_complex_type(), build_info(), build_info_type(), clear_padding_flush(), constant_byte_string(), strlen_pass::count_nonzero_bytes(), create_odr_indicator(), define_builtin_macros_for_type_sizes(), expand_builtin_init_dwarf_reg_sizes(), fold_binary_loc(), get_mem_refs_of_builtin_call(), get_memory_rtx(), get_trampoline_type(), get_typenode_from_name(), gimple_fold_builtin_memory_op(), gimple_get_alias_set(), gimple_signed_or_unsigned_type(), gimplify_adjust_omp_clauses_1(), strlen_pass::handle_builtin_memcmp(), strlen_pass::handle_integral_assign(), increment_start_addr(), instrument_expr(), is_char_type(), maybe_trim_constructor_store(), maybe_warn_nonstring_arg(), omp_resolve_clause_dependencies(), optimize_stdarg_builtin(), optimize_va_list_gpr_fpr_size(), output_comp_unit(), record_common_node(), resolve_addr_in_expr(), simplify_builtin_call(), stack_protect_classify_type(), loop_distribution::transform_reduction_loop(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), ubsan_source_location(), ubsan_type_descriptor(), vect_recog_rotate_pattern(), vectorizable_bswap(), and worker_single_copy().
#define chrec_dont_know global_trees[TI_CHREC_DONT_KNOW] |
Referenced by add_other_self_distances(), scev_dfs::add_to_evolution(), scev_dfs::add_to_evolution_1(), analyze_evolution_in_loop(), analyze_initial_condition(), analyze_miv_subscript(), analyze_overlapping_iterations(), analyze_scalar_evolution_1(), analyze_scalar_evolution_in_loop(), analyze_siv_subscript(), analyze_siv_subscript_cst_affine(), analyze_subscript_affine_affine(), analyze_ziv_subscript(), automatically_generated_chrec_p(), build_common_tree_nodes(), build_polynomial_chrec(), canonicalize_loop_induction_variables(), chrec_apply(), chrec_contains_undetermined(), chrec_convert_1(), chrec_evaluate(), chrec_fold_automatically_generated_operands(), chrec_fold_multiply(), chrec_fold_multiply_poly_poly(), chrec_fold_plus_1(), chrec_fold_plus_poly_poly(), chrec_merge(), loop_distribution::classify_builtin_ldst(), compute_affine_dependence(), compute_alias_check_pairs(), compute_data_dependences_for_loop(), compute_overall_effect_of_inner_loop(), compute_overlap_steps_for_affine_1_2(), compute_overlap_steps_for_affine_univar(), compute_subscript_distance(), cond_if_else_store_replacement(), loop_distribution::data_dep_in_cycle_p(), determine_loop_nest_reuse(), dump_data_dependence_relation(), loop_distribution::execute(), final_value_replacement_loop(), find_data_references_in_bb(), find_data_references_in_loop(), find_loop_niter(), find_loop_niter_by_eval(), scev_dfs::follow_ssa_edge_expr(), scev_dfs::follow_ssa_edge_in_condition_phi(), scev_dfs::follow_ssa_edge_in_condition_phi_branch(), scev_dfs::follow_ssa_edge_inner_loop_phi(), scev_dfs::get_ev(), hide_evolution_in_other_loops_than_loop(), initialize_data_dependence_relation(), initialize_data_dependence_relation(), initialize_matrix_A(), instantiate_scev_binary(), instantiate_scev_convert(), instantiate_scev_name(), instantiate_scev_not(), instantiate_scev_poly(), instantiate_scev_r(), interpret_condition_phi(), interpret_expr(), interpret_rhs_expr(), known_dependences_p(), lambda_transform_legal_p(), loop_niter_by_eval(), max_stmt_executions_tree(), no_evolution_in_loop_p(), number_of_latch_executions(), loop_distribution::pg_add_dependence_edges(), prepare_perfect_loop_nest(), crc_optimization::satisfies_crc_loop_iteration_count(), simplify_peeled_chrec(), pcom_worker::split_data_refs_to_components(), subscript_dependence_tester_1(), tree_if_conversion(), tree_loop_unroll_and_jam(), vect_analyze_data_ref_dependence(), vect_get_loop_niters(), and vect_slp_analyze_data_ref_dependence().
#define chrec_known global_trees[TI_CHREC_KNOWN] |
Referenced by adjust_unroll_factor(), automatically_generated_chrec_p(), build_classic_dist_vector_1(), build_common_tree_nodes(), chrec_fold_automatically_generated_operands(), chrec_merge(), loop_distribution::classify_builtin_ldst(), compute_affine_dependence(), cond_if_else_store_replacement(), loop_distribution::data_dep_in_cycle_p(), determine_loop_nest_reuse(), dump_data_dependence_relation(), initialize_data_dependence_relation(), instantiate_scev_r(), lambda_transform_legal_p(), pcom_worker::split_data_refs_to_components(), subscript_dependence_tester_1(), tree_loop_unroll_and_jam(), tree_loop_interchange::update_data_info(), tree_loop_interchange::valid_data_dependences(), vect_analyze_data_ref_dependence(), and vect_slp_analyze_data_ref_dependence().
#define CHREC_LEFT | ( | NODE | ) |
Accessors for the chains of recurrences.
Referenced by add_multivariate_self_dist(), add_other_self_distances(), add_subscript_strides(), scev_dfs::add_to_evolution_1(), analyze_and_compute_bitwise_induction_effect(), loop_cand::analyze_induction_var(), can_use_analyze_subscript_affine_affine(), chrec_apply(), chrec_component_in_loop_num(), chrec_convert_1(), chrec_convert_aggressive(), chrec_evaluate(), chrec_fold_multiply(), chrec_fold_multiply_poly_poly(), chrec_fold_plus_1(), chrec_fold_plus_poly_poly(), chrec_is_positive(), chrec_replace_initial_condition(), compute_access_range(), compute_access_stride(), compute_overlap_steps_for_affine_1_2(), create_intersect_range_checks_index(), derive_simple_iv_with_niters(), dump_generic_node(), eq_evolutions_p(), evolution_function_is_affine_in_loop(), evolution_function_is_affine_multivariate_p(), evolution_function_is_invariant_rec_p(), evolution_function_is_univariate_p(), evolution_function_right_is_integer_cst(), gcd_of_steps_may_divide_p(), get_base_for_alignment_1(), hide_evolution_in_other_loops_than_loop(), initial_condition(), initialize_matrix_A(), instantiate_scev_poly(), is_multivariate_chrec(), is_multivariate_chrec_rec(), reset_evolution_in_loop(), simple_iv_with_niters(), and simplify_peeled_chrec().
#define chrec_not_analyzed_yet NULL_TREE |
SCEV analyzer global shared trees.
Referenced by analyze_evolution_in_loop(), analyze_initial_condition(), analyze_scalar_evolution(), chrec_fold_automatically_generated_operands(), chrec_merge(), get_instantiated_value_entry(), get_scalar_evolution(), instantiate_scev_name(), interpret_condition_phi(), new_scev_info_str(), and no_evolution_in_loop_p().
#define CHREC_NOWRAP | ( | NODE | ) |
Nonzero if this chrec doesn't overflow (i.e., nonwrapping).
Referenced by dump_generic_node(), nonwrapping_chrec_p(), and record_nonwrapping_chrec().
#define CHREC_RIGHT | ( | NODE | ) |
Referenced by add_multivariate_self_dist(), add_subscript_strides(), scev_dfs::add_to_evolution_1(), analyze_and_compute_bitwise_induction_effect(), loop_cand::analyze_induction_var(), analyze_siv_subscript_cst_affine(), analyze_subscript_affine_affine(), can_use_analyze_subscript_affine_affine(), chrec_apply(), chrec_component_in_loop_num(), chrec_convert_1(), chrec_convert_aggressive(), chrec_evaluate(), chrec_fold_multiply(), chrec_fold_multiply_poly_poly(), chrec_fold_plus_1(), chrec_fold_plus_poly_poly(), chrec_is_positive(), chrec_replace_initial_condition(), compute_access_range(), compute_access_stride(), compute_overlap_steps_for_affine_1_2(), create_intersect_range_checks_index(), derive_simple_iv_with_niters(), dump_generic_node(), eq_evolutions_p(), evolution_function_is_affine_in_loop(), evolution_function_is_affine_multivariate_p(), evolution_function_is_affine_p(), evolution_function_is_invariant_rec_p(), evolution_function_is_univariate_p(), evolution_function_right_is_integer_cst(), gcd_of_steps_may_divide_p(), get_base_for_alignment_1(), hide_evolution_in_other_loops_than_loop(), initialize_matrix_A(), instantiate_scev_poly(), is_multivariate_chrec(), is_multivariate_chrec_rec(), reset_evolution_in_loop(), scev_direction(), simple_iv_with_niters(), and simplify_peeled_chrec().
#define CHREC_VARIABLE | ( | NODE | ) |
Referenced by add_multivariate_self_dist(), add_other_self_distances(), scev_dfs::add_to_evolution_1(), loop_cand::analyze_induction_var(), build_classic_dist_vector_1(), build_polynomial_chrec(), can_use_analyze_subscript_affine_affine(), chrec_apply(), chrec_component_in_loop_num(), chrec_convert_1(), chrec_convert_aggressive(), chrec_evaluate(), chrec_fold_multiply(), chrec_fold_multiply_poly_poly(), chrec_fold_plus_1(), chrec_fold_plus_poly_poly(), chrec_is_positive(), chrec_replace_initial_condition(), create_intersect_range_checks_index(), derive_simple_iv_with_niters(), dump_generic_node(), eq_evolutions_p(), evolution_function_is_affine_multivariate_p(), evolution_function_is_affine_p(), evolution_function_is_invariant_rec_p(), evolution_function_is_univariate_p(), get_chrec_loop(), instantiate_scev_poly(), is_multivariate_chrec(), is_multivariate_chrec_rec(), nb_vars_in_chrec(), reset_evolution_in_loop(), scev_is_linear_expression(), simple_iv_with_niters(), and siv_subscript_p().
#define CLEANUP_EH_ONLY | ( | NODE | ) |
In a TARGET_EXPR or WITH_CLEANUP_EXPR, means that the pertinent cleanup should only be executed if an exception is thrown, not on normal exit of its scope.
Referenced by gimplify_target_expr().
#define CLEAR_QUAL_ADDR_SPACE | ( | X | ) |
Return all qualifiers except for the address space qualifiers.
#define CLOBBER_KIND | ( | NODE | ) |
Return the clobber_kind of a CLOBBER CONSTRUCTOR.
Referenced by build_clobber(), dump_generic_node(), gimple_clobber_p(), streamer_read_tree_bitfields(), and streamer_write_tree_bitfields().
#define COMPARISON_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents a comparison.
Referenced by add_iv_candidate_for_doloop(), arith_overflow_check_p(), bitwise_inverted_equal_p(), canonicalize_bool(), canonicalize_cond_expr_cond(), canonicalize_loop_induction_variables(), computable_teams_clause(), dump_generic_node(), eliminate_redundant_comparison(), expand_cond_expr_using_cmove(), extract_muldiv_1(), fold_binary_loc(), fold_builtin_expect(), fold_ternary_loc(), fold_unary_loc(), range_query::get_tree_range(), gimple_boolify(), gimple_build_assign_1(), gimple_cond_get_ops_from_tree(), gimple_expand_vec_cond_expr(), gimple_lower_bitint(), gimplify_modify_expr(), gimplify_omp_for(), initialize_expr_from_cond(), inverse_conditions_p(), is_gimple_condexpr_1(), number_of_latch_executions(), omp_loop_number_of_iterations(), operand_compare::operand_equal_p(), parloops_is_simple_reduction(), parse_predicate(), predicate_statements(), record_conditions(), replace_stmt_with_simplification(), same_bool_result_p(), simplify_1b(), simplify_builtin_call(), spaceship_replacement(), tree_could_trap_p(), vec_init_loop_exit_info(), vect_embedded_comparison_type(), vect_get_loop_niters(), vect_get_operand_map(), vect_is_simple_cond(), vect_is_simple_use(), vect_mark_stmts_to_be_vectorized(), vect_recog_mask_conversion_pattern(), vectorizable_condition(), vectorizable_reduction(), and will_be_nonconstant_expr_predicate().
#define COMPLETE_OR_UNBOUND_ARRAY_TYPE_P | ( | NODE | ) |
Nonzero if this type is complete or is an array with unspecified bound.
Referenced by expand_expr_real_1().
#define COMPLETE_OR_VOID_TYPE_P | ( | NODE | ) |
Nonzero if this type is complete or is cv void.
#define COMPLETE_TYPE_P | ( | NODE | ) |
Nonzero if this type is a complete type.
Referenced by add_pubtype(), add_type_duplicate(), array_type_nelts_minus_one(), assign_temp(), build_complex_type(), build_function_type(), build_method_type_directly(), build_offset_type(), clear_padding_type(), clear_padding_union(), complete_or_array_type_p(), convert_to_integer_1(), create_tmp_var(), decl_attributes(), dump_type_inheritance_graph(), type_cache_hasher::equal(), expand_assignment(), expand_expr_real_1(), fully_constant_vn_reference_p(), gen_generic_params_dies(), get_alias_set(), get_odr_type(), gimple_canonical_types_compatible_p(), gimple_fold_builtin_clear_padding(), gimplify_asm_expr(), gimplify_expr(), initialize_argument_information(), initialize_data_dependence_relation(), maybe_add_sra_candidate(), odr_types_equivalent_p(), omp_mappable_type(), register_odr_type(), safe_from_p(), scan_sharing_clauses(), set_type_binfo(), type_variants_equivalent_p(), type_with_alias_set_p(), verify_type(), verify_type_variant(), vn_reference_eq(), and warn_types_mismatch().
#define complex_double_type_node global_trees[TI_COMPLEX_DOUBLE_TYPE] |
Referenced by build_common_tree_nodes(), excess_precision_type(), fold_builtin_interclass_mathfn(), and init_optabs().
#define complex_float_type_node global_trees[TI_COMPLEX_FLOAT_TYPE] |
Referenced by build_common_tree_nodes(), and excess_precision_type().
#define COMPLEX_FLOAT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a complex floating-point type.
Referenced by builtin_mathfn_code(), const_binop(), fold_binary_loc(), reassociate_bb(), try_special_add_to_ops(), type_strictly_matches_mode_p(), and valid_lattice_transition().
#define COMPLEX_FLOATN_NX_TYPE_NODE | ( | IDX | ) |
Referenced by build_common_tree_nodes(), and long_double_as_float128().
#define complex_integer_type_node global_trees[TI_COMPLEX_INTEGER_TYPE] |
Referenced by build_common_tree_nodes().
#define complex_long_double_type_node global_trees[TI_COMPLEX_LONG_DOUBLE_TYPE] |
Referenced by build_common_tree_nodes(), excess_precision_type(), and long_double_as_float128().
#define COMPOUND_LITERAL_EXPR_DECL | ( | NODE | ) |
Referenced by canonicalize_constructor_val(), decode_addr_const(), expand_expr_addr_expr_1(), loc_list_from_tree_1(), and staticp().
#define COMPOUND_LITERAL_EXPR_DECL_EXPR | ( | NODE | ) |
COMPOUND_LITERAL_EXPR accessors.
Referenced by gimplify_compound_literal_expr(), gimplify_modify_expr_rhs(), and optimize_compound_literals_in_ctor().
#define COND_EXPR_COND | ( | NODE | ) |
COND_EXPR accessors.
Referenced by dump_generic_node(), gimplify_cond_expr(), and gimplify_pure_cond_expr().
#define COND_EXPR_ELSE | ( | NODE | ) |
Referenced by block_may_fallthru(), dump_generic_node(), and gimplify_pure_cond_expr().
#define COND_EXPR_THEN | ( | NODE | ) |
Referenced by block_may_fallthru(), dump_generic_node(), and gimplify_pure_cond_expr().
#define const_fenv_t_ptr_type_node global_trees[TI_CONST_FENV_T_PTR_TYPE] |
#define const_fexcept_t_ptr_type_node global_trees[TI_CONST_FEXCEPT_T_PTR_TYPE] |
#define const_ptr_type_node global_trees[TI_CONST_PTR_TYPE] |
The C type `const void *'.
Referenced by add_decls_addresses_to_decl_constructor(), asan_add_global(), asan_dynamic_init_call(), asan_global_struct(), build_common_builtin_nodes(), build_common_tree_nodes(), initialize_sanitizer_builtins(), and tree_ssa_prefetch_arrays().
#define const_tm_ptr_type_node global_trees[TI_CONST_TM_PTR_TYPE] |
The C type `const struct tm *'.
#define CONSTANT_CLASS_OR_WRAPPER_P | ( | NODE | ) |
Nonzero if NODE represents a constant, or is a location wrapper around such a node.
Referenced by convert_to_complex_maybe_fold(), convert_to_integer_maybe_fold(), convert_to_pointer_maybe_fold(), and convert_to_real_maybe_fold().
#define CONSTANT_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents a constant.
Referenced by build_complex(), build_vector_from_val(), call_may_clobber_ref_p_1(), tree_vector_builder::can_elide_p(), canonicalize_constructor_val(), chrec_convert_1(), loop_cand::classify_simple_reduction(), clean_up_after_unswitching(), const_binop(), const_hash_1(), const_unop(), constant_after_peeling(), constant_for_folding(), ana::constant_svalue::constant_svalue(), copy_tree_body_r(), create_waw_or_war_checks(), divmod_candidate_p(), eliminate_dom_walker::eliminate_avail(), expand_expr_addr_expr_1(), expand_vector_condition(), expand_vector_conversion(), expand_vector_piecewise(), final_value_replacement_loop(), fold(), fold_array_ctor_reference(), fold_binary_loc(), fold_builtin_constant_p(), fold_comparison(), fold_const_fold_left(), fold_const_reduction(), fold_const_vec_convert(), fold_ctor_reference(), fold_gimple_assign(), fold_ternary_loc(), fold_unary_loc(), follow_copies_to_constant(), for_each_index(), force_expr_to_var_cost(), get_base_constructor(), get_base_var(), get_computation_cost(), get_constraint_for_component_ref(), get_initial_defs_for_reduction(), get_object_alignment_2(), get_ref_base_and_extent(), gimple_build_vector(), gimple_build_vector_from_val(), gimple_fold_stmt_to_constant_1(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_switch_set_index(), gimplify_init_constructor(), gvn_uses_equal(), insert_debug_temp_for_var_def(), instantiate_scev_r(), is_gimple_address(), is_gimple_invariant_address(), is_gimple_ip_invariant_address(), is_gimple_mem_ref_addr(), is_inv_store_elimination_chain(), known_succ_p(), likely_value(), lower_vec_perm(), make_forwarders_with_degenerate_phis(), mangle_referenced_decls(), maybe_fold_reference(), maybe_wrap_with_location(), output_addressed_constants(), preserve_any_location_wrapper(), process_call_operands(), ptr_deref_may_alias_decl_p(), ptr_derefs_may_alias_p(), vn_walk_cb_data::push_partial_def(), read_complex_part(), recompute_tree_invariant_for_addr_expr(), reference_to_unused(), refs_may_alias_p_2(), remap_gimple_op_r(), replace_exp(), rtl_for_decl_init(), set_lattice_value(), set_mem_attributes_minus_bitpos(), simple_operand_p(), simplify_1b(), simplify_replace_tree(), simplify_vector_constructor(), substitute_in_expr(), transaction_invariant_address_p(), tree_invariant_p_1(), tree_single_nonzero_warnv_p(), tree_swap_operands_p(), unswitch_predicate::unswitch_predicate(), vect_check_store_rhs(), vect_create_constant_vectors(), vect_create_nonlinear_iv_vec_step(), vect_init_vector(), vect_is_simple_use(), vectorizable_conversion(), vectorizable_induction(), visit_reference_op_load(), and vn_reference_lookup_3().
#define CONSTRUCTOR_APPEND_ELT | ( | V, | |
INDEX, | |||
VALUE ) |
Append a new constructor element to V, with the specified INDEX and VAL.
Referenced by add_decls_addresses_to_decl_constructor(), asan_add_global(), build_constructor_from_list(), build_constructor_from_vec(), build_constructor_va(), build_fn_info(), build_info(), build_vector_from_val(), coverage_obj_fn(), create_expression_by_pieces(), expand_expr_real_1(), expand_omp_for_generic(), fold_vec_perm(), gimple_build_vector(), lower_omp_target(), lower_vec_perm(), native_interpret_aggregate(), ubsan_create_data(), vectorizable_load(), vectorizable_simd_clone_call(), and vectorize_slp_instance_root_stmt().
#define CONSTRUCTOR_BITFIELD_P | ( | NODE | ) |
True if NODE, a FIELD_DECL, is to be processed as a bitfield for constructor output purposes.
Referenced by output_constructor().
#define CONSTRUCTOR_ELT | ( | NODE, | |
IDX ) |
Referenced by convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), strlen_pass::count_nonzero_bytes(), fold(), fold_array_ctor_reference(), fold_read_from_vector(), gimple_get_virt_method_for_vtable(), init_vn_nary_op_from_stmt(), optimize_vector_constructor(), store_constructor(), vect_slp_check_for_roots(), vector_element(), and vn_lookup_simplify_result().
#define CONSTRUCTOR_ELTS | ( | NODE | ) |
In a CONSTRUCTOR node.
Referenced by array_size_for_constructor(), build_constructor(), build_tm_store(), categorize_ctor_elements_1(), check_ctz_array(), compare_constant(), compute_reloc_for_constant(), const_hash_1(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), copy_tree_r(), strlen_pass::count_nonzero_bytes(), ctor_single_nonzero_element(), ctor_to_vec(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_generic_node(), dwarf2out_decl(), ipa_icf::sem_variable::equals(), expand_debug_expr(), expand_expr_real_1(), find_constructor_constant_at_offset(), fold(), fold_gimple_assign(), fold_nonarray_ctor_reference(), fold_ternary_loc(), free_node(), get_array_ctor_element_at_index(), get_constraint_for_1(), operands_scanner::get_expr_operands(), get_initializer_for(), gimple_fold_stmt_to_constant_1(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_init_ctor_eval_range(), gimplify_init_ctor_preeval(), gimplify_modify_expr_to_memset(), operand_compare::hash_operand(), hash_tree(), initializer_constant_valid_for_bitfield_p(), initializer_constant_valid_p_1(), initializer_zerop(), likely_value(), loc_list_from_tree_1(), lto_input_ts_constructor_tree_pointers(), native_encode_initializer(), operand_compare::operand_equal_p(), optimize_compound_literals_in_ctor(), optimize_vector_constructor(), output_addressed_constants(), output_constant(), output_constructor(), print_node(), recompute_constructor_flags(), rtl_for_decl_init(), safe_from_p(), simple_cst_equal(), simplify_vector_constructor(), store_constructor(), streamer_read_tree_bitfields(), uniform_vector_p(), valid_gimple_rhs_p(), vec_cst_ctor_to_array(), vect_slp_check_for_roots(), verify_constructor_flags(), verify_gimple_assign_single(), walk_stmt_load_store_addr_ops(), walk_tree_1(), and write_ts_constructor_tree_pointers().
#define CONSTRUCTOR_NELTS | ( | NODE | ) |
Referenced by rt_bb_visited::check(), const_with_all_bytes_same(), strlen_pass::count_nonzero_bytes(), ctor_to_vec(), dequeue_and_dump(), dump_generic_node(), expand_assign_tm(), fold_array_ctor_reference(), fold_read_from_vector(), get_constraint_for_1(), gimple_fold_stmt_to_constant_1(), gimple_get_virt_method_for_vtable(), gimplify_modify_expr(), hash_tree(), immediate_const_ctor_p(), init_vn_nary_op_from_stmt(), lto_input_ts_constructor_tree_pointers(), maybe_trim_constructor_store(), native_encode_constructor(), operand_compare::operand_equal_p(), optimize_vector_constructor(), print_node(), sra_modify_constructor_assign(), stmt_cost(), store_constructor(), streamer_write_tree_bitfields(), vect_slp_check_for_roots(), vector_element(), verify_gimple_assign_single(), vn_lookup_simplify_result(), vn_nary_length_from_stmt(), and vn_reference_lookup_3().
#define CONSTRUCTOR_NO_CLEARING | ( | NODE | ) |
Referenced by gimplify_init_constructor(), operand_compare::hash_operand(), native_encode_initializer(), and operand_compare::operand_equal_p().
#define CONSTRUCTOR_ZERO_PADDING_BITS | ( | NODE | ) |
True if even padding bits should be zeroed during initialization.
Referenced by categorize_ctor_elements_1().
#define CONTAINS_PLACEHOLDER_P | ( | EXP | ) |
This macro calls the above function but short-circuits the common case of a constant to save time. Also check for null.
Referenced by contains_placeholder_p(), fold_range_test(), gimplify_one_sizepos(), type_contains_placeholder_1(), and variable_size().
When checking is enabled, errors will be generated if a tree node is accessed incorrectly. The macros die with a fatal error.
#define CONVERT_EXPR_CODE_P | ( | CODE | ) |
Tests if CODE is a conversion expr (NOP_EXPR or CONVERT_EXPR).
Referenced by inchash::add_hashable_expr(), analyze_agg_content_value(), arith_overflow_check_p(), can_combine_bbs_with_short_circuit(), can_propagate_from(), check_reduction_path(), compute_complex_assign_jump_func(), cond_removal_in_builtin_zero_pattern(), constant_pointer_difference(), convert_atomic_bit_not(), convert_plusminus_to_widen(), edge_forwards_cmp_to_conditional_jump_through_empty_bb_p(), eliminate_dom_walker::eliminate_insert(), eliminate_dom_walker::eliminate_stmt(), eliminated_by_inlining_prob(), expand_call_inline(), expand_expr_force_mode(), expand_expr_real_1(), expand_expr_real_2(), expand_vector_operations_1(), expr_hash_elt::expr_hash_elt(), find_func_aliases(), fold_unary_ignore_overflow_loc(), fold_unary_loc(), forward_propagate_addr_expr_1(), forward_propagate_into_comparison_1(), get_bit_field_ref_def(), get_min_precision(), get_name_for_bit_test(), get_range_pos_neg(), gimple_assign_cast_p(), gimple_assign_unary_nop_p(), gimple_nop_conversion_p(), operand_compare::hash_operand(), hashable_expr_equal_p(), insert_into_preds_of_block(), ipa_analyze_indirect_call_uses(), is_cond_scalar_reduction(), legal_cast_p(), maybe_set_nonzero_bits(), optimize_va_list_gpr_fpr_size(), predict_loops(), recognize_single_bit_test(), replace_mult_candidate(), replace_profitable_candidates(), rewrite_bittest(), simple_cst_equal(), simplify_conversion_using_ranges(), simplify_rotate(), simplify_vector_constructor(), skip_a_safe_conversion_op(), split_constant_offset_1(), strip_conversion(), strip_nop_cond_scalar_reduction(), supportable_widening_operation(), thread_private_new_memory(), value_replacement(), valueized_wider_op(), vect_find_stmt_data_reference(), vect_is_extending_load(), vect_is_integer_truncation(), vect_is_simple_reduction(), vect_look_through_possible_promotion(), vect_nop_conversion_p(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_cast_forwprop_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_widen_abd_pattern(), vectorizable_assignment(), vectorizable_conversion(), vectorizable_reduction(), and widening_mult_conversion_strippable_p().
#define CONVERT_EXPR_P | ( | EXP | ) |
Similarly, but accept an expression instead of a tree code.
Referenced by aff_combination_expand(), backtrace_base_for_ref(), canonicalize_cond_expr_cond(), convert_to_integer_1(), data_ref_compare_tree(), derive_simple_iv_with_niters(), determine_common_wider_type(), discover_nonconstant_array_refs_r(), do_jump(), dr_step_indicator(), dump_function_name(), fold_binary_loc(), fold_builtin_atomic_always_lock_free(), fold_builtin_expect(), fold_builtin_next_arg(), fold_unary_loc(), get_computation_aff_1(), get_memory_rtx(), get_min_precision(), get_range_pos_neg(), get_unwidened(), gimplify_conversion(), goa_lhs_expr_p(), is_aligning_offset(), narrowing_initializer_constant_valid_p(), operand_equal_for_comparison_p(), operand_compare::operand_equal_p(), output_constant(), really_constant_p(), scan_operand_equal_p(), set_mem_attributes_minus_bitpos(), simple_condition_p(), simple_iv_with_niters(), jump_threader::simplify_control_stmt_condition_1(), strip_float_extensions(), tree_nop_conversion(), tree_ssa_useless_type_conversion(), and vect_find_stmt_data_reference().
#define COPY_DECL_ASSEMBLER_NAME | ( | SRC_DECL, | |
DST_DECL ) |
Copy the DECL_ASSEMBLER_NAME from SRC_DECL to DST_DECL. Note that if SRC_DECL's DECL_ASSEMBLER_NAME has not yet been set, using this macro will not cause the DECL_ASSEMBLER_NAME to be set, but will clear DECL_ASSEMBLER_NAME of DST_DECL, if it was already set. In other words, the semantics of using this macro, are different than saying: SET_DECL_ASSEMBLER_NAME(DST_DECL, DECL_ASSEMBLER_NAME (SRC_DECL)) which will try to set the DECL_ASSEMBLER_NAME for SRC_DECL.
#define COPY_DECL_RTL | ( | SRC_DECL, | |
DST_DECL ) |
Copy the RTL from SRC_DECL to DST_DECL. If the RTL was not set for SRC_DECL, it will not be set for DST_DECL; this is a lazy copy.
#define CST_CHECK | ( | T | ) |
#define current_optimize_pragma global_trees[TI_CURRENT_OPTIMIZE_PRAGMA] |
Referenced by decl_attributes().
#define current_target_pragma global_trees[TI_CURRENT_TARGET_PRAGMA] |
Default tree list option(), optimize() pragmas to be linked into the attribute list.
Referenced by decl_attributes().
#define da_type_node global_trees[TI_DA_TYPE] |
#define DEBUG_TEMP_UID | ( | NODE | ) |
DEBUG_EXPR_DECLs get negative UID numbers, to catch erroneous uses.
Referenced by cselib_hash_rtx(), dequeue_and_dump(), dump_decl_name(), dump_var(), loc_cmp(), print_insn(), rtx_writer::print_rtx_operand_code_0(), and print_value().
#define DECIMAL_FLOAT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a decimal floating-point type.
Referenced by convert_to_real_1(), vrange_printer::print_real_value(), simplify_vector_constructor(), strip_float_extensions(), and frange::supports_p().
#define DECL_ABSTRACT_ORIGIN | ( | NODE | ) |
For any sort of a ..._DECL node, this points to the original (abstract) decl node which this decl is an inlined/cloned instance of, or else it is NULL indicating that this decl is not an instance of some other decl. The C front-end also uses this in a nested declaration of an inline function, to point back to the definition.
Referenced by analyze_functions(), check_global_declaration(), copy_decl_for_dup_finish(), decl_maybe_in_construction_p(), decl_ultimate_origin(), delete_omp_context(), dequeue_and_dump(), DFS::DFS_write_tree_body(), expand_call_inline(), expand_debug_source_expr(), autofdo::function_instance::get_function_instance_by_decl(), autofdo::string_table::get_index_by_decl(), install_var_field(), lower_send_clauses(), lower_send_shared_vars(), lto_input_ts_decl_common_tree_pointers(), lto_read_tree_1(), polymorphic_ctor_dtor_p(), print_node(), remap_ssa_name(), symbol_table::remove_unreachable_nodes(), ipa_param_body_adjustments::reset_debug_stmts(), tree_function_versioning(), and write_ts_decl_common_tree_pointers().
#define DECL_ABSTRACT_P | ( | NODE | ) |
Nonzero for a given ..._DECL node means that this node represents an "abstract instance" of the given declaration (e.g. in the original declaration of an inline function). When generating symbolic debugging information, we mustn't try to generate any address information for nodes marked as "abstract instances" because we don't actually generate any code or allocate any data space for such instances.
Referenced by can_refer_decl_in_current_unit_p(), copy_decl_no_change(), decl_ultimate_origin(), symtab_node::get_partitioning_class(), hash_tree(), need_assembler_name_p(), pack_ts_decl_common_value_fields(), print_node(), symtab_node::real_symbol_p(), record_type_tag(), and unpack_ts_decl_common_value_fields().
#define DECL_ALIGN | ( | NODE | ) |
Returns the alignment required for the datum, in bits. It must be a power of two, but an "alignment" of zero is supported (e.g. as "uninitialized" sentinel).
Referenced by align_variable(), asan_finish_file(), assemble_variable(), assign_parm_setup_block(), build_constant_desc(), ipa_icf::sem_item::compare_referenced_symbol_properties(), ipa_icf_gimple::func_checker::compare_variable_decl(), copy_var_decl(), defer_stack_allocation(), dequeue_and_dump(), do_type_align(), ensure_base_align(), expand_expr_real_1(), expand_one_var(), varpool_node::finalize_decl(), finish_taskreg_scan(), force_reg(), get_alignment_1(), get_mem_align_offset(), get_object_alignment_2(), get_variable_align(), gimple_compare_field_offset(), gimplify_decl_expr(), gimplify_init_constructor(), gimplify_parameters(), gimplify_target_expr(), gimplify_vla_decl(), ipa_icf::sem_item::hash_referenced_symbol_properties(), hash_tree(), hoist_adjacent_loads(), symtab_node::increase_alignment(), increase_alignment_1(), insert_field_into_struct(), install_var_field(), install_var_field(), layout_decl(), lookup_field_for_decl(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), ipa_icf::sem_variable::merge(), ompdevlow_adjust_simt_enter(), output_constant_def_contents(), output_object_block(), pack_ts_decl_common_value_fields(), place_block_symbol(), print_node(), scan_omp_target(), simple_decl_align_in_bits(), target_align(), unpack_ts_decl_common_value_fields(), and update_alignment_for_field().
#define DECL_ALIGN_RAW | ( | NODE | ) |
Referenced by asan_emit_stack_protection().
#define DECL_ALIGN_UNIT | ( | NODE | ) |
The alignment of NODE, in bytes.
Referenced by add_bit_offset_attribute(), asan_poison_variable(), asan_protect_global(), create_task_copyfn(), default_emutls_var_init(), emutls_common_1(), execute_omp_oacc_neuter_broadcast(), gimplify_bind_expr(), go_format_type(), lower_omp_target(), and lower_private_allocate().
#define DECL_ARG_TYPE | ( | NODE | ) |
For a PARM_DECL, records the data type used to pass the argument, which may be different from the type seen in the program.
Referenced by assign_parm_find_data_types(), assign_parms_augmented_arg_list(), assumption_copy_decl(), ipa_param_body_adjustments::common_initialization(), create_loop_fn(), create_omp_child_function(), dequeue_and_dump(), expand_omp_target(), expand_thunk(), get_chain_decl(), print_node(), rtl_for_decl_location(), self_referential_size(), setup_incoming_promotions(), split_complex_args(), and split_function().
#define DECL_ARGUMENTS | ( | NODE | ) |
In FUNCTION_DECL, a chain of ..._DECL nodes.
Referenced by allocate_struct_function(), assign_parms_augmented_arg_list(), gimple_infer_range::check_assume_func(), check_for_nested_with_variably_modified(), compute_fn_summary(), consider_split(), copy_bb(), copy_fn(), count_formal_params(), count_num_arguments(), create_function_info_for(), create_loop_fn(), create_omp_child_function(), create_parallel_loop(), create_task_copyfn(), cgraph_node::create_virtual_clone(), cgraph_node::create_wrapper(), dequeue_and_dump(), dump_function_to_file(), duplicate_thunk_for_node(), eliminate_tail_call(), ipa_icf::sem_function::equals_private(), execute_lower_omp(), execute_update_addresses_taken(), expand_call(), expand_call_inline(), expand_omp_target(), expand_omp_taskreg(), expand_thunk(), finalize_nesting_tree_1(), find_param_by_name(), find_tail_calls(), find_var_candidates(), fold_builtin_next_arg(), for_all_parms(), function_to_dwarf_procedure(), get_omp_data_i_param(), ipcp_transformation::get_param_index(), get_parm_access(), cgraph_node::get_untransformed_body(), gimplify_body(), gimplify_call_expr(), init_parameter_lattice_values(), initialize_inlined_parameters(), initialize_parameter_reductions(), inline_forbidden_p(), input_function(), instantiate_decls(), intra_create_variable_infos(), ipa_get_callee_param_type(), ipa_merge_profiles(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_populate_param_decls(), ipa_sra_summarize_function(), loc_list_from_tree_1(), lower_assumption(), lto_output(), ipcp_transformation::maybe_create_parm_idx_map(), maybe_inline_call_in_expr(), maybe_remove_omp_member_access_dummy_vars(), maybe_warn_read_write_only(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_formal_parameters(), move_sese_region_to_fn(), nonnull_arg_p(), ok_for_auto_simd_clone(), output_function(), param_type_may_change_p(), parm_object_size(), print_node(), print_rtx_function(), push_function_arg_decls(), cgraph_node::release_body(), reset_debug_bindings(), self_referential_size(), setjmp_args_warning(), setup_incoming_promotions(), simd_clone_init_simd_arrays(), split_function(), strub_watermark_parm(), suitable_for_tail_call_opt_p(), tree_function_versioning(), tree_optimize_tail_calls_1(), unshare_all_rtl(), unshare_all_rtl_again(), update_parameter_components(), and vt_add_function_parameters().
#define DECL_ARTIFICIAL | ( | NODE | ) |
Used to indicate that this DECL represents a compiler-generated entity.
Referenced by add_discr_value(), adjust_one_expanded_partition_var(), asan_add_global(), asan_emit_stack_protection(), asan_finish_file(), asan_global_struct(), asan_needs_odr_indicator_p(), asan_protect_stack_decl(), assemble_crc_table(), assign_parm_setup_reg(), assign_parms_augmented_arg_list(), build_constant_desc(), build_cxa_atexit_decl(), build_debug_expr_decl(), build_dso_handle_decl(), build_fn_decl(), build_info(), build_libfunc_function_visibility(), tree_switch_conversion::switch_conversion::build_one_array(), build_personality_function(), cgraph_build_static_cdtor_1(), rt_bb_visited::check(), check_global_declaration(), cleanup_dead_labels(), collect_fallthrough_labels(), ipa_param_body_adjustments::common_initialization(), contains_polymorphic_type_p(), copy_decl_for_dup_finish(), copy_var_decl(), coverage_begin_function(), create_access_replacement(), create_artificial_label(), create_asan_shadow_var(), create_assumption_fn(), create_dispatcher_calls(), function_reader::create_function(), create_loop_fn(), create_odr_indicator(), create_omp_child_function(), create_one_component_var(), create_tmp_var_raw(), create_vop_var(), cxx17_empty_base_field_p(), decompose_kernels_region_body(), default_assemble_visibility(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_stack_protect_guard(), dequeue_and_dump(), determine_iv_cost(), symtab_node::dump_base(), dw2_output_indirect_constant_1(), emit_warn_switch_unreachable(), execute_lower_omp(), expand_builtin_fork_or_exec(), expand_expr_real_1(), expand_FALLTHROUGH_r(), expand_omp_target(), expand_one_register_var(), expand_thunk(), expand_used_vars(), field_at_offset(), varpool_node::finalize_decl(), fortran_common(), get_asan_shadow_memory_dynamic_address_decl(), get_binfo_at_offset(), get_chain_decl(), get_debug_decl(), get_emutls_init_templ_addr(), get_spill_slot_decl(), get_vec_alignment_for_record_type(), gimple_can_merge_blocks_p(), gimple_init_gcov_profiler(), gimple_merge_blocks(), gimplify_bind_expr(), gimplify_decl_expr(), gimplify_function_tree(), gimplify_omp_loop_xform(), gimplify_type_sizes(), hash_tree(), increase_alignment(), init_ic_make_global_vars(), ipa_devirt(), ipa_tm_create_version_alias(), is_odr_indicator(), lhd_omp_predetermined_mapping(), lhd_omp_predetermined_sharing(), lower_gimple_return(), lower_omp_critical(), lower_send_shared_vars(), make_debug_expr_from_rtl(), make_dispatcher_decl(), mark_functions_to_output(), maybe_build_inner_data_region(), maybe_remove_omp_member_access_dummy_vars(), maybe_wrap_with_location(), modified_type_die(), new_emutls_decl(), oacc_default_clause(), oacc_do_neutering(), oacc_privatization_candidate_p(), odr_types_equivalent_p(), omp_member_access_dummy_var(), omp_notice_variable(), omp_oacc_kernels_decompose_1(), omp_resolve_declare_variant(), output_comp_unit(), pack_ts_decl_common_value_fields(), push_dummy_function(), record_targets_from_bases(), remap_ssa_name(), remove_forwarder_block(), replace_block_by(), ipa_param_body_adjustments::reset_debug_stmts(), ipa_polymorphic_call_context::restrict_to_inner_class(), scan_omp_parallel(), scan_omp_target(), scan_omp_task(), scan_omp_teams(), self_referential_size(), skip_in_fields_list_p(), spaceship_replacement(), split_complex_args(), stmt_starts_bb_p(), tree_function_versioning(), try_speculative_devirtualization(), ubsan_create_data(), ubsan_expand_vptr_ifn(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), ubsan_type_descriptor(), unpack_ts_decl_common_value_fields(), vt_add_function_parameters(), weak_finish(), and wrapup_global_declaration_2().
#define DECL_ASSEMBLER_NAME | ( | NODE | ) |
The name of the object as the assembler will see it (but before any translations made by ASM_OUTPUT_LABELREF). Often this is the same as DECL_NAME. It is an IDENTIFIER_NODE. ASSEMBLER_NAME of TYPE_DECLS may store global name of type used for One Definition Rule based type merging at LTO. It is computed only for LTO compilation and C++.
Referenced by add_type_duplicate(), asan_add_global(), asan_memfn_rtl(), symtab_node::asm_name(), assemble_alias(), varpool_node::assemble_aliases(), assemble_crc_table(), cgraph_node::assemble_thunks_and_aliases(), auto_simd_fail(), build_gcov_exit_decl(), build_info(), build_init_ctor(), build_libfunc_function_visibility(), build_var(), symbol_table::change_decl_assembler_name(), check_call(), clone_function_name(), clone_function_name(), clone_function_name_numbered(), symbol_table::compile(), copy_function_or_variable(), coverage_begin_function(), coverage_compute_lineno_checksum(), coverage_compute_profile_id(), create_odr_indicator(), create_specialized_node(), symbol_table::decl_assembler_name_equal(), default_assemble_visibility(), default_elf_asm_output_external(), default_unique_section(), dequeue_and_dump(), DFS::DFS_write_tree_body(), do_assemble_alias(), do_assemble_symver(), thunk_info::dump(), symtab_node::dump_base(), dump_function_header(), dump_odr_type(), dw2_output_indirect_constant_1(), odr_name_hasher::equal(), expand_all_functions(), expand_simd_clones(), find_or_create_vtbl_map_node(), fndecl_dealloc_argno(), autofdo::autofdo_source_profile::get_callsite_total_count(), symtab_node::get_comdat_group_id(), varpool_node::get_constructor(), get_emutls_init_templ_addr(), autofdo::string_table::get_index_by_decl(), compiler_logical_location::get_internal_name_for_tree(), get_named_text_section(), get_odr_name_for_type(), cgraph_node::get_untransformed_body(), gimple_call_return_array(), gimple_init_gcov_profiler(), globalize_decl(), go_output_fndecl(), asmname_hasher::hash(), hash_odr_name(), operand_compare::hash_operand(), hash_tree(), init_eh(), symbol_table::insert_to_assembler_name_hash(), ipa_impossible_devirt_target(), ipa_odr_summary_write(), ipa_pta_execute(), ipa_tm_create_version(), ipa_tm_create_version_alias(), is_pass_explicitly_enabled_or_disabled(), lower_assumption(), symtab_node::make_decl_local(), make_decl_rtl(), make_dispatcher_decl(), merge_weak(), methods_equal_p(), symtab_node::needed_p(), new_delete_mismatch_p(), new_emutls_decl(), notice_global_symbol(), ok_for_auto_simd_clone(), omp_resolve_declare_variant(), optimize_omp_library_calls(), optimize_weakref(), optrecord_json_writer::optinfo_to_json(), symbol_table::output_weakrefs(), cgraph_edge::possibly_call_in_translation_unit_p(), print_decl_identifier(), print_declaration(), produce_asm_for_decls(), produce_memory_decl_rtl(), produce_symbol_asm(), simd_clone_create(), simd_clone_mangle(), subbinfo_with_vtable_at_offset(), type_in_anonymous_namespace_p(), types_same_for_odr(), symbol_table::unlink_from_assembler_name_hash(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), valid_new_delete_pair_p(), symtab_node::verify_base(), vtbl_map_get_node(), weak_finish(), weak_finish_1(), wrapup_global_declaration_2(), write_symbol(), and write_ts_decl_with_vis_tree_pointers().
#define DECL_ASSEMBLER_NAME_RAW | ( | NODE | ) |
Raw accessor for DECL_ASSEMBLE_NAME.
Referenced by alias_get_name(), asan_memfn_rtl(), compare_base_decls(), ipa_icf_gimple::func_checker::compare_variable_decl(), decl_assembler_name(), dump_decl_name(), gimple_decl_printable_name(), lhd_overwrite_decl_assembler_name(), and overwrite_decl_assembler_name().
#define DECL_ASSEMBLER_NAME_SET_P | ( | NODE | ) |
Returns nonzero if the DECL_ASSEMBLER_NAME for NODE has been set. If zero, the NODE might still have a DECL_ASSEMBLER_NAME -- it just hasn't been set yet.
Referenced by alias_get_name(), symtab_node::asm_name(), symbol_table::change_decl_assembler_name(), compare_base_decls(), decl_assembler_name(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_decl_name(), dump_function_header(), dump_odr_type(), expand_omp_target(), expand_omp_taskreg(), get_function_name(), get_odr_name_for_type(), gimple_decl_printable_name(), hash_odr_name(), operand_compare::hash_operand(), hash_tree(), ipa_pta_execute(), is_pass_explicitly_enabled_or_disabled(), lower_assumption(), symtab_node::name(), need_assembler_name_p(), symtab_node::needed_p(), odr_type_p(), omp_resolve_declare_variant(), register_asm_p(), rest_of_decl_compilation(), type_in_anonymous_namespace_p(), type_with_linkage_p(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), and write_ts_decl_with_vis_tree_pointers().
#define DECL_ATTRIBUTES | ( | NODE | ) |
In a DECL this is the field where attributes are stored.
Referenced by varpool_node::add(), add_clobbers_to_eh_landing_pad(), add_decls_addresses_to_decl_constructor(), add_detected_attribute_1(), analyze_functions(), asan_poison_variables(), asan_protect_global(), assemble_alias(), assemble_external(), assemble_start_function(), auto_simd_check_stmt(), avoid_folding_inline_builtin(), block_nonartificial_location(), btf_add_func_records(), build_decl_attribute_variant(), tree_switch_conversion::switch_conversion::build_one_array(), can_early_inline_edge_p(), can_inline_edge_by_limits_p(), can_strub_internally_p(), can_strub_p(), cgraph_externally_visible_p(), check_scan_store(), common_function_versions(), ipa_icf::sem_item::compare_referenced_symbol_properties(), symbol_table::compile(), computable_teams_clause(), compute_fn_summary(), compute_function_frequency(), copy_attributes_to_builtin(), copy_decl_for_dup_finish(), copy_var_decl(), cgraph_node::create(), cgraph_node::create_alias(), varpool_node::create_alias(), create_assumption_fn(), create_nesting_tree(), create_odr_indicator(), create_omp_child_function(), create_parallel_loop(), create_target_clone(), cgraph_node::create_version_clone_with_body(), cxx17_empty_base_field_p(), decl_attributes(), declare_weak(), decls_mismatched_attributes(), default_binds_local_p_3(), determine_versionability(), device_resident_p(), DFS::DFS_write_tree_body(), diag_attr_exclusions(), do_assemble_alias(), do_estimate_edge_time(), dump_function_to_file(), early_inliner(), symtab_node::equal_address_to(), ipa_icf::sem_function::equals_wpa(), error_unavailable_use(), execute_oacc_loop_designation(), execute_ranger_vrp(), execute_split_functions(), expand_call_inline(), expand_expr_real_1(), expand_oacc_for(), expand_omp_target(), expand_one_var(), expand_simd_clones(), expand_target_clones(), expand_used_vars(), varpool_node::externally_visible_p(), varpool_node::finalize_decl(), find_simtpriv_var_op(), flags_from_decl_or_type(), flatten_remove_node_hook(), fndecl_alloc_p(), fndecl_dealloc_argno(), function_and_variable_visibility(), function_attribute_inlinable_p(), gate_oacc_kernels(), get_alias_symbol(), get_attr_nonstring_decl(), cgraph_node::get_availability(), get_block_for_decl(), varpool_node::get_create(), get_section(), get_strub_attr_from_decl(), get_variable_section(), gimple_init_gcov_profiler(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_body(), gimplify_call_expr(), gimplify_case_label_expr(), gimplify_label_expr(), gimplify_oacc_declare(), handle_alias_pairs(), hash_tree(), inline_always_inline_functions(), inline_forbidden_p_stmt(), input_node(), ipa_inline(), ipa_pta_execute(), is_asan_mark_p(), is_function_default_version(), is_in_offload_region(), is_oacc_declared(), is_odr_indicator(), is_var_need_auto_init(), likely_target_p(), lower_lastprivate_clauses(), lower_omp_scan(), lower_omp_target(), lower_rec_simd_input_clauses(), lto_input_ts_decl_common_tree_pointers(), lto_output_node(), symtab_node::make_decl_local(), make_split_prologue_seq(), matching_alloc_calls_p(), maybe_diag_alias_attributes(), ipa_icf::sem_function::merge(), ipa_icf::sem_item_optimizer::merge_classes(), merge_decl_attributes(), new_emutls_decl(), non_local_p(), symtab_node::noninterposable_alias(), symtab_node::noninterposable_alias(), note_simd_array_uses_cb(), oacc_get_fn_attrib(), oacc_replace_fn_attrib(), oacc_validate_dims(), oacc_verify_routine_clauses(), offloading_function_p(), ok_for_auto_simd_clone(), omp_construct_selector_matches(), omp_context_selector_matches(), omp_declare_target_fn_p(), omp_declare_target_var_p(), omp_discover_declare_target_tgt_fn_r(), omp_discover_declare_target_var_r(), omp_discover_implicit_declare_target(), omp_finish_file(), omp_lto_input_declare_variant_alt(), omp_lto_output_declare_variant_alt(), omp_mark_declare_variant(), omp_maybe_offloaded(), omp_notice_variable(), omp_resolve_declare_variant(), optimize_weakref(), ipa_icf::sem_function::parse(), possible_inline_candidate_p(), print_node(), process_common_attributes(), process_function_and_variable_attributes(), process_symver_attribute(), redirect_to_specific_clone(), refered_from_nonlocal_fn(), remap_type_1(), symbol_table::remove_unreachable_nodes(), resolve_unique_section(), rest_of_decl_compilation(), rest_of_handle_final(), sanitize_attrs_match_for_inline_p(), sanitize_coverage_p(), sanitize_flags_p(), scan_omp_1_op(), scan_sharing_clauses(), set_call_expr_flags(), set_strub_mode_to(), stack_protect_decl_phase(), strub_always_inline_p(), strub_set_fndt_mode_to(), switch_to_section(), tree_bb_level_predictions(), tree_inlinable_function_p(), tree_profiling(), tree_versionable_function_p(), unlikely_executed_stmt_p(), vect_recog_pow_pattern(), vectorizable_scan_store(), symtab_node::verify_base(), verify_node_partition(), visit_bb(), warn_deprecated_use(), and write_ts_decl_common_tree_pointers().
#define DECL_BIT_FIELD | ( | NODE | ) |
Nonzero in a FIELD_DECL means it is a bit field, and must be accessed specially.
Referenced by adjacent_dr_p(), analyze_access_subtree(), build_debug_ref_for_model(), build_ref_for_model(), clear_padding_type(), ao_compare::compare_ao_refs(), compute_access_stride(), contains_bitfld_component_ref_p(), contains_vce_or_bfcref_p(), find_constructor_constant_at_offset(), find_single_drs(), fold_const_aggregate_ref_1(), fold_nonarray_ctor_reference(), fold_unary_loc(), get_inner_reference(), get_narrower(), go_format_type(), ao_compare::hash_ao_ref(), hash_tree(), layout_decl(), loc_list_from_tree_1(), native_encode_initializer(), native_interpret_aggregate(), nonoverlapping_component_refs_p_1(), odr_types_equivalent_p(), pack_ts_decl_common_value_fields(), place_field(), print_node(), ref_at_iteration(), set_mem_attributes_minus_bitpos(), slsr_process_ref(), sort_and_splice_var_accesses(), staticp(), store_constructor(), pcom_worker::suitable_component_p(), totally_scalarizable_type_p(), unpack_ts_decl_common_value_fields(), and vect_find_stmt_data_reference().
#define DECL_BIT_FIELD_REPRESENTATIVE | ( | NODE | ) |
In a FIELD_DECL of a RECORD_TYPE, this is a pointer to the storage representative FIELD_DECL.
Referenced by compute_access_stride(), DFS::DFS_write_tree_body(), finish_bitfield_layout(), fold_const_aggregate_ref_1(), get_bit_range(), get_bitfield_rep(), hash_tree(), instrument_derefs(), instrument_expr(), instrument_object_size(), lto_input_ts_field_decl_tree_pointers(), native_encode_initializer(), native_interpret_aggregate(), nonoverlapping_component_refs_p_1(), and write_ts_field_decl_tree_pointers().
#define DECL_BIT_FIELD_TYPE | ( | NODE | ) |
In a FIELD_DECL, this indicates whether the field was a bit-field and if so, the type that was originally specified for it. TREE_TYPE may have been modified (in finish_struct).
Referenced by add_abstract_origin_attribute(), add_data_member_location_attribute(), bitfields_to_lower_p(), DFS::DFS_write_tree_body(), eliminate_dom_walker::eliminate_stmt(), expand_assignment(), expand_expr_real_1(), field_byte_offset(), field_type(), finish_bitfield_layout(), get_inner_reference(), gimple_lower_bitint(), hash_tree(), instrument_expr(), layout_decl(), lto_input_ts_field_decl_tree_pointers(), place_field(), print_node(), update_alignment_for_field(), and write_ts_field_decl_tree_pointers().
#define DECL_BUILT_IN_CLASS | ( | NODE | ) |
For a builtin function, identify which part of the compiler defined it.
Referenced by alloca_call_p(), associated_internal_fn(), builtin_safe_for_const_function_p(), builtin_with_linkage_p(), can_implement_as_sibling_call_p(), check_call(), check_defs(), decl_attributes(), emit_call_1(), expand_builtin(), expand_call_tm(), expand_expr_real_1(), expr_expected_value_1(), find_tm_replacement_function(), fndecl_built_in_p(), fndecl_built_in_p(), fold_builtin_call_array(), fold_call_expr(), fold_call_stmt(), gimple_builtin_call_types_compatible_p(), gimple_call_builtin_p(), gimple_call_builtin_p(), gimple_extract(), operand_compare::hash_operand(), hash_tree(), inline_forbidden_p_stmt(), is_inexpensive_builtin(), is_tm_builtin(), is_tm_ending_fndecl(), need_assembler_name_p(), old_insns_match_p(), operand_compare::operand_equal_p(), pack_ts_function_decl_value_fields(), print_node(), scan_omp_1_stmt(), special_function_p(), strub_callable_builtin_p(), and tree_builtin_call_types_compatible_p().
#define DECL_BY_REFERENCE | ( | NODE | ) |
In a RESULT_DECL, PARM_DECL and VAR_DECL, means that it is passed by invisible reference (and the TREE_TYPE is a pointer to the true type).
Referenced by aggregate_value_p(), assign_parms(), assumption_copy_decl(), ipa_icf_gimple::func_checker::compare_decl(), consider_split(), copy_decl_to_var(), copy_result_decl_to_var(), create_function_info_for(), decl_by_reference_p(), declare_return_variable(), dump_function_to_file(), expand_function_end(), expand_function_start(), expand_thunk(), expand_value_return(), get_debug_decl(), gimple_regimplify_operands(), hash_tree(), intra_create_variable_infos(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), lower_omp_target(), lower_send_shared_vars(), mark_nonssa_use(), maybe_add_sra_candidate(), needs_to_live_in_memory(), pack_ts_decl_common_value_fields(), points_to_local_or_readonly_memory_p(), print_node(), promote_decl_mode(), requires_barrier(), simd_clone_adjust(), split_function(), ssa_defined_default_def_p(), test_nonssa_use(), tree_function_versioning(), unpack_ts_decl_common_value_fields(), use_pointer_for_field(), use_register_for_decl(), verify_def(), and verify_gimple_return().
#define DECL_CHAIN | ( | NODE | ) |
Referenced by access_and_field_type_match_p(), adjust_context_and_scope(), allocate_struct_function(), array_ref_flexible_size_p(), asan_add_global(), asan_global_struct(), assign_parm_find_data_types(), assign_parms(), assign_parms_augmented_arg_list(), build_fn_info(), build_fn_info_type(), build_info(), build_info_type(), build_user_friendly_ref_for_offset(), chain_member(), gimple_infer_range::check_assume_func(), check_for_nested_with_variably_modified(), clear_padding_type(), clear_padding_union(), clear_tree_used(), clear_unused_block_pointer_in_block(), ipa_param_body_adjustments::common_initialization(), complete_ctor_at_level_p(), compute_fn_summary(), compute_record_mode(), consider_split(), contains_pointers_p(), contains_polymorphic_type_p(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), copy_arguments_nochange(), copy_bb(), copy_fn(), copy_static_chain(), count_formal_params(), count_num_arguments(), count_type_elements(), create_function_info_for(), create_odr_indicator(), create_omp_child_function(), create_task_copyfn(), create_tmp_var_for(), declare_inline_vars(), declare_vars(), default_emutls_var_fields(), default_emutls_var_init(), delete_omp_context(), dequeue_and_dump(), dump_function_to_file(), dump_generic_node(), dump_gimple_bind(), dump_scope_block(), duplicate_thunk_for_node(), eliminate_tail_call(), ipa_icf::sem_function::equals_private(), execute_update_addresses_taken(), expand_call(), expand_call_inline(), expand_omp_target(), expand_omp_taskreg(), expand_thunk(), expand_used_vars_for_block(), fields_length(), finalize_nesting_tree_1(), find_assumption_locals_r(), find_tail_calls(), find_var_candidates(), finish_bitfield_layout(), finish_bitfield_representative(), finish_builtin_struct(), finish_taskreg_scan(), fixup_child_record_type(), fixup_vla_decls(), flexible_array_member_p(), flexible_array_type_p(), for_all_parms(), gen_formal_types_die(), get_binfo_at_offset(), get_local_debug_decl(), ipa_param_body_adjustments::get_new_param_chain(), get_nonlocal_debug_decl(), get_omp_data_i_param(), ipcp_transformation::get_param_index(), get_ref_base_and_extent(), get_vec_alignment_for_record_type(), gimple_add_tmp_var(), gimple_add_tmp_var_fn(), gimplify_bind_expr(), gimplify_body(), gimplify_type_sizes(), global_decl_processing(), hoist_adjacent_loads(), init_ic_make_global_vars(), init_parameter_lattice_values(), initialize_inlined_parameters(), initialize_parameter_reductions(), inline_forbidden_p(), insert_field_into_struct(), instantiate_decls(), instantiate_decls_1(), intra_create_variable_infos(), ipa_populate_param_decls(), ipa_sra_summarize_function(), is_empty_type(), is_redundant_typedef(), layout_type(), lhd_simulate_record_decl(), lookup_field_for_decl(), lower_assumption(), lower_gimple_bind(), lower_lastprivate_conditional_clauses(), lower_omp_target(), lower_omp_task_reductions(), lower_send_shared_vars(), ipcp_transformation::maybe_create_parm_idx_map(), maybe_inline_call_in_expr(), maybe_remove_omp_member_access_dummy_vars(), ipa_param_adjustments::modify_call(), move_sese_region_to_fn(), native_encode_initializer(), native_interpret_aggregate(), nonnull_arg_p(), oacc_privatization_scan_decl_chain(), ok_for_auto_simd_clone(), omp_copy_decl_2(), omp_firstprivatize_type_sizes(), output_constructor(), output_constructor_regular_field(), place_field(), print_rtx_function(), print_struct_decl(), process_scope_var(), push_fields_onto_fieldstack(), push_function_arg_decls(), record_component_aliases(), record_targets_from_bases(), record_vars_into(), remap_decls(), remap_type_1(), remap_type_2(), remap_vla_decls(), remove_exit_barrier(), remove_member_access_dummy_vars(), remove_unused_scope_block_p(), replace_block_vars_by_duplicates(), replace_locals_stmt(), reset_debug_bindings(), ipa_param_body_adjustments::reset_debug_stmts(), ipa_polymorphic_call_context::restrict_to_inner_class(), scan_omp_1_stmt(), scan_omp_target(), scan_sharing_clauses(), self_referential_size(), set_decl_origin_self(), set_used_decls(), setjmp_args_warning(), setjmp_vars_warning(), setup_incoming_promotions(), setup_one_parameter(), simd_clone_init_simd_arrays(), split_function(), strub_watermark_parm(), suitable_for_tail_call_opt_p(), totally_scalarizable_type_p(), totally_scalarize_subtree(), tracked_record_parameter_p(), tree_function_versioning(), tree_optimize_tail_calls_1(), type_contains_placeholder_1(), type_has_padding_at_level_p(), type_internals_preclude_sra_p_1(), type_like_member_ptr_p(), ubsan_create_data(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), unshare_all_rtl(), unshare_all_rtl_again(), update_parameter_components(), variably_modified_type_p(), vec2chain(), vt_add_function_parameters(), and walk_tree_1().
#define DECL_COMDAT | ( | NODE | ) |
Used in a DECL to indicate that, even if it TREE_PUBLIC, it need not be put out unless it is needed in this translation unit. Entities like this are shared across translation units (like weak entities), but are guaranteed to be generated by any translation unit that needs them, and therefore need not be put out anywhere where they are not needed. DECL_COMDAT is just a hint to the back-end; it is up to front-ends which set this flag to ensure that there will never be any harm, other than bloat, in putting out something which is DECL_COMDAT.
Referenced by can_refer_decl_in_current_unit_p(), cgraph_node::can_remove_if_no_direct_calls_and_refs_p(), varpool_node::can_remove_if_no_refs_p(), cgraph_externally_visible_p(), cgraph_node_cannot_be_local_p_1(), symtab_node::copy_visibility_from(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), cross_module_call_p(), varpool_node::ctor_useable_for_folding_p(), decl_replaceable_p(), drop_profile(), symtab_node::dump_base(), varpool_node::externally_visible_p(), varpool_node::finalize_decl(), cgraph_node::finalize_function(), symtab_node::fixup_same_cpp_alias_visibility(), function_always_visible_to_compiler_p(), function_and_variable_visibility(), handle_missing_profiles(), hash_tree(), localize_node(), symtab_node::make_decl_local(), cgraph_node::make_local(), symtab_node::needed_p(), symtab_node::noninterposable_alias(), symtab_node::nonzero_address(), offline_size(), pack_ts_decl_with_vis_value_fields(), process_symver_attribute(), save_inline_function_body(), set_new_clone_decl_and_node_flags(), simd_clone_create(), tree_could_trap_p(), unpack_ts_decl_with_vis_value_fields(), and wrapup_global_declaration_2().
#define DECL_COMDAT_GROUP | ( | NODE | ) |
Referenced by decl_binds_to_current_def_p(), default_elf_asm_named_section(), default_elf_select_rtx_section(), default_function_rodata_section(), default_print_patchable_function_entry(), default_section_type_flags(), get_block_for_decl(), get_named_text_section(), ipa_tm_create_version(), ipa_icf::sem_function::merge(), ipa_icf::sem_variable::merge(), ipa_icf::redirect_all_callers(), resolve_unique_section(), switch_to_comdat_section(), and switch_to_exception_section().
#define DECL_COMMON | ( | NODE | ) |
Nonzero for a given ..._DECL node means that this node should be put in .common, if possible. If a DECL_INITIAL is given, and it is not error_mark_node, then the decl cannot be put in .common.
Referenced by array_ref_flexible_size_p(), asan_protect_global(), bss_initializer_p(), symtab_node::can_be_discarded_p(), symtab_node::copy_visibility_from(), decl_binds_to_current_def_p(), default_binds_local_p_3(), symtab_node::dump_base(), emutls_common_1(), function_and_variable_visibility(), get_ref_base_and_extent(), get_variable_section(), hash_tree(), lower_omp_critical(), symtab_node::make_decl_local(), make_decl_one_only(), make_decl_rtl(), new_emutls_decl(), notice_global_symbol(), pack_ts_decl_with_vis_value_fields(), print_node(), process_symver_attribute(), unpack_ts_decl_with_vis_value_fields(), and write_symbol().
#define DECL_COMMON_CHECK | ( | T | ) |
#define DECL_CONTEXT | ( | NODE | ) |
For FIELD_DECLs, this is the RECORD_TYPE, UNION_TYPE, or QUAL_UNION_TYPE node that the field is a member of. For VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL, RESULT_DECL, and CONST_DECL nodes, this points to either the FUNCTION_DECL for the containing function, the RECORD_TYPE or UNION_TYPE for the containing type, or NULL_TREE or a TRANSLATION_UNIT_DECL if the given decl has "file scope". In particular, for VAR_DECLs which are virtual table pointers (they have DECL_VIRTUAL set), we use DECL_CONTEXT to determine the type they belong to.
Referenced by access_fn_components_comparable_p(), add_src_coords_attributes(), adjust_assumption_stmt_r(), adjust_context_and_scope(), asan_global_struct(), auto_var_in_fn_p(), build_type_inheritance_graph(), ipa_param_body_adjustments::carry_over_param(), cgraph_build_static_cdtor_1(), cleanup_control_flow_bb(), ipa_param_body_adjustments::common_initialization(), ipa_icf::sem_item::compare_referenced_symbol_properties(), compare_virtual_tables(), convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), copy_decl_for_dup_finish(), copy_tree_body_r(), copy_var_decl(), create_access_replacement(), create_artificial_label(), create_assumption_fn(), create_loop_fn(), create_omp_child_function(), create_task_copyfn(), create_tmp_var_for(), create_vop_var(), decl_address_invariant_p(), decl_class_context(), decl_function_context(), decl_type_context(), default_emutls_var_fields(), dequeue_and_dump(), devirt_variable_node_removal_hook(), DFS::DFS_write_tree_body(), duplicate_thunk_for_node(), expand_debug_source_expr(), expand_omp_target(), expand_omp_taskreg(), expand_thunk(), extr_type_from_vtbl_ptr_store(), cgraph_node::finalize_function(), finalize_nesting_tree_1(), find_assumption_locals_r(), finish_bitfield_representative(), fixup_child_record_type(), function_to_dwarf_procedure(), gen_variable_die(), get_chain_decl(), get_containing_scope(), get_descriptor_type(), get_emutls_init_templ_addr(), get_frame_type(), get_local_debug_decl(), get_nonlocal_debug_decl(), get_trampoline_type(), gimple_add_tmp_var(), gimple_add_tmp_var_fn(), gimplify_bind_expr(), gimplify_cond_expr(), gimplify_oacc_declare(), gimplify_omp_loop(), handle_warn_if_not_align(), hash_tree(), input_offload_tables(), insert_field_into_struct(), ipa_devirt(), ipa_tm_create_version_alias(), loc_list_from_tree_1(), lower_assumption(), lower_lastprivate_conditional_clauses(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lto_input_ts_decl_minimal_tree_pointers(), make_dispatcher_decl(), mark_all_vars_used_1(), maybe_create_die_with_external_ref(), maybe_nonzero_address(), maybe_record_nested_function(), maybe_record_node(), maybe_special_function_p(), move_block_to_fn(), move_stmt_op(), move_stmt_r(), new_emutls_decl(), symtab_node::noninterposable_alias(), nonoverlapping_component_refs_p_1(), nonoverlapping_refs_since_match_p(), note_no_context_vars(), note_simd_array_uses_cb(), omp_apply_tile(), omp_copy_decl(), omp_copy_decl_2(), omp_default_clause(), omp_member_access_dummy_var(), omp_runtime_api_call(), possible_polymorphic_call_targets(), print_node(), remap_decl(), remap_gimple_op_r(), remap_type_1(), replace_by_duplicate_decl(), ipa_param_body_adjustments::reset_debug_stmts(), scan_omp_simd(), scan_sharing_clauses(), self_referential_size(), setjmp_or_longjmp_p(), start_bitfield_representative(), task_copyfn_remap_type(), tree_function_versioning(), tree_is_indexable(), ubsan_create_data(), ubsan_encode_value(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), verify_gimple_label(), vtable_pointer_value_to_binfo(), and write_ts_decl_minimal_tree_pointers().
#define DECL_CXX_CONSTRUCTOR_P | ( | NODE | ) |
In FUNCTION_DECL, this is set if this function is a C++ constructor. Devirtualization machinery uses this knowledge for determing type of the object constructed. Also we assume that constructor address is not important.
Referenced by symtab_node::address_can_be_compared_p(), check_stmt_for_type_change(), decl_maybe_in_construction_p(), ipa_icf::sem_function::equals_wpa(), ipa_icf::sem_function::get_hash(), hash_tree(), intra_create_variable_infos(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), noncall_stmt_may_be_vtbl_ptr_store(), pack_ts_decl_with_vis_value_fields(), param_type_may_change_p(), polymorphic_ctor_dtor_p(), unpack_ts_decl_with_vis_value_fields(), and ipa_icf::sem_item_optimizer::update_hash_by_addr_refs().
#define DECL_CXX_DESTRUCTOR_P | ( | NODE | ) |
In FUNCTION_DECL, this is set if this function is a C++ destructor. Devirtualization machinery uses this to track types in destruction.
Referenced by symtab_node::address_can_be_compared_p(), decl_maybe_in_construction_p(), ipa_icf::sem_function::equals_wpa(), ipa_icf::sem_function::get_hash(), hash_tree(), ipa_devirt(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), noncall_stmt_may_be_vtbl_ptr_store(), pack_ts_decl_with_vis_value_fields(), param_type_may_change_p(), polymorphic_ctor_dtor_p(), possible_polymorphic_call_targets(), record_target_from_binfo(), record_targets_from_bases(), and unpack_ts_decl_with_vis_value_fields().
#define DECL_DEBUG_EXPR | ( | NODE | ) |
Referenced by add_local_variables(), add_var_loc_to_decl(), default_tree_printer(), DFS::DFS_write_tree_body(), hash_tree(), track_expr_p(), var_debug_decl(), verify_expr_location_1(), and write_ts_decl_common_tree_pointers().
#define DECL_DECLARED_INLINE_P | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means that this function was declared inline, such as via the `inline' keyword in C/C++. This flag controls the linkage semantics of 'inline'
Referenced by avoid_folding_inline_builtin(), block_nonartificial_location(), can_inline_edge_by_limits_p(), ipa_icf::sem_item::compare_referenced_symbol_properties(), consider_split(), devirtualization_time_bonus(), dump_targets(), early_inline_small_functions(), edge_badness(), ipa_call_context::estimate_size_and_time(), execute_split_functions(), expand_call_inline(), cgraph_node::finalize_function(), symtab_node::fixup_same_cpp_alias_visibility(), function_always_visible_to_compiler_p(), cgraph_node::get_availability(), gimplify_function_tree(), ipa_icf::sem_item::hash_referenced_symbol_properties(), hash_tree(), ipa_tm_create_version(), lhd_warn_unused_global_decl(), pack_ts_function_decl_value_fields(), perform_estimation_of_a_value(), print_node(), process_function_and_variable_attributes(), recursive_inlining(), reference_to_unused(), self_referential_size(), tree_inlinable_function_p(), unpack_ts_function_decl_value_fields(), want_early_inline_function_p(), want_inline_self_recursive_call_p(), want_inline_small_function_p(), and wrapper_heuristics_may_apply().
#define DECL_DEFER_OUTPUT | ( | NODE | ) |
Used to indicate that the linkage status of this DECL is not yet known, so it should not be output now.
Referenced by print_node(), rest_of_decl_compilation(), and wrapup_global_declaration_1().
#define DECL_DISREGARD_INLINE_LIMITS | ( | NODE | ) |
Nonzero in a FUNCTION_DECL that should be always inlined by the inliner disregarding size and cost heuristics. This is equivalent to using the always_inline attribute without the required diagnostics if the function cannot be inlined.
Referenced by avoid_folding_inline_builtin(), can_early_inline_edge_p(), can_inline_edge_by_limits_p(), ipa_icf::sem_item::compare_referenced_symbol_properties(), edge_badness(), execute_split_functions(), cgraph_node::finalize_function(), symtab_node::fixup_same_cpp_alias_visibility(), gimplify_function_tree(), ipa_icf::sem_item::hash_referenced_symbol_properties(), hash_tree(), inline_always_inline_functions(), inline_small_functions(), ipa_dump_fn_summary(), pack_ts_function_decl_value_fields(), record_cdtor_fn(), unpack_ts_function_decl_value_fields(), want_early_inline_function_p(), and want_inline_small_function_p().
#define DECL_DLLIMPORT_P | ( | NODE | ) |
Used to indicate that the DECL is a dllimport.
Referenced by symtab_node::copy_visibility_from(), decl_address_ip_invariant_p(), symtab_node::dump_base(), fixed_address_object_p(), hash_tree(), symtab_node::make_decl_local(), new_emutls_decl(), symtab_node::noninterposable_alias(), pack_ts_decl_with_vis_value_fields(), simd_clone_create(), staticp(), and unpack_ts_decl_with_vis_value_fields().
#define DECL_EXPR_DECL | ( | NODE | ) |
DECL_EXPR accessor. This gives access to the DECL associated with the given declaration statement.
Referenced by dump_generic_node(), find_decl_expr(), gimplify_compound_literal_expr(), gimplify_decl_expr(), gimplify_modify_expr_rhs(), gimplify_omp_for(), optimize_compound_literals_in_ctor(), safe_from_p(), and walk_tree_1().
#define DECL_EXTERNAL | ( | NODE | ) |
In a VAR_DECL or FUNCTION_DECL, nonzero means external reference: do not allocate storage, and refer to a definition elsewhere. Note that this does not necessarily imply the entity represented by NODE has no program source-level definition in this translation unit. For example, for a FUNCTION_DECL, DECL_SAVED_TREE may be non-NULL and DECL_EXTERNAL may be true simultaneously; that can be the case for a C99 "extern inline" function.
Referenced by add_type_duplicate(), analyze_functions(), asan_emit_stack_protection(), asan_protect_global(), varpool_node::assemble_decl(), assemble_external(), assemble_variable(), auto_var_p(), symtab_node::binds_to_current_def_p(), btf_add_func_datasec_entries(), btf_add_func_records(), btf_add_vars(), btf_datasec_add_var(), build_builtin_function(), build_cxa_atexit_decl(), build_dso_handle_decl(), build_fn_decl(), build_gcov_exit_decl(), build_info(), build_init_ctor(), build_libfunc_function_visibility(), build_personality_function(), symtab_node::can_be_discarded_p(), can_escape(), can_refer_decl_in_current_unit_p(), cgraph_node::can_remove_if_no_direct_calls_and_refs_p(), cgraph_node::can_remove_if_no_direct_calls_p(), varpool_node::can_remove_if_no_refs_p(), cgraph_externally_visible_p(), symbol_table::change_decl_assembler_name(), check_decl(), check_global_declaration(), component_ref_size(), convert_local_omp_clauses(), convert_local_reference_op(), convert_local_reference_stmt(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), convert_nonlocal_reference_stmt(), copy_decl_for_dup_finish(), symtab_node::copy_visibility_from(), coverage_compute_profile_id(), create_assumption_fn(), function_reader::create_function(), create_loop_fn(), create_omp_child_function(), create_tmp_var_raw(), create_variable_info_for_1(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), create_vop_var(), ctor_for_folding(), varpool_node::ctor_useable_for_folding_p(), decl_address_invariant_p(), decl_address_ip_invariant_p(), decl_binds_to_current_def_p(), decl_in_symtab_p(), default_binds_local_p_3(), default_encode_section_info(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_ref_may_alias_errno(), default_stack_protect_guard(), dequeue_and_dump(), determine_versionability(), DFS::DFS_write_tree_body(), drop_profile(), symtab_node::dump_base(), dump_final_callee_vcg(), edge_badness(), eliminate_local_variables_1(), execute_fixup_cfg(), cgraph_node::expand(), expand_builtin_fork_or_exec(), expand_call_inline(), expand_debug_expr(), expand_expr_real_1(), expand_omp_target(), expand_omp_taskreg(), expand_one_var(), expand_thunk(), expand_used_vars(), varpool_node::externally_visible_p(), varpool_node::finalize_decl(), cgraph_node::finalize_function(), varpool_node::finalize_named_section_flags(), find_assumption_locals_r(), find_func_aliases_for_builtin_call(), fixed_address_object_p(), symtab_node::fixup_same_cpp_alias_visibility(), function_and_variable_visibility(), symtab_node::get(), get_asan_shadow_memory_dynamic_address_decl(), cgraph_node::get_availability(), varpool_node::get_availability(), get_block_for_decl(), get_constraint_for_ssa_var(), varpool_node::get_create(), get_emutls_init_templ_addr(), symtab_node::get_partitioning_class(), get_ref_base_and_extent(), get_symbol_initial_value(), gimple_duplicate_bb(), gimple_init_gcov_profiler(), gimplify_bind_expr(), gimplify_decl_expr(), gimplify_function_tree(), gimplify_var_or_parm_decl(), handle_alias_pairs(), handle_lhs_call(), handle_missing_profiles(), hash_tree(), init_eh(), init_ic_make_global_vars(), inline_account_function_p(), input_overwrite_node(), input_varpool_node(), instrument_derefs(), ipa_devirt(), ipa_lower_emutls(), ipa_pta_execute(), ipa_tm_create_version(), ipa_tm_create_version_alias(), is_global_var(), layout_decl(), lhd_set_decl_assembler_name(), loc_list_from_tree_1(), local_tree_p(), lto_output_varpool_node(), symtab_node::make_decl_local(), make_decl_rtl(), make_dispatcher_decl(), make_heapvar(), cgraph_node::make_local(), mark_address(), mark_addressable(), mark_decl_referenced(), mark_functions_to_output(), mark_load(), mark_store(), may_be_aliased(), maybe_record_node(), maybe_remove_writeonly_store(), ipa_icf::sem_function::merge(), ipa_icf::sem_variable::merge(), need_assembler_name_p(), symtab_node::needed_p(), new_emutls_decl(), non_local_p(), symtab_node::noninterposable_alias(), symtab_node::nonzero_address(), notice_global_symbol(), oacc_privatization_candidate_p(), offline_size(), omp_discover_declare_target_tgt_fn_r(), optimize_omp_library_calls(), optimize_weakref(), symtab_node::output_to_lto_symbol_table_p(), pack_ts_decl_common_value_fields(), perform_estimation_of_a_value(), cgraph_edge::possibly_call_in_translation_unit_p(), symtab_node::prevailing_p(), print_decl_identifier(), print_declaration(), print_node(), process_function_and_variable_attributes(), process_references(), produce_memory_decl_rtl(), produce_symtab(), produce_symtab_extension(), ptrs_compare_unequal(), record_vars_into(), refered_from_nonlocal_fn(), refered_from_nonlocal_var(), reference_to_unused(), referenced_from_vtable_p(), remap_decls(), cgraph_node::remove(), symbol_table::remove_unreachable_nodes(), symbol_table::remove_unreferenced_decls(), rest_of_decl_compilation(), rtl_for_decl_location(), save_inline_function_body(), secname_for_decl(), set_decl_origin_self(), set_mem_attributes_minus_bitpos(), set_new_clone_decl_and_node_flags(), set_stack_check_libfunc(), set_uids_in_ptset(), simd_clone_create(), simple_operand_p(), staticp(), streamer_write_chain(), streamer_write_chain(), tree_could_trap_p(), tree_profiling(), try_speculative_devirtualization(), ubsan_create_data(), ubsan_expand_vptr_ifn(), ubsan_type_descriptor(), unpack_ts_decl_common_value_fields(), update_visibility_by_resolution_info(), symtab_node::used_from_object_file_p(), verify_expr_location_1(), cgraph_node::verify_node(), symtab_node::verify_symtab_nodes(), walk_polymorphic_call_targets(), weak_finish(), cgraph_node::will_be_removed_from_program_if_no_direct_calls_p(), wrapup_global_declaration_2(), and write_symbol().
#define DECL_FCONTEXT | ( | NODE | ) |
For FIELD_DECLS, DECL_FCONTEXT is the *first* baseclass in which this FIELD_DECL is defined. This information is needed when writing debugging information about vfield and vbase decls for C++.
Referenced by DFS::DFS_write_tree_body().
#define DECL_FIELD_ABI_IGNORED | ( | NODE | ) |
In a FIELD_DECL, indicates this field should be ignored for ABI decisions like passing/returning containing struct by value. Set for C++17 empty base artificial FIELD_DECLs as well as empty [[no_unique_address]] non-static data members.
Referenced by cxx17_empty_base_field_p(), hash_tree(), and pack_ts_decl_common_value_fields().
#define DECL_FIELD_BIT_OFFSET | ( | NODE | ) |
In a FIELD_DECL, this is the offset, in bits, of the first bit of the field from DECL_FIELD_OFFSET. This field may be nonzero even for fields that are not bit fields (since DECL_OFFSET_ALIGN may be larger than the natural alignment of the field's type).
Referenced by adjust_offset_for_component_ref(), analyze_ref(), ao_ref_init_from_vn_reference(), bit_position(), bitpos_of_field(), byte_position(), clear_padding_type(), ao_compare::compare_ao_refs(), compute_object_offset(), copy_reference_ops_from_ref(), DFS::DFS_write_tree_body(), dr_analyze_indices(), eliminate_dom_walker::eliminate_stmt(), field_byte_offset(), finish_bitfield_representative(), fold_const_aggregate_ref_1(), fold_nonarray_ctor_reference(), get_addr_base_and_unit_offset_1(), get_bit_range(), get_bitfield_rep(), get_inner_reference(), get_mem_align_offset(), get_ref_base_and_extent(), get_vec_alignment_for_record_type(), gimple_compare_field_offset(), go_format_type(), ao_compare::hash_ao_ref(), operand_compare::hash_operand(), hash_tree(), init_eh(), instrument_expr(), int_bit_position(), lto_input_ts_field_decl_tree_pointers(), native_encode_initializer(), native_interpret_aggregate(), nonoverlapping_component_refs_p_1(), operand_compare::operand_equal_p(), place_field(), place_union_field(), print_node(), ref_at_iteration(), start_bitfield_representative(), strip_offset_1(), strip_zero_offset_components(), verify_type_variant(), widen_memory_access(), and write_ts_field_decl_tree_pointers().
#define DECL_FIELD_CONTEXT | ( | NODE | ) |
Referenced by finish_builtin_struct(), get_mem_align_offset(), init_eh(), layout_decl(), ncr_type_uid(), and nonoverlapping_component_refs_p().
#define DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD | ( | NODE | ) |
In a FIELD_DECL, indicates C++ zero-width bitfield that used to be removed from the IL since PR42217 until PR101539 and by that changed the ABI on several targets. This flag is provided so that the backends can decide on the ABI with zero-width bitfields and emit -Wpsabi warnings.
Referenced by hash_tree(), and pack_ts_decl_common_value_fields().
#define DECL_FIELD_OFFSET | ( | NODE | ) |
In a FIELD_DECL, this is the field position, counting in bytes, of the DECL_OFFSET_ALIGN-bit-sized word containing the bit closest to the beginning of the structure.
Referenced by access_and_field_type_match_p(), ao_ref_init_from_vn_reference(), bit_position(), bitpos_of_field(), byte_position(), ao_compare::compare_ao_refs(), component_ref_field_offset(), dequeue_and_dump(), DFS::DFS_write_tree_body(), field_byte_offset(), finish_bitfield_layout(), finish_bitfield_representative(), fixup_child_record_type(), fold_const_aggregate_ref_1(), fold_nonarray_ctor_reference(), get_bit_range(), get_bitfield_rep(), get_vec_alignment_for_record_type(), gimple_compare_field_offset(), gimplify_type_sizes(), go_format_type(), ao_compare::hash_ao_ref(), operand_compare::hash_operand(), hash_tree(), init_eh(), instrument_expr(), int_bit_position(), lto_input_ts_field_decl_tree_pointers(), native_interpret_aggregate(), nonoverlapping_component_refs_p_1(), omp_firstprivatize_type_sizes(), operand_compare::operand_equal_p(), place_field(), place_union_field(), print_node(), remap_decl(), remap_type_2(), start_bitfield_representative(), store_constructor(), strip_zero_offset_components(), task_copyfn_remap_type(), type_contains_placeholder_1(), type_internals_preclude_sra_p_1(), type_like_member_ptr_p(), variably_modified_type_p(), verify_type_variant(), walk_tree_1(), and write_ts_field_decl_tree_pointers().
#define DECL_FILE_SCOPE_P | ( | EXP | ) |
Nonzero for a decl which is at file scope.
Referenced by hash_tree(), lhd_set_decl_assembler_name(), and omp_default_clause().
#define DECL_FINAL_P | ( | NODE | ) |
In FUNCTION_DECL that represent an virtual method this is set when the method is final.
Referenced by ipa_icf::sem_item::compare_referenced_symbol_properties(), hash_tree(), pack_ts_decl_with_vis_value_fields(), possible_polymorphic_call_targets(), and unpack_ts_decl_with_vis_value_fields().
#define DECL_FINI_PRIORITY | ( | NODE | ) |
For a FUNCTION_DECL the finalization priority of NODE.
Referenced by build_cdtor(), build_cxa_dtor_registrations(), compare_cdtor_tu_order(), and compare_dtor().
#define DECL_FROM_INLINE | ( | NODE | ) |
Nonzero for any sort of ..._DECL node means this decl node represents an inline instance of some original (abstract) decl from an inline function; suppress any warnings about shadowing some other variable. FUNCTION_DECL nodes can also have their abstract origin set to themselves.
Referenced by decl_ultimate_origin(), autofdo::function_instance::get_function_instance_by_decl(), and autofdo::string_table::get_index_by_decl().
#define DECL_FUNCTION_PERSONALITY | ( | NODE | ) |
Referenced by cgraph_node::add_new_function(), can_inline_edge_by_limits_p(), can_inline_edge_p(), DFS::DFS_write_tree_body(), ipa_icf::sem_function::equals_wpa(), expand_call_inline(), get_personality_function(), hash_tree(), inline_call(), lto_input_ts_function_decl_tree_pointers(), record_eh_tables(), tree_function_versioning(), and write_ts_function_decl_tree_pointers().
#define DECL_FUNCTION_SPECIFIC_OPTIMIZATION | ( | NODE | ) |
In FUNCTION_DECL, the function specific optimization options to use when compiling this function.
Referenced by build_cdtor(), build_cxa_dtor_registrations(), can_inline_edge_by_limits_p(), cgraph_build_static_cdtor_1(), create_assumption_fn(), create_loop_fn(), create_omp_child_function(), decl_attributes(), DFS::DFS_write_tree_body(), expand_omp_target(), ipa_icf::sem_function::get_hash(), hash_tree(), inline_call(), invoke_set_current_function_hook(), ipa_func_spec_opts_forbid_analysis_p(), lto_input_ts_function_decl_tree_pointers(), opts_for_fn(), print_node(), and write_ts_function_decl_tree_pointers().
#define DECL_FUNCTION_SPECIFIC_TARGET | ( | NODE | ) |
In FUNCTION_DECL, the function specific target options to use when compiling this function.
Referenced by build_cdtor(), build_cxa_dtor_registrations(), cgraph_build_static_cdtor_1(), create_assumption_fn(), create_loop_fn(), create_omp_child_function(), decl_attributes(), default_target_can_inline_p(), DFS::DFS_write_tree_body(), expand_omp_target(), ipa_icf::sem_function::get_hash(), hash_tree(), lto_input_ts_function_decl_tree_pointers(), print_node(), target_opts_for_fn(), and write_ts_function_decl_tree_pointers().
#define DECL_FUNCTION_VERSIONED | ( | NODE | ) |
In FUNCTION_DECL, this is set if this function has other versions generated to support different architecture feature sets, e.g. using "target" or "target_version" attributes.
Referenced by common_function_versions(), coverage_begin_function(), create_omp_child_function(), expand_omp_target(), expand_target_clones(), and is_function_default_version().
#define DECL_HARD_REGISTER | ( | NODE | ) |
In a VAR_DECL, nonzero if the decl is a register variable with an explicit asm specification.
Referenced by add_clobbers_to_eh_landing_pad(), varpool_node::assemble_decl(), compare_base_decls(), ipa_icf_gimple::func_checker::compare_variable_decl(), copy_reference_ops_from_ref(), create_variable_info_for(), decl_overlaps_hard_reg_set_p(), eliminate_dom_walker::eliminate_stmt(), expand_assignment(), expand_debug_expr(), expand_one_var(), varpool_node::externally_visible_p(), find_replaceable_in_bb(), symtab_node::get_partitioning_class(), gimple_expand_vec_set_extract_expr(), gimplify_bind_expr(), hash_tree(), symbol_table::insert_to_assembler_name_hash(), instrument_bool_enum_load(), instrument_derefs(), instrument_expr(), is_gimple_asm_val(), is_gimple_reg(), is_var_need_auto_init(), make_decl_rtl(), may_be_nonaddressable_p(), maybe_warn_operand(), new_var_info(), notice_global_symbol(), output_in_order(), symtab_node::output_to_lto_symbol_table_p(), symbol_table::output_variables(), pack_ts_decl_with_vis_value_fields(), ipa_icf::sem_variable::parse(), print_declaration(), process_alt_operands(), remove_unused_locals(), rtl_for_decl_location(), ssa_defined_default_def_p(), ssa_is_replaceable_p(), statement_sink_location(), unpack_ts_decl_with_vis_value_fields(), symtab_node::unregister(), and symtab_node::verify_base().
#define DECL_HAS_DEBUG_ARGS_P | ( | NODE | ) |
Nonzero if a FUNCTION_DECL has DEBUG arguments attached to it.
Referenced by decl_debug_args_insert(), decl_debug_args_lookup(), expand_call_stmt(), prepare_call_arguments(), and tree_function_versioning().
#define DECL_HAS_DEBUG_EXPR_P | ( | NODE | ) |
For VAR_DECL, this is set to an expression that it was split from.
Referenced by add_local_variables(), add_var_loc_to_decl(), copy_node(), create_access_replacement(), create_one_component_var(), default_tree_printer(), DFS::DFS_write_tree_body(), gimplify_modify_expr(), hash_tree(), lto_input_ts_decl_common_tree_pointers(), pack_ts_decl_common_value_fields(), track_expr_p(), unpack_ts_decl_common_value_fields(), var_debug_decl(), verify_expr_location_1(), and write_ts_decl_common_tree_pointers().
#define DECL_HAS_INIT_PRIORITY_P | ( | NODE | ) |
In a non-local VAR_DECL with static storage duration, true if the variable has an initialization priority. If false, the variable will be initialized at the DEFAULT_INIT_PRIORITY.
Referenced by copy_node().
#define DECL_HAS_VALUE_EXPR_P | ( | NODE | ) |
In a VAR_DECL or PARM_DECL, the location at which the value may be found, if transformations have made this more complicated than evaluating the decl itself.
Referenced by add_clobbers_to_eh_landing_pad(), add_decls_addresses_to_decl_constructor(), address_compare(), varpool_node::assemble_decl(), assign_parms(), varpool_node::can_remove_if_no_refs_p(), clear_unused_block_pointer_in_block(), computable_teams_clause(), copy_node(), create_emultls_var(), create_task_copyfn(), DFS::DFS_write_tree_body(), expand_function_start(), expand_omp_regimplify_p(), expand_one_var(), varpool_node::finalize_named_section_flags(), find_simtpriv_var_op(), finish_taskreg_remap(), fixup_remapped_decl(), fixup_vla_decls(), fortran_common(), get_local_debug_decl(), get_nonlocal_debug_decl(), gimple_add_padding_init_for_auto_var(), gimple_duplicate_bb(), gimplify_adjust_omp_clauses(), gimplify_bind_expr(), gimplify_body(), gimplify_decl_expr(), gimplify_parameters(), gimplify_scan_omp_clauses(), gimplify_var_or_parm_decl(), gimplify_vla_decl(), hash_tree(), instantiate_decls(), instantiate_decls_1(), instantiate_expr(), loc_list_from_tree_1(), lookup_field_for_decl(), lower_lastprivate_clauses(), lower_omp_for_scan(), lower_omp_regimplify_p(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), lower_send_shared_vars(), lto_input_ts_decl_common_tree_pointers(), omp_finish_file(), omp_member_access_dummy_var(), omp_notice_variable(), ompdevlow_adjust_simt_enter(), output_in_order(), symbol_table::output_variables(), pack_ts_decl_common_value_fields(), print_declaration(), print_node(), record_reference(), remap_decls(), remap_vla_decls(), remove_dead_stmt(), remove_unused_scope_block_p(), replace_block_vars_by_duplicates(), rest_of_decl_compilation(), scan_sharing_clauses(), target_for_debug_bind(), unpack_ts_decl_common_value_fields(), use_pointer_for_field(), verify_expr_location_1(), vt_add_function_parameters(), wrapup_global_declaration_2(), and write_ts_decl_common_tree_pointers().
#define DECL_HIDDEN_STRING_LENGTH | ( | NODE | ) |
In a PARM_DECL, set for Fortran hidden string length arguments that some buggy callers don't pass to the callee.
Referenced by expand_call(), pack_ts_decl_common_value_fields(), and unpack_ts_decl_common_value_fields().
#define DECL_IGNORED_P | ( | NODE | ) |
Nonzero for a given ..._DECL node means that the name of this node should be ignored for symbolic debug purposes. For a TYPE_DECL, this means that the associated type should be ignored. For a FUNCTION_DECL, the body of the function should also be ignored.
Referenced by add_var_loc_to_decl(), asan_add_global(), asan_emit_stack_protection(), asan_finish_file(), asan_global_struct(), assemble_start_function(), build_constant_desc(), tree_switch_conversion::switch_conversion::build_one_array(), cfg_layout_merge_blocks(), cgraph_build_static_cdtor_1(), rt_bb_visited::check(), ipa_param_body_adjustments::common_initialization(), copy_decl_for_dup_finish(), copy_var_decl(), create_access_replacement(), create_artificial_label(), create_asan_shadow_var(), create_assumption_fn(), function_reader::create_function(), create_loop_fn(), create_odr_indicator(), create_omp_child_function(), create_one_component_var(), create_tmp_var_raw(), create_vop_var(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_stack_protect_guard(), defer_stack_allocation(), dump_decl_name(), duplicate_thunk_for_node(), dw2_output_indirect_constant_1(), dwarf2_debug_info_emitted_p(), dwarf2out_begin_prologue(), expand_call_inline(), expand_expr_real_1(), expand_omp_target(), expand_thunk(), expand_used_vars(), final_end_function(), final_scan_insn_1(), final_start_function_1(), fixup_reorder_chain(), get_asan_shadow_memory_dynamic_address_decl(), get_chain_decl(), get_debug_decl(), get_emutls_init_templ_addr(), get_local_debug_decl(), get_spill_slot_decl(), gimple_can_coalesce_p(), gimple_duplicate_bb(), gimplify_bind_expr(), gimplify_body(), gimplify_function_tree(), gimplify_modify_expr(), gimplify_parameters(), gimplify_type_sizes(), gimplify_vla_decl(), hash_tree(), in_initial_view_p(), leader_merge(), loc_list_from_tree_1(), lookup_field_for_decl(), lower_omp_critical(), lower_rec_input_clauses(), maybe_wrap_with_location(), member_declared_type(), new_emutls_decl(), omp_member_access_dummy_var(), omp_resolve_declare_variant(), pack_ts_decl_common_value_fields(), populate_coalesce_list_for_outofssa(), print_node(), process_scope_var(), remap_decls(), remap_ssa_name(), remove_dead_stmt(), remove_unused_scope_block_p(), ipa_param_body_adjustments::reset_debug_stmts(), rest_of_handle_final(), rtl_merge_blocks(), self_referential_size(), set_component_ssa_name(), skip_in_fields_list_p(), split_complex_args(), target_for_debug_bind(), track_expr_p(), ubsan_create_data(), ubsan_expand_vptr_ifn(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), ubsan_type_descriptor(), unpack_ts_decl_common_value_fields(), use_register_for_decl(), and vt_add_function_parameters().
#define DECL_IN_CONSTANT_POOL | ( | NODE | ) |
In a VAR_DECL that's static, nonzero if it belongs to the global constant pool.
Referenced by symtab_node::address_can_be_compared_p(), varpool_node::assemble_decl(), build_constant_desc(), symtab_node::can_increase_alignment_p(), constant_decl_p(), ctor_for_folding(), varpool_node::ctor_useable_for_folding_p(), expand_debug_expr(), varpool_node::get_availability(), symtab_node::get_partitioning_class(), get_symbol_initial_value(), gimplify_adjust_omp_clauses_1(), hash_tree(), ipa_print_constant_value(), make_decl_rtl(), ipa_icf::sem_variable::merge(), omp_default_clause(), output_constant_def_contents(), pack_ts_decl_with_vis_value_fields(), place_block_symbol(), print_node(), varpool_node::remove_initializer(), unpack_ts_decl_with_vis_value_fields(), and values_equal_for_ipcp_p().
#define DECL_IN_SYSTEM_HEADER | ( | NODE | ) |
Nonzero for a given ..._DECL node means that no warnings should be generated just because this node is unused.
Referenced by check_global_declaration(), expand_call_inline(), lhd_warn_unused_global_decl(), print_node(), should_emit_struct_debug(), and tree_inlinable_function_p().
#define DECL_IN_TEXT_SECTION | ( | NODE | ) |
In a VAR_DECL that's static, nonzero if the space is in the text section.
Referenced by assemble_variable(), ipa_icf::sem_variable::equals_wpa(), and print_node().
#define DECL_INCOMING_RTL | ( | NODE | ) |
For PARM_DECL, holds an RTL for the stack slot or register where the data was actually passed.
Referenced by add_stores(), add_var_loc_to_decl(), assign_parms(), assign_parms_unsplit_complex(), expand_call(), expand_debug_parm_decl(), expand_debug_source_expr(), initialize_argument_information(), instantiate_decls(), instantiate_expr(), function_reader::parse_param(), print_node(), print_param(), rtl_for_decl_location(), set_decl_incoming_rtl(), setup_incoming_promotions(), unshare_all_rtl(), and vt_add_function_parameter().
#define DECL_INIT_PRIORITY | ( | NODE | ) |
For a VAR_DECL or FUNCTION_DECL the initialization priority of NODE.
Referenced by build_cdtor(), compare_cdtor_tu_order(), compare_ctor(), and copy_node().
#define DECL_INITIAL | ( | NODE | ) |
For a FUNCTION_DECL, holds the tree of BINDINGs. For a TRANSLATION_UNIT_DECL, holds the namespace's BLOCK. For a VAR_DECL, holds the initial value. For a PARM_DECL, used for DECL_ARG_TYPE--default values for parameters are encoded in the type of the function, not in the PARM_DECL slot. For a FIELD_DECL, this is used for enumeration values and the C frontend uses it for temporarily storing bitwidth of bitfields. ??? Need to figure out some way to check this isn't a PARM_DECL.
Referenced by align_variable(), varpool_node::analyze(), asan_add_global(), asan_emit_stack_protection(), asan_finish_file(), assemble_crc_table(), assemble_variable(), assemble_variable_contents(), bss_initializer_p(), build_constant_desc(), build_gcov_info_var_registration(), tree_switch_conversion::switch_conversion::build_one_array(), categorize_decl_for_section(), cgraph_build_static_cdtor_1(), rt_bb_visited::check(), check_global_declaration(), clear_unused_block_pointer(), component_ref_size(), compute_reloc_for_var(), coverage_obj_finish(), coverage_obj_fn(), create_assumption_fn(), create_dispatcher_calls(), function_reader::create_function(), create_loop_fn(), create_odr_indicator(), create_omp_child_function(), cgraph_node::create_virtual_clone(), cgraph_node::create_wrapper(), ctor_for_folding(), varpool_node::ctor_useable_for_folding_p(), decl_binds_to_current_def_p(), default_binds_local_p_3(), default_elf_select_section(), dequeue_and_dump(), varpool_node::dump(), dump_scope_blocks(), dump_variable(), duplicate_thunk_for_node(), dw2_output_indirect_constant_1(), emit_push_insn(), emutls_common_1(), ipa_icf::sem_variable::equals(), execute_lower_omp(), cgraph_node::expand(), expand_call_inline(), expand_expr_addr_expr_1(), expand_expr_real_1(), expand_omp_for_generic(), expand_omp_target(), expand_omp_taskreg(), expand_thunk(), expand_used_vars(), final_start_function_1(), finalize_nesting_tree_1(), symbol_table::first_static_initializer(), fold(), fold_indirect_ref_1(), function_and_variable_visibility(), gen_subprogram_die(), generate_setjmp_warnings(), generic_parameter_die(), get_callee_fndecl(), varpool_node::get_constructor(), get_emutls_init_templ_addr(), get_object_alignment_2(), get_symbol_initial_value(), get_variable_align(), get_variable_section(), gimple_init_gcov_profiler(), gimplify_compound_literal_expr(), gimplify_decl_expr(), gimplify_expr(), gimplify_function_tree(), gimplify_init_constructor(), gimplify_modify_expr_rhs(), go_output_typedef(), ipa_icf::sem_variable::init(), init_ic_make_global_vars(), init_lowered_empty_function(), input_constructor(), input_function(), instantiate_decls(), ipa_find_agg_cst_from_init(), ipa_merge_profiles(), ipa_odr_summary_write(), ipa_print_constant_value(), lhd_omp_get_decl_init(), lhd_simulate_enum_decl(), load_register_parameters(), lower_function_body(), lower_gimple_bind(), lower_omp_target(), lto_input_ts_block_tree_pointers(), lto_output(), lto_read_tree_1(), make_decl_one_only(), make_decl_rtl(), make_dispatcher_decl(), mark_all_vars_used_1(), mark_constants_in_pattern(), ipa_icf::sem_variable::merge(), move_sese_region_to_fn(), new_emutls_decl(), symbol_table::next_static_initializer(), symtab_node::noninterposable_alias(), notice_global_symbol(), number_blocks(), omp_finish_file(), omp_resolve_declare_variant(), optimize_compound_literals_in_ctor(), optimize_omp_library_calls(), output_addressed_constants(), output_constant_def_contents(), output_constructor(), output_function(), output_object_block(), place_block_symbol(), prepare_call_arguments(), print_declaration(), print_node(), process_function_and_variable_attributes(), process_symver_attribute(), record_references_in_initializer(), reemit_insn_block_notes(), cgraph_node::release_body(), varpool_node::remove(), varpool_node::remove_initializer(), symbol_table::remove_unreachable_nodes(), remove_unused_locals(), reorder_blocks(), ipa_param_body_adjustments::reset_debug_stmts(), rest_of_decl_compilation(), rest_of_handle_final(), rtl_for_decl_location(), safe_from_p(), self_referential_size(), set_writeonly_bit(), split_function(), tree_add_const_value_attribute_for_decl(), tree_function_versioning(), ubsan_create_data(), ubsan_type_descriptor(), unshare_all_rtl_again(), use_blocks_for_decl_p(), values_equal_for_ipcp_p(), verify_gimple_in_cfg(), and walk_tree_1().
#define DECL_IS_MALLOC | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function should be treated as if it were a malloc, meaning it returns a pointer that is not an alias.
Referenced by ipa_param_adjustments::adjust_decl(), analyze_function(), cgraph_node::dump(), expr_expected_value_1(), flags_from_decl_or_type(), has_attribute(), hash_tree(), malloc_candidate_p_1(), pack_ts_function_decl_value_fields(), propagate_malloc(), set_call_expr_flags(), set_malloc_flag_1(), tree_function_versioning(), unpack_ts_function_decl_value_fields(), and cgraph_node::verify_node().
#define DECL_IS_NOVOPS | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function should be treated as "novops" function (function that does not read global memory, but may have arbitrary side effects).
Referenced by flags_from_decl_or_type(), hash_tree(), pack_ts_function_decl_value_fields(), set_call_expr_flags(), tree_ssa_prefetch_arrays(), and unpack_ts_function_decl_value_fields().
#define DECL_IS_OPERATOR_DELETE_P | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function should be treated as C++ operator delete.
Referenced by cgraph_node::dump(), find_func_aliases_for_call(), fndecl_dealloc_argno(), gimple_build_call_from_tree(), gimple_call_fnspec(), gimple_call_operator_delete_p(), mark_all_reaching_defs_necessary_1(), matching_alloc_calls_p(), pack_ts_function_decl_value_fields(), propagate_necessity(), and warn_dealloc_offset().
#define DECL_IS_OPERATOR_NEW_P | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function should be treated as C++ operator new, meaning that it returns a pointer for which we should not use type based aliasing.
Referenced by ipa_icf::sem_item::compare_referenced_symbol_properties(), cgraph_node::dump(), expand_call_inline(), expr_expected_value_1(), fndecl_alloc_p(), gimple_build_call_from_tree(), gimple_call_nonnull_result_p(), gimple_call_return_array(), ipa_icf::sem_item::hash_referenced_symbol_properties(), matching_alloc_calls_p(), tree_expr_nonzero_warnv_p(), and warn_dealloc_offset().
#define DECL_IS_REPLACEABLE_OPERATOR | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function is a replaceable function (like replaceable operators new or delete).
Referenced by ipa_icf::sem_item::compare_referenced_symbol_properties(), cgraph_node::create_version_clone_with_body(), cgraph_node::dump(), fndecl_dealloc_argno(), gimple_call_fnspec(), pack_ts_function_decl_value_fields(), set_new_clone_decl_and_node_flags(), unpack_ts_function_decl_value_fields(), and warn_dealloc_offset().
#define DECL_IS_REPLACEABLE_OPERATOR_NEW_P | ( | NODE | ) |
Referenced by gimple_call_fnspec(), gimple_call_return_array(), is_removable_allocation_p(), mark_all_reaching_defs_necessary_1(), and propagate_necessity().
#define DECL_IS_RETURNS_TWICE | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function may return more than once.
Referenced by flags_from_decl_or_type(), hash_tree(), pack_ts_function_decl_value_fields(), set_call_expr_flags(), setjmp_call_p(), and unpack_ts_function_decl_value_fields().
#define DECL_IS_UNDECLARED_BUILTIN | ( | DECL | ) |
This decl was created by a front-end or back-end rather than by user code, and has not been explicitly declared by the user -- when that happens the source location is updated to the user's source. This includes decls with no location (!).
Referenced by base_type_die(), dump_generic_node(), go_decl(), go_format_type(), go_type_decl(), and print_decl_identifier().
#define DECL_LAMBDA_FUNCTION_P | ( | NODE | ) |
In FUNCTION_DECL, this is set if this function is a lambda function.
Referenced by coverage_begin_function().
#define DECL_LANG_FLAG_0 | ( | NODE | ) |
Additional flags for language-specific uses.
Referenced by print_node().
#define DECL_LANG_FLAG_1 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_FLAG_2 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_FLAG_3 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_FLAG_4 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_FLAG_5 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_FLAG_6 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_FLAG_7 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_FLAG_8 | ( | NODE | ) |
Referenced by print_node().
#define DECL_LANG_SPECIFIC | ( | NODE | ) |
Language-specific decl information.
Referenced by ipa_param_adjustments::adjust_decl(), get_debug_decl(), ipa_tm_create_version_alias(), and ipa_param_body_adjustments::modify_formal_parameters().
#define DECL_LOOPING_CONST_OR_PURE_P | ( | NODE | ) |
Nonzero only if one of TREE_READONLY or DECL_PURE_P is nonzero AND the const or pure function may not terminate. When this is nonzero for a const or pure function, it can be dealt with by cse passes but cannot be removed by dce passes since you are not allowed to change an infinite looping program into one that terminates without error.
Referenced by cdtor_p(), flags_from_decl_or_type(), hash_tree(), ipa_make_function_const(), ipa_make_function_pure(), pack_ts_function_decl_value_fields(), set_call_expr_flags(), set_const_flag_1(), set_pure_flag_1(), unpack_ts_function_decl_value_fields(), and verify_gimple_call().
#define DECL_MERGEABLE | ( | NODE | ) |
In a VAR_DECL, nonzero if this variable is not required to have a distinct address from other variables with the same constant value. In other words, consider -fmerge-all-constants to be on for this VAR_DECL.
Referenced by symtab_node::address_can_be_compared_p(), categorize_decl_for_section(), and gimplify_init_constructor().
#define DECL_MINIMAL_CHECK | ( | T | ) |
#define DECL_MODE | ( | NODE | ) |
Holds the machine mode corresponding to the declaration of a variable or field. Always equal to TYPE_MODE (TREE_TYPE (decl)) except for a FIELD_DECL.
Referenced by add_location_or_const_value_attribute(), add_stores(), assign_parm_find_stack_rtl(), assign_parms(), assign_parms_unsplit_complex(), avoid_type_punning_on_regs(), build_constant_desc(), compute_record_mode(), default_elf_select_section(), discover_nonconstant_array_refs_r(), dw_loc_list_1(), emit_note_insn_var_location(), expand_call(), expand_debug_source_expr(), expand_expr_real_1(), expand_function_start(), expand_gimple_basic_block(), expand_one_error_var(), expand_one_stack_var_at(), expand_one_var(), expand_value_return(), get_inner_reference(), gimple_can_coalesce_p(), hash_tree(), insert_debug_temp_for_var_def(), layout_decl(), loc_list_from_tree_1(), lto_read_tree_1(), make_decl_rtl(), ipa_param_body_adjustments::mark_dead_statements(), ipa_param_adjustments::modify_call(), non_mem_decl_p(), pack_ts_decl_common_value_fields(), prepare_call_arguments(), prepare_decl_rtl(), print_node(), produce_memory_decl_rtl(), promote_decl_mode(), remap_ssa_name(), remove_unused_ivs(), ipa_param_body_adjustments::reset_debug_stmts(), rewrite_debug_stmt_uses(), rtl_for_decl_location(), set_reg_attrs_for_decl_rtl(), store_constructor(), store_field(), track_loc_p(), tracked_record_parameter_p(), tree_function_versioning(), use_register_for_decl(), and vect_bb_slp_scalar_cost().
#define DECL_NAME | ( | NODE | ) |
This is the name of the object as written by the user. It is an IDENTIFIER_NODE.
Referenced by add_desc_attribute(), add_discr_value(), announce_function(), asan_add_global(), asan_emit_stack_protection(), asan_memfn_rtl(), assemble_variable(), assumption_copy_decl(), base_type_die(), build_decl(), build_gcov_info_var_registration(), tree_switch_conversion::switch_conversion::build_one_array(), build_var(), called_as_built_in(), cgraph_externally_visible_p(), check_global_declaration(), combined_fn_name(), ipa_param_body_adjustments::common_initialization(), compute_function_frequency(), convert_gimple_call(), convert_nonlocal_reference_op(), copy_decl_to_var(), copy_result_decl_to_var(), coverage_obj_finish(), coverage_obj_init(), create_access_replacement(), create_field_for_decl(), create_function_info_for(), create_odr_indicator(), create_one_component_var(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), default_tree_printer(), delete_vta_debug_insn(), dequeue_and_dump(), DFS::DFS_write_tree_body(), diagnose_tm_1(), dump_decl_name(), dump_function_name(), dump_generic_node(), dump_oacc_loop(), dump_var(), duplicate_thunk_for_node(), libfunc_decl_hasher::equal(), error_unavailable_use(), execute_split_functions(), expand_debug_expr(), expand_function_start(), expand_label(), expand_omp_target(), expand_stack_vars(), finalize_nesting_tree_1(), finalize_record_size(), find_param_by_name(), fixup_child_record_type(), gen_call_used_regs_seq(), generic_parameter_die(), get_chain_field(), get_debug_decl(), get_emutls_init_templ_addr(), get_frame_type(), get_name(), compiler_logical_location::get_name_for_tree_for_path_output(), get_nl_goto_field(), ipa_param_body_adjustments::get_replacement_ssa_base(), gimple_add_init_for_auto_var(), gimple_decl_printable_name(), gimplify_adjust_omp_clauses(), gimplify_call_expr(), gimplify_compound_literal_expr(), gimplify_decl_expr(), gimplify_init_constructor(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), gimplify_omp_dispatch(), gimplify_scan_omp_clauses(), go_append_decl_name(), go_decl(), go_format_type(), go_output_fndecl(), go_output_typedef(), go_output_var(), go_type_decl(), handle_vtv_comdat_section(), libfunc_decl_hasher::hash(), hash_tree(), input_offload_tables(), install_var_field(), install_var_field(), ipa_propagate_frequency_1(), is_cxa_atexit(), is_cxa_pure_virtual_p(), is_ubsan_builtin_p(), lhd_decl_printable_name(), lhd_set_decl_assembler_name(), local_tree_p(), lookup_field_for_decl(), lower_oacc_reductions(), lower_omp_critical(), lower_omp_target(), lower_omp_task_reductions(), lto_input_ts_decl_minimal_tree_pointers(), make_decl_rtl(), make_fancy_decl_name(), malloc_candidate_p(), matching_alloc_calls_p(), maybe_special_function_p(), member_declared_type(), ipa_icf::sem_item_optimizer::merge_classes(), modified_type_die(), symtab_node::name(), need_assembler_name_p(), new_emutls_decl(), symtab_node::noninterposable_alias(), notice_global_symbol(), oacc_default_clause(), odr_types_equivalent_p(), omp_copy_decl_1(), omp_default_clause(), omp_is_private(), omp_notice_threadprivate_variable(), omp_notice_variable(), omp_resolve_declare_variant(), omp_runtime_api_call(), ompdevlow_adjust_simt_enter(), operand_compare::operand_equal_p(), optimize_omp_library_calls(), output_constructor(), output_constructor_bitfield(), function_reader::parse_mem_expr(), print_any_param_name(), print_decl_identifier(), print_insn(), print_node(), print_node_brief(), remap_ssa_name(), replace_by_duplicate_decl(), ipa_param_body_adjustments::reset_debug_stmts(), rtl_for_decl_location(), scan_omp_1_stmt(), setjmp_or_longjmp_p(), simd_clone_adjust_argument_types(), simd_clone_create(), simple_cst_equal(), skip_in_fields_list_p(), special_function_p(), strub_watermark_parm(), task_copyfn_remap_type(), tm_malloc_replacement(), gdbhooks.TreePrinter::to_string(), track_expr_p(), tree_conflicts_with_clobbers_p(), ubsan_type_descriptor(), update_alignment_for_field(), verify_bb_vtables(), walk_regimplify_phi(), warn_deprecated_use(), warn_types_mismatch(), warn_uninit(), and write_ts_decl_minimal_tree_pointers().
#define DECL_NAMELESS | ( | NODE | ) |
If nonzero, decl's name shouldn't be emitted into debug info.
Referenced by assign_parms_augmented_arg_list(), create_access_replacement(), create_assumption_fn(), create_omp_child_function(), create_tmp_var_raw(), dump_decl_name(), dump_generic_node(), dwarf2_name(), expand_omp_for_generic(), expand_omp_target(), gimplify_init_constructor(), instantiate_expr(), lower_omp_target(), lower_omp_taskreg(), member_declared_type(), modified_type_die(), oacc_do_neutering(), pack_ts_base_value_fields(), scan_omp_parallel(), scan_omp_target(), scan_omp_task(), scan_omp_teams(), unpack_ts_base_value_fields(), and vt_add_function_parameters().
#define DECL_NO_INLINE_WARNING_P | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function should not get -Winline warnings.
Referenced by expand_call_inline(), hash_tree(), ipa_icf::sem_function::merge(), pack_ts_function_decl_value_fields(), split_function(), tree_inlinable_function_p(), and unpack_ts_function_decl_value_fields().
#define DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT | ( | NODE | ) |
Used in FUNCTION_DECLs to indicate that function entry and exit should be instrumented with calls to support routines.
Referenced by allocate_struct_function(), cgraph_build_static_cdtor_1(), ipa_icf::sem_function::equals_wpa(), expand_function_start(), gimplify_function_tree(), hash_tree(), pack_ts_function_decl_value_fields(), and unpack_ts_function_decl_value_fields().
#define DECL_NO_LIMIT_STACK | ( | NODE | ) |
Used in FUNCTION_DECLs to indicate that limit-stack-* should be disabled in this function.
Referenced by ipa_icf::sem_function::equals_wpa(), expand_function_start(), hash_tree(), pack_ts_function_decl_value_fields(), and unpack_ts_function_decl_value_fields().
#define DECL_NOINIT_P | ( | DECL | ) |
Nonzero for a decl that is decorated with the "noinit" attribute. decls with this attribute are placed into the ".noinit" section, so they are not initialized by the target's startup code.
Referenced by default_elf_select_section(), default_unique_section(), and get_variable_section().
#define DECL_NON_COMMON_CHECK | ( | T | ) |
#define DECL_NONADDRESSABLE_P | ( | NODE | ) |
Used in a FIELD_DECL to indicate that we cannot form the address of this component. This makes it possible for Type-Based Alias Analysis to disambiguate accesses to this field with indirect accesses using the field's type: struct S { int i; } s; int *p; If the flag is set on 'i', TBAA computes that s.i and *p never conflict. From the implementation's viewpoint, the alias set of the type of the field 'i' (int) will not be recorded as a subset of that of the type of 's' (struct S) in record_component_aliases. The counterpart is that accesses to s.i must not be given the alias set of the type of 'i' (int) but instead directly that of the type of 's' (struct S).
Referenced by analyze_ref(), ends_tbaa_access_path_p(), get_chain_field(), gimple_canonical_types_compatible_p(), hash_tree(), lookup_field_for_decl(), may_be_nonaddressable_p(), odr_types_equivalent_p(), pack_ts_decl_common_value_fields(), print_node(), record_component_aliases(), start_bitfield_representative(), store_constructor(), and unpack_ts_decl_common_value_fields().
#define DECL_NONALIASED | ( | NODE | ) |
In a VAR_DECL, nonzero if this variable is not aliased by any pointer.
Referenced by build_var(), may_be_aliased(), and vect_analyze_data_refs().
#define DECL_NONLOCAL | ( | NODE | ) |
Nonzero in a ..._DECL means this variable is ref'd from a nested function. For VAR_DECL nodes, PARM_DECL nodes, and FUNCTION_DECL nodes. For LABEL_DECL nodes, nonzero if nonlocal gotos to the label are permitted. Also set in some languages for variables, etc., outside the normal lexical scope, such as class instance variables.
Referenced by check_stmt(), cleanup_dead_labels(), convert_nl_goto_reference(), dump_generic_node(), dump_gimple_label(), expand_label(), find_duplicate(), get_loop_body_in_if_conv_order(), gimple_block_label(), gimple_merge_blocks(), gimple_verify_flow_info(), group_case_labels_stmt(), hash_tree(), label_rtx(), label_rtx_for_bb(), make_edges(), maybe_dead_abnormal_edge_p(), move_stmt_op(), move_stmt_r(), omp_copy_decl(), pack_ts_decl_common_value_fields(), print_node(), remove_bb(), remove_forwarder_block(), remove_forwarder_block_with_phi(), replace_block_by(), simple_operand_p(), single_block_loop_p(), stmt_starts_bb_p(), tree_forwarder_block_p(), tree_is_indexable(), unpack_ts_decl_common_value_fields(), and verify_gimple_label().
#define DECL_NONLOCAL_FRAME | ( | NODE | ) |
In a VAR_DECL, nonzero if this is a non-local frame structure.
Referenced by asan_expand_mark_ifn(), expand_one_var(), get_frame_type(), hash_tree(), layout_decl(), loc_list_from_tree_1(), pack_ts_decl_common_value_fields(), and unpack_ts_decl_common_value_fields().
#define DECL_NONSHAREABLE | ( | NODE | ) |
In VAR_DECL or RESULT_DECL, set when significant code movement precludes attempting to share the stack slot with some other variable.
Referenced by clear_tree_used(), expand_used_vars_for_block(), and gimple_duplicate_bb().
#define DECL_NOT_FLEXARRAY | ( | NODE | ) |
Used in a FIELD_DECL to indicate whether this field is not a flexible array member. This is only valid for the last array type field of a structure.
Referenced by array_ref_flexible_size_p(), array_bounds_checker::check_array_ref(), component_ref_size(), pack_ts_decl_common_value_fields(), print_node(), and unpack_ts_decl_common_value_fields().
#define DECL_NOT_GIMPLE_REG_P | ( | DECL | ) |
For function local variables of COMPLEX and VECTOR types, indicates that the variable is not aliased, and that all modifications to the variable have been adjusted so that they are killing assignments. Thus the variable may now be treated as a GIMPLE register, and use real instead of virtual ops in SSA form.
Referenced by asan_add_global(), assumption_copy_decl(), copy_decl_to_var(), copy_result_decl_to_var(), copy_var_decl(), create_access_replacement(), declare_return_variable(), expand_thunk(), gimplify_parameters(), hash_tree(), is_gimple_reg(), lookup_tmp_var(), maybe_optimize_var(), pack_ts_decl_common_value_fields(), ipa_param_body_adjustments::reset_debug_stmts(), separate_decls_in_region_name(), setup_one_parameter(), and unpack_ts_decl_common_value_fields().
#define DECL_OFFSET_ALIGN | ( | NODE | ) |
For FIELD_DECLs, off_align holds the number of low-order bits of DECL_FIELD_OFFSET which are known to be always zero. DECL_OFFSET_ALIGN thus returns the alignment that DECL_FIELD_OFFSET has.
Referenced by component_ref_field_offset(), gimple_compare_field_offset(), gimplify_compound_lval(), gimplify_scan_omp_clauses(), hash_tree(), place_field(), print_node(), and start_bitfield_representative().
#define DECL_ONE_ONLY | ( | NODE | ) |
Used in TREE_PUBLIC decls to indicate that copies of this DECL in multiple translation units should be merged.
Referenced by asan_protect_global(), consider_split(), default_unique_section(), symtab_node::dump_base(), function_and_variable_visibility(), get_emutls_init_templ_addr(), symtab_node::get_partitioning_class(), ipa_tm_create_version(), ipa_tm_create_version_alias(), new_emutls_decl(), notice_global_symbol(), simd_clone_create(), update_visibility_by_resolution_info(), and write_symbol().
#define DECL_ORIGIN | ( | NODE | ) |
Like DECL_ABSTRACT_ORIGIN, but returns NODE if there's no abstract origin. This is useful when setting the DECL_ABSTRACT_ORIGIN.
Referenced by block_ultimate_origin(), copy_debug_stmt(), copy_decl_for_dup_finish(), decl_ultimate_origin(), expand_call_inline(), expand_debug_source_expr(), lto_input_ts_block_tree_pointers(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::reset_debug_stmts(), split_function(), and tree_function_versioning().
#define DECL_ORIGINAL_TYPE | ( | NODE | ) |
TRANSLATION_UNIT_DECL inherits from DECL_MINIMAL.
For a TYPE_DECL, holds the "original" type. (TREE_TYPE has the copy.)
Referenced by decl_attributes(), finalize_nesting_tree_1(), gimplify_decl_expr(), go_output_typedef(), is_typedef_decl(), modified_type_die(), nesting_copy_decl(), note_nonlocal_vla_type(), remap_decl(), and remap_vla_decls().
#define DECL_P | ( | NODE | ) |
Nonzero if NODE represents a declaration.
Referenced by add_desc_attribute(), operands_scanner::add_stmt_operand(), add_var_loc_to_decl(), addr_object_size(), addr_stridxptr(), address_compare(), alias_get_name(), alloc_iv(), ao_ref_from_mem(), ao_ref_init_from_vn_reference(), array_ref_flexible_size_p(), asan_emit_stack_protection(), asan_protect_stack_decl(), assemble_external(), assign_temp(), auto_var_in_fn_p(), avoid_type_punning_on_regs(), base_object_writable(), block_ultimate_origin(), build_access_from_expr_1(), call_may_clobber_ref_p_1(), can_escape(), can_sm_ref_p(), array_bounds_checker::check_addr_expr(), array_bounds_checker::check_array_ref(), check_ipa_load(), check_ipa_store(), check_load(), check_stmt_for_type_change(), check_store(), clobber_variable_part(), compare_base_decls(), component_ref_size(), compute_discriminator(), compute_objsize_r(), cond_if_else_store_replacement_1(), cond_store_replacement(), constant_after_peeling(), constant_byte_string(), contain_complex_addr_expr(), contains_remapped_vars(), convert_local_omp_clauses(), convert_local_reference_op(), convert_local_reference_stmt(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_stmt(), strlen_pass::count_nonzero_bytes(), create_access(), create_task_copyfn(), create_variable_info_for_1(), decl_attributes(), decl_binds_to_current_def_p(), decl_for_component_ref(), decl_maybe_in_construction_p(), decl_refs_may_alias_p(), decl_replaceable_p(), declare_return_variable(), default_binds_local_p_3(), default_elf_select_section(), default_encode_section_info(), default_function_value(), default_ref_may_alias_errno(), default_section_type_flags(), default_select_section(), default_tree_printer(), default_unique_section(), default_use_anchors_for_symbol_p(), dequeue_and_dump(), detect_type_change_from_memory_writes(), determine_known_aggregate_parts(), DFS::DFS(), diag_attr_exclusions(), diagnose_tm_1(), discover_nonconstant_array_refs(), discover_nonconstant_array_refs_r(), disqualify_base_of_expr(), dr_analyze_indices(), symtab_node::dump_base(), dump_defs_stack(), dump_enumerated_decls_push(), dump_generic_node(), dump_scope_block(), dump_tree_via_hooks(), eliminate_local_variables_1(), error_unavailable_use(), execute_update_addresses_taken(), expand_asm_stmt(), expand_assignment(), expand_call_inline(), expand_clobber(), expand_DEFERRED_INIT(), expand_expr_addr_expr_1(), expand_gimple_basic_block(), expand_omp_build_assign(), expand_omp_for_generic(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_regimplify_p(), expand_omp_simd(), expand_omp_taskloop_for_inner(), expand_stack_vars(), extr_type_from_vtbl_ptr_store(), extract_omp_for_update_vars(), find_func_aliases(), find_func_clobbers(), pcom_worker::find_looparound_phi(), find_var_from_fn(), flags_from_decl_or_type(), fold_comparison(), fold_const_aggregate_ref_1(), fold_gimple_assign(), for_each_index(), force_reg(), attr_access::free_lang_data(), gen_generic_params_dies(), get_access_for_expr(), get_addr_stridx(), get_attr_nonstring_decl(), get_base_decl(), get_base_loadstore(), get_callee_fndecl(), get_constraint_for_ssa_var(), get_default_value(), ipa_polymorphic_call_context::get_dynamic_type(), get_location(), get_location(), get_mem_align_offset(), get_name(), get_named_section(), get_object_alignment_2(), get_range_strlen_dynamic(), get_reaching_def(), get_ref_base_and_extent(), get_references_in_stmt(), get_section(), get_symbol_initial_value(), get_up_bounds_for_array_ref(), gimple_assign_load_p(), gimple_could_trap_p_1(), gimple_expand_vec_set_extract_expr(), gimple_fold_indirect_ref(), gimple_ior_addresses_taken_1(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_init_constructor(), gimplify_init_ctor_preeval(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), gimplify_omp_for(), gimplify_omp_loop_xform(), gimplify_scan_omp_clauses(), go_format_type(), handle_lhs_call(), has_attribute(), has_location(), operand_compare::hash_operand(), hash_tree(), indirect_ref_may_alias_decl_p(), access_ref::inform_access(), initialize_argument_information(), insert_debug_temp_for_var_def(), insert_phi_nodes_for(), instantiate_expr(), instrument_derefs(), instrument_expr(), instrument_object_size(), ipa_get_range_from_ip_invariant(), ipa_load_from_parm_agg(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_simd_modify_function_body(), leader_merge(), lhd_dwarf_name(), lower_oacc_head_mark(), lower_omp_1(), lower_omp_for(), lower_omp_regimplify_p(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), lto_input_ts_block_tree_pointers(), lto_read_tree_1(), lto_write_tree_1(), make_fancy_name_1(), map_decl_to_instance(), mark_def_sites(), matching_alloc_calls_p(), maybe_instrument_pointer_overflow(), maybe_make_indirect(), maybe_nonzero_address(), maybe_optimize_ubsan_ptr_ifn(), maybe_register_def(), maybe_replace_use(), maybe_replace_use_in_debug_stmt(), maybe_rewrite_mem_ref_base(), maybe_warn_operand(), maybe_warn_pass_by_reference(), maybe_wrap_with_location(), mem_dies_at_call(), move_stmt_op(), movement_possibility_1(), new_var_info(), non_mem_decl_p(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), nonoverlapping_memrefs_p(), oacc_resolve_clause_dependencies(), omp_accumulate_sibling_list(), omp_add_variable(), omp_build_struct_sibling_lists(), omp_find_stores_op(), omp_firstprivatize_variable(), omp_notice_variable(), omp_oacc_kernels_decompose_1(), omp_addr_tokenizer::omp_parse_structure_base(), omp_resolve_clause_dependencies(), operand_compare::operand_equal_p(), ref_always_accessed::operator()(), optimize_target_teams(), symbol_table::output_weakrefs(), pack_ts_base_value_fields(), path_comparable_for_same_access(), points_to_possible_sra_candidate_p(), prepare_block_for_update_1(), prepare_decl_rtl(), print_insn(), process_function_and_variable_attributes(), ptr_deref_may_alias_decl_p(), ptr_deref_may_alias_ref_p_1(), ptr_derefs_may_alias_p(), recompute_tree_invariant_for_addr_expr(), record_dynamic_alloc(), access_ref::ref_declared(), ref_may_alias_global_p_1(), ref_may_be_aliased(), ref_maybe_used_by_call_p_1(), ref_maybe_used_by_stmt_p(), reference_to_unused(), refs_local_or_readonly_memory_p(), refs_may_alias_p_2(), remap_decl(), remap_decls(), remap_gimple_stmt(), remap_type_3(), remap_vla_decls(), remove_unused_locals(), rewrite_debug_stmt_uses(), rewrite_stmt(), rewrite_update_phi_arguments(), rtx_addr_can_trap_p_1(), rtx_for_static_chain(), safe_from_p(), same_variable_part_p(), scan_omp_1_op(), scan_sharing_clauses(), scan_visit_addr(), self_referential_size(), separate_decls_in_region_debug(), ipa_polymorphic_call_context::set_by_decl(), ipa_polymorphic_call_context::set_by_invariant(), symtab_node::set_comdat_group(), set_mem_attributes_minus_bitpos(), set_reg_attrs_for_decl_rtl(), setup_one_parameter(), simple_operand_p(), sra_modify_call_arg(), stack_protect_epilogue(), stack_protect_prologue(), stmt_makes_single_store(), store_field(), strub_set_fndt_mode_to(), strub_target_support_p(), switch_to_section(), take_address_of(), track_expr_p(), pair_fusion_bb_info::track_via_mem_expr(), tree_add_const_value_attribute(), tree_could_trap_p(), tree_expr_size(), tree_single_nonzero_warnv_p(), tree_swap_operands_p(), ubsan_encode_value(), unpack_ts_base_value_fields(), var_can_have_subvars(), var_debug_decl(), var_decl_component_p(), vect_bb_slp_scalar_cost(), vect_build_slp_tree_1(), vect_get_datarefs_in_loop(), vectorizable_store(), verify_gimple_assign_single(), verify_sra_access_forest(), visit_conflict(), visit_op(), visit_reference_op_call(), visit_stmt(), vn_reference_lookup_3(), warn_dealloc_offset(), warn_deprecated_use(), warn_uninitialized_vars(), and widen_memory_access().
#define DECL_PACKED | ( | NODE | ) |
In a FIELD_DECL, indicates this field should be bit-packed.
Referenced by hash_tree(), layout_decl(), pack_ts_decl_common_value_fields(), place_field(), print_node(), start_bitfield_representative(), unpack_ts_decl_common_value_fields(), and update_alignment_for_field().
#define DECL_PADDING_P | ( | NODE | ) |
Used in a FIELD_DECL to indicate that this field is padding.
Referenced by clear_padding_type(), clear_padding_union(), hash_tree(), is_empty_type(), native_encode_initializer(), native_interpret_aggregate(), pack_ts_decl_common_value_fields(), type_has_padding_at_level_p(), and unpack_ts_decl_common_value_fields().
#define DECL_PERSISTENT_P | ( | DECL | ) |
Nonzero for a decl that is decorated with the "persistent" attribute. decls with this attribute are placed into the ".persistent" section, so they are not initialized by the target's startup code.
Referenced by bss_initializer_p(), default_elf_select_section(), and default_unique_section().
#define DECL_POSSIBLY_INLINED | ( | DECL | ) |
Nonzero for a decl that cgraph has decided should be inlined into at least one call site. It is not meaningful to look at this directly; always use cgraph_function_possibly_inlined_p.
Referenced by cgraph_function_possibly_inlined_p(), hash_tree(), inline_call(), pack_ts_function_decl_value_fields(), tree_function_versioning(), and unpack_ts_function_decl_value_fields().
#define DECL_PRESERVE_P | ( | DECL | ) |
Nonzero for a decl that is decorated using attribute used. This indicates to compiler tools that this decl needs to be preserved.
Referenced by assemble_start_function(), assemble_variable(), symtab_node::can_increase_alignment_p(), cgraph_build_static_cdtor_1(), cgraph_externally_visible_p(), check_decl(), function_reader::create_function(), expand_omp_target(), varpool_node::externally_visible_p(), varpool_node::finalize_decl(), get_emutls_init_templ_addr(), hash_tree(), is_improper(), new_emutls_decl(), optimize_weakref(), pack_ts_decl_common_value_fields(), print_node(), process_function_and_variable_attributes(), prune_offload_funcs(), and unpack_ts_decl_common_value_fields().
#define DECL_PT_UID | ( | NODE | ) |
Every ..._DECL node gets a unique number that stays the same even when the decl is copied by the inliner once it is set.
Referenced by assumption_copy_decl(), copy_decl_to_var(), copy_node(), copy_result_decl_to_var(), dump_decl_name(), dump_variable(), get_constraint_for_ssa_var(), pt_solution_includes_1(), pt_solution_set_var(), ipa_param_body_adjustments::reset_debug_stmts(), same_addr_size_stores_p(), set_uids_in_ptset(), and update_alias_info_with_stack_vars().
#define DECL_PT_UID_SET_P | ( | NODE | ) |
Whether the ..._DECL node pt-uid has been initialized and thus needs to be preserved when copyin the decl.
Referenced by assumption_copy_decl(), copy_decl_to_var(), copy_node(), copy_result_decl_to_var(), get_constraint_for_ssa_var(), ipa_param_body_adjustments::reset_debug_stmts(), and set_uids_in_ptset().
#define DECL_PURE_P | ( | NODE | ) |
Nonzero in a FUNCTION_DECL means this function should be treated as "pure" function (like const function, but may read global memory). Note that being pure or const for a function is orthogonal to being nothrow, i.e. it is valid to have DECL_PURE_P set and TREE_NOTHROW cleared.
Referenced by cdtor_p(), flags_from_decl_or_type(), has_attribute(), hash_tree(), ipa_make_function_pure(), pack_ts_function_decl_value_fields(), set_call_expr_flags(), set_const_flag_1(), set_pure_flag_1(), unpack_ts_function_decl_value_fields(), and verify_gimple_call().
#define DECL_QUALIFIER | ( | NODE | ) |
For a FIELD_DECL in a QUAL_UNION_TYPE, records the expression, which if nonzero, indicates that the field occupies the type.
Referenced by place_union_field(), remap_decl(), remap_type_2(), type_contains_placeholder_1(), variably_modified_type_p(), and walk_tree_1().
#define DECL_READ_P | ( | NODE | ) |
In VAR_DECL and PARM_DECL, set when the decl has been used except for being set.
Referenced by print_node().
#define DECL_REGISTER | ( | NODE | ) |
In VAR_DECL and PARM_DECL nodes, nonzero means declared `register'.
Referenced by assign_parms(), check_global_declaration(), dequeue_and_dump(), expand_function_end(), expand_function_start(), fold_builtin_next_arg(), gimplify_init_constructor(), gimplify_modify_expr_rhs(), hash_tree(), instrument_object_size(), make_decl_rtl(), maybe_instrument_pointer_overflow(), maybe_optimize_ubsan_ptr_ifn(), output_gimple_stmt(), pack_ts_decl_wrtl_value_fields(), print_declaration(), print_node(), register_asm_p(), rest_of_decl_compilation(), simple_operand_p(), tree_conflicts_with_clobbers_p(), unpack_ts_decl_wrtl_value_fields(), and use_register_for_decl().
#define DECL_RESULT | ( | NODE | ) |
In FUNCTION_DECL, holds the decl for the return value.
Referenced by adjust_return_value_with_ops(), allocate_struct_function(), assign_parms(), assign_parms_augmented_arg_list(), cgraph_build_static_cdtor_1(), clobber_return_register(), consider_split(), copy_fn(), create_assumption_fn(), create_coalesce_list_for_region(), function_reader::create_function(), create_function_info_for(), create_loop_fn(), create_omp_child_function(), create_tailcall_accumulator(), cgraph_node::create_virtual_clone(), cgraph_node::create_wrapper(), declare_return_variable(), dump_function_to_file(), duplicate_thunk_for_node(), expand_builtin(), expand_call(), expand_function_end(), expand_function_start(), expand_gimple_stmt_1(), expand_omp_target(), expand_return(), expand_thunk(), expand_value_return(), find_tail_calls(), for_all_parms(), function_to_dwarf_procedure(), cgraph_node::get_untransformed_body(), gimple_regimplify_operands(), gimplify_return_expr(), init_function_start(), input_function(), instantiate_decls(), intra_create_variable_infos(), ipa_merge_profiles(), mark_nonssa_use(), output_function(), function_reader::parse_mem_expr(), points_to_local_or_readonly_memory_p(), process_assignment(), push_dummy_function(), cgraph_node::release_body(), symbol_table::remove_unreachable_nodes(), self_referential_size(), simd_clone_adjust(), split_function(), test_nonssa_use(), tree_function_versioning(), tree_optimize_tail_calls_1(), unshare_body(), unvisit_body(), and vt_add_function_parameters().
#define DECL_RESULT_FLD | ( | NODE | ) |
This field is used to reference anything in decl.result and is meant only for use by the garbage collector.
Referenced by print_node().
#define DECL_RTL | ( | NODE | ) |
Holds the RTL expression for the value of a variable or function. This value can be evaluated lazily for functions, variables with static storage duration, and labels.
Referenced by asan_memfn_rtl(), asan_protect_global(), assemble_undefined_decl(), assemble_variable(), assign_parms(), assign_parms_unsplit_complex(), build_personality_function(), symtab_node::can_increase_alignment_p(), clobber_return_register(), compare_base_symbol_refs(), symtab_node::copy_visibility_from(), decl_overlaps_hard_reg_set_p(), decode_addr_const(), default_globalize_decl_name(), default_stack_protect_guard(), delegitimize_mem_from_attrs(), dump_tm_clone_pairs(), expand_asm_stmt(), expand_assignment(), expand_builtin(), expand_call(), expand_expr_real_1(), expand_expr_real_2(), expand_function_end(), expand_label(), expand_one_var(), expand_return(), expand_stack_vars(), expand_value_return(), gen_array_type_die(), gen_const_die(), get_alias_set(), get_fnname_from_decl(), get_personality_function(), globalize_decl(), init_one_libfunc_visibility(), initialize_argument_information(), instantiate_decls(), instantiate_decls_1(), instantiate_expr(), label_rtx(), symtab_node::make_decl_local(), make_decl_rtl(), make_decl_rtl_for_debug(), mark_weak(), non_mem_decl_p(), nonoverlapping_memrefs_p(), place_block_symbol(), print_node(), rest_of_handle_final(), rtx_for_function_call(), safe_from_p(), set_mem_attrs_for_spill(), set_parm_rtl(), set_rtl(), set_used_decls(), set_user_assembler_libfunc(), setjmp_args_warning(), setjmp_vars_warning(), stack_protect_epilogue(), stack_protect_prologue(), unshare_all_rtl(), and unshare_all_rtl_again().
#define DECL_RTL_IF_SET | ( | NODE | ) |
The DECL_RTL for NODE, if it is set, or NULL, if it is not set.
Referenced by add_scope_conflicts_1(), expand_clobber(), expand_debug_expr(), expand_used_vars(), layout_decl(), print_param(), rtl_for_decl_location(), safe_from_p(), set_mem_attributes_minus_bitpos(), track_expr_p(), visit_conflict(), visit_op(), and vt_add_function_parameter().
#define DECL_RTL_KNOWN_SET | ( | decl | ) |
Referenced by dv_as_rtx(), dv_from_rtx(), prepare_call_arguments(), set_dv_changed(), and var_track_values_to_stack().
#define DECL_RTL_SET_P | ( | NODE | ) |
Returns nonzero if the DECL_RTL for NODE has already been set.
Referenced by asan_protect_global(), assemble_variable(), assign_parms(), symtab_node::can_increase_alignment_p(), symbol_table::change_decl_assembler_name(), clobber_return_register(), symtab_node::copy_visibility_from(), delegitimize_mem_from_attrs(), delete_vta_debug_insn(), duplicate_thunk_for_node(), expand_debug_expr(), expand_debug_source_expr(), expand_expr_real_1(), expand_function_end(), expand_function_start(), expand_one_var(), get_alias_set(), instantiate_decls(), instantiate_decls_1(), instantiate_expr(), label_rtx(), symtab_node::make_decl_local(), make_decl_rtl(), make_decl_rtl_for_debug(), mark_weak(), non_mem_decl_p(), nonoverlapping_memrefs_p(), prepare_decl_rtl(), print_node(), relayout_decl(), symbol_table::remove_unreferenced_decls(), safe_from_p(), set_rtl(), set_used_decls(), setjmp_vars_warning(), simple_cst_equal(), track_expr_p(), and unshare_all_rtl().
#define DECL_SAVED_TREE | ( | NODE | ) |
In a FUNCTION_DECL, the saved representation of the body of the entire function.
Referenced by cgraph_build_static_cdtor_1(), copy_tree_body(), create_task_copyfn(), dequeue_and_dump(), dump_function_to_file(), expand_omp_target(), expand_omp_taskreg(), function_to_dwarf_procedure(), gimplify_body(), gimplify_function_tree(), init_lowered_empty_function(), input_function(), maybe_inline_call_in_expr(), omp_discover_declare_target_tgt_fn_r(), omp_discover_implicit_declare_target(), release_function_body(), rest_of_decl_compilation(), self_referential_size(), unshare_body(), and unvisit_body().
#define DECL_SECTION_NAME | ( | NODE | ) |
Records the section name in a section attribute. Used to pass the name from decl_attributes to make_function_rtl and make_decl_rtl.
Referenced by asan_protect_global(), symtab_node::can_be_discarded_p(), symtab_node::can_increase_alignment_p(), decide_function_section(), default_function_rodata_section(), ipa_icf::sem_variable::equals_wpa(), function_and_variable_visibility(), function_section_1(), get_emutls_init_templ_addr(), get_named_section(), get_named_text_section(), get_variable_section(), hot_function_section(), make_decl_rtl(), ipa_icf::sem_function::merge(), ipa_icf::sem_variable::merge(), resolve_unique_section(), and secname_for_decl().
#define DECL_SEEN_IN_BIND_EXPR_P | ( | NODE | ) |
Nonzero in a decl means that the gimplifier has seen (or placed) this variable in a BIND_EXPR.
Referenced by computable_teams_clause(), copy_var_decl(), create_asan_shadow_var(), create_tmp_var_for(), declare_inline_vars(), declare_return_variable(), get_debug_decl(), get_frame_type(), gimple_add_tmp_var(), gimple_add_tmp_var_fn(), gimplify_bind_expr(), gimplify_compound_literal_expr(), gimplify_decl_expr(), gimplify_target_expr(), gimplify_var_or_parm_decl(), hash_tree(), lower_lastprivate_conditional_clauses(), pack_ts_decl_with_vis_value_fields(), ipa_param_body_adjustments::reset_debug_stmts(), scan_omp_simd(), setup_one_parameter(), and unpack_ts_decl_with_vis_value_fields().
#define DECL_SET_IS_OPERATOR_DELETE | ( | NODE, | |
VAL ) |
Referenced by cgraph_node::create_version_clone_with_body(), set_new_clone_decl_and_node_flags(), and unpack_ts_function_decl_value_fields().
#define DECL_SET_IS_OPERATOR_NEW | ( | NODE, | |
VAL ) |
Referenced by cgraph_node::create_version_clone_with_body(), and set_new_clone_decl_and_node_flags().
#define DECL_SET_LAMBDA_FUNCTION | ( | NODE, | |
VAL ) |
#define DECL_SIZE | ( | NODE | ) |
Holds the size of the datum, in bits, as a tree expression. Need not be constant and may be null. May be less than TYPE_SIZE for a C++ FIELD_DECL representing a base class subobject with its own virtual base classes (which are laid out separately).
Referenced by add_abstract_origin_attribute(), add_prototyped_attribute(), align_variable(), ao_ref_from_mem(), ao_ref_init_from_vn_reference(), array_ref_flexible_size_p(), asan_protect_global(), assemble_variable(), build_user_friendly_ref_for_offset(), ao_compare::compare_ao_refs(), ipa_icf_gimple::func_checker::compare_decl(), compare_virtual_tables(), compute_record_mode(), coverage_end_function(), create_access(), create_variable_info_for_1(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dw_sra_loc_expr(), ipa_icf::sem_variable::equals_wpa(), expand_expr_real_1(), field_byte_offset(), finish_bitfield_layout(), finish_bitfield_representative(), fixup_child_record_type(), fixup_remapped_decl(), fold_const_aggregate_ref_1(), fold_nonarray_ctor_reference(), force_constant_size(), get_access_for_expr(), get_binfo_at_offset(), get_bit_range(), get_bitfield_rep(), get_inner_reference(), get_narrower(), get_ref_base_and_extent(), gimple_canonical_types_compatible_p(), gimple_compare_field_offset(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_parameters(), gimplify_return_expr(), gimplify_target_expr(), gimplify_type_sizes(), gimplify_vla_decl(), ao_compare::hash_ao_ref(), hash_tree(), hoist_adjacent_loads(), indirect_ref_may_alias_decl_p(), inline_forbidden_p(), instrument_derefs(), instrument_expr(), layout_decl(), lower_omp_target(), lto_input_ts_decl_common_tree_pointers(), maybe_instrument_pointer_overflow(), maybe_rewrite_mem_ref_base(), maybe_warn_operand(), native_encode_initializer(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), nonoverlapping_component_refs_p_1(), omp_add_variable(), omp_notice_variable(), output_constructor_bitfield(), place_field(), print_node(), push_fields_onto_fieldstack(), record_targets_from_bases(), ref_at_iteration(), relayout_decl(), remap_decl(), remap_type_2(), ipa_polymorphic_call_context::restrict_to_inner_class(), same_addr_size_stores_p(), scan_sharing_clauses(), skip_in_fields_list_p(), split_complex_args(), start_bitfield_representative(), store_constructor(), store_field(), task_copyfn_remap_type(), totally_scalarizable_type_p(), totally_scalarize_subtree(), type_has_padding_at_level_p(), type_internals_preclude_sra_p_1(), ubsan_type_descriptor(), unshare_body(), unvisit_body(), update_alignment_for_field(), use_pointer_in_frame(), variably_modified_type_p(), walk_tree_1(), wrapup_global_declaration_1(), and write_ts_decl_common_tree_pointers().
#define DECL_SIZE_UNIT | ( | NODE | ) |
Likewise for the size in bytes.
Referenced by add_decls_addresses_to_decl_constructor(), add_stack_var(), address_compare(), array_ref_flexible_size_p(), asan_add_global(), asan_expand_poison_ifn(), asan_poison_variable(), asan_protect_global(), assemble_noswitch_variable(), assemble_variable(), assemble_variable_contents(), btf_datasec_add_var(), build_asan_poison_call_expr(), clear_padding_type(), clear_padding_union(), component_ref_sam_type(), component_ref_size(), constant_byte_string(), convert_gimple_call(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), coverage_end_function(), decl_init_size(), decompose_kernels_region_body(), default_emutls_var_init(), default_use_anchors_for_symbol_p(), defer_stack_allocation(), DFS::DFS_write_tree_body(), emutls_common_1(), expand_DEFERRED_INIT(), expand_one_stack_var_1(), expand_one_var(), finish_bitfield_representative(), fixup_child_record_type(), fixup_remapped_decl(), force_constant_size(), get_block_for_decl(), get_maxbound(), get_range_strlen_tree(), get_up_bounds_for_array_ref(), gimple_add_tmp_var(), gimple_add_tmp_var_fn(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_decl_expr(), gimplify_parameters(), gimplify_return_expr(), gimplify_scan_omp_clauses(), gimplify_type_sizes(), gimplify_vla_decl(), go_format_type(), hash_tree(), inbounds_memaccess_p(), layout_decl(), loc_list_from_tree_1(), lower_private_allocate(), lto_input_ts_decl_common_tree_pointers(), maybe_build_inner_data_region(), maybe_optimize_ubsan_ptr_ifn(), maybe_rewrite_mem_ref_base(), maybe_set_strlen_range(), native_encode_initializer(), non_rewritable_mem_ref_base(), omp_add_variable(), optimize_memcpy_to_memset(), output_constructor_regular_field(), output_object_block(), place_block_symbol(), place_field(), place_union_field(), print_node(), relayout_decl(), remap_decl(), remap_type_2(), rtx_addr_can_trap_p_1(), set_mem_attributes_minus_bitpos(), split_complex_args(), start_bitfield_representative(), task_copyfn_remap_type(), tree_could_trap_p(), tree_expr_size(), ubsan_type_descriptor(), unshare_body(), unvisit_body(), variably_modified_type_p(), walk_tree_1(), widen_memory_access(), write_symbol(), and write_ts_decl_common_tree_pointers().
#define DECL_SOURCE_COLUMN | ( | NODE | ) |
Referenced by dump_callgraph_transformation(), dump_loc(), dump_loc(), and cgraph_node::remove().
#define DECL_SOURCE_FILE | ( | NODE | ) |
#define DECL_SOURCE_LINE | ( | NODE | ) |
Referenced by dump_callgraph_transformation(), dump_loc(), dump_loc(), dump_oacc_loop(), autofdo::get_combined_location(), and cgraph_node::remove().
#define DECL_SOURCE_LOCATION | ( | NODE | ) |
These two fields describe where in the source code the declaration was. If the declaration appears in several places (as for a C function that is declared first and then defined later), this information should refer to the definition.
Referenced by add_linkage_name(), add_type_duplicate(), autofdo::afdo_annotate_cfg(), cgraph_node::analyze(), asan_add_global(), asan_emit_stack_protection(), assemble_alias(), assign_assembler_name_if_needed(), assign_parms_augmented_arg_list(), assumption_copy_decl(), autofdo::auto_profile(), branch_prob(), build_case_label(), build_decl(), c_strlen(), calls_builtin_apply_args_p(), can_strub_internally_p(), can_strub_p(), cgraph_build_static_cdtor_1(), array_bounds_checker::check_addr_expr(), array_bounds_checker::check_array_ref(), check_global_declaration(), common_function_versions(), compare_virtual_tables(), compute_strub_mode(), const_ok_for_output_1(), copy_decl_to_var(), copy_result_decl_to_var(), copy_var_decl(), coverage_begin_function(), coverage_compute_lineno_checksum(), coverage_compute_profile_id(), create_access_replacement(), create_assumption_fn(), create_dispatcher_calls(), create_omp_child_function(), create_one_component_var(), create_stack_guard(), create_task_copyfn(), cgraph_node::create_version_clone_with_body(), default_tree_printer(), dequeue_and_dump(), diag_attr_exclusions(), do_assemble_alias(), do_reload(), dump_final_alias_vcg(), error_unavailable_use(), execute_oacc_device_lower(), execute_oacc_loop_designation(), cgraph_node::expand(), expand_builtin_fork_or_exec(), expand_builtin_init_trampoline(), expand_call_inline(), expand_function_start(), expand_omp_target(), expand_one_var(), expand_target_clones(), expand_thunk(), finalize_nesting_tree_1(), fixup_child_record_type(), fold_builtin_alloca_with_align(), frame_offset_overflow(), dump_user_location_t::from_function_decl(), get_chain_decl(), get_coverage_counts(), get_debug_decl(), get_descriptor_type(), get_emutls_init_templ_addr(), get_location(), get_location(), get_section(), get_spill_slot_decl(), get_trampoline_type(), get_variable_section(), gimple_add_init_for_auto_var(), gimplify_bind_expr(), gimplify_body(), gimplify_call_expr(), gimplify_function_tree(), gimplify_omp_affinity(), gimplify_omp_depend(), globalize_reg(), go_output_var(), handle_alias_pairs(), has_location(), access_ref::inform_access(), init_function_start(), install_var_field(), ipa_devirt(), ipa_odr_summary_write(), ipa_tm_create_version_alias(), is_addr_local(), layout_decl(), lookup_field_for_decl(), make_item_for_dump_symtab_node(), make_node(), maybe_diag_alias_attributes(), maybe_diag_incompatible_alias(), maybe_warn_nonstring_arg(), maybe_warn_pass_by_reference(), maybe_warn_read_write_only(), new_emutls_decl(), new_oacc_loop_outer(), oacc_loop_fixed_partitions(), oacc_validate_dims(), omp_copy_decl(), omp_discover_declare_target_var_r(), omp_notice_variable(), omp_resolve_declare_variant(), ompdevlow_adjust_simt_enter(), output_stack_usage_1(), place_field(), print_decl_identifier(), print_node(), process_common_attributes(), process_function_and_variable_attributes(), process_symver_attribute(), record_dynamic_alloc(), ipa_param_body_adjustments::reset_debug_stmts(), rest_of_decl_compilation(), scan_omp_for(), set_strub_mode_to(), simd_clone_clauses_extract(), streamer_read_tree_bitfields(), streamer_write_tree_bitfields(), strub_target_support_p(), suggest_attribute(), switch_to_section(), tree_function_versioning(), tree_profiling(), verify_node_partition(), vt_find_locations(), warn_deprecated_use(), warn_odr(), warn_types_mismatch(), warn_uninit(), warn_uninitialized_vars(), and weak_finish().
#define DECL_STATIC_CHAIN | ( | NODE | ) |
In a FUNCTION_DECL indicates that a static chain is needed.
Referenced by build_init_call_stmt(), convert_all_function_calls(), convert_gimple_call(), convert_tramp_reference_op(), cgraph_node::dump(), ipa_icf::sem_function::equals_private(), ipa_icf::sem_function::equals_wpa(), expand_thunk(), finalize_nesting_tree_1(), get_chain_decl(), get_chain_field(), ipa_icf::sem_function::get_hash(), ipcp_transformation::get_param_index(), gimple_fold_call(), gimplify_call_expr(), hash_tree(), initializer_constant_valid_p_1(), ipa_icf::sem_function::merge(), pack_ts_function_decl_value_fields(), prepare_call_address(), print_node(), cgraph_edge::redirect_call_stmt_to_callee(), rtx_for_static_chain(), unpack_ts_function_decl_value_fields(), and verify_gimple_call().
#define DECL_STATIC_CONSTRUCTOR | ( | NODE | ) |
Used in FUNCTION_DECLs to indicate that they should be run automatically at the beginning or end of execution.
Referenced by build_cdtor(), cgraph_node::can_remove_if_no_direct_calls_and_refs_p(), cdtor_p(), cgraph_build_static_cdtor_1(), cgraph_node_cannot_be_local_p_1(), check_global_declaration(), compute_function_frequency(), cgraph_node::create_version_clone_with_body(), cgraph_node::dump(), symtab_node::dump_base(), function_and_variable_visibility(), hash_tree(), input_node(), ipa_cdtor_merge(), ipa_comdats(), lto_output_node(), symtab_node::needed_p(), non_local_p(), symtab_node::noninterposable_alias(), cgraph_node::only_called_directly_or_aliased_p(), pack_ts_function_decl_value_fields(), ipa_icf::sem_function::parse(), record_cdtor_fn(), rest_of_handle_final(), set_const_flag_1(), symtab_node::set_init_priority(), set_new_clone_decl_and_node_flags(), set_pure_flag_1(), simd_clone_create(), and unpack_ts_function_decl_value_fields().
#define DECL_STATIC_DESTRUCTOR | ( | NODE | ) |
Referenced by build_cdtor(), build_cxa_dtor_registrations(), cgraph_node::can_remove_if_no_direct_calls_and_refs_p(), cdtor_p(), cgraph_build_static_cdtor_1(), cgraph_node_cannot_be_local_p_1(), check_global_declaration(), compare_cdtor_tu_order(), compute_function_frequency(), cgraph_node::create_version_clone_with_body(), cgraph_node::dump(), symtab_node::dump_base(), function_and_variable_visibility(), hash_tree(), input_node(), ipa_cdtor_merge(), ipa_comdats(), lto_output_node(), symtab_node::needed_p(), non_local_p(), symtab_node::noninterposable_alias(), cgraph_node::only_called_directly_or_aliased_p(), pack_ts_function_decl_value_fields(), ipa_icf::sem_function::parse(), record_cdtor_fn(), rest_of_handle_final(), set_const_flag_1(), cgraph_node::set_fini_priority(), set_new_clone_decl_and_node_flags(), set_pure_flag_1(), simd_clone_create(), and unpack_ts_function_decl_value_fields().
#define DECL_STRUCT_FUNCTION | ( | NODE | ) |
For FUNCTION_DECL, this holds a pointer to a structure ("struct function") that describes the status of this function.
Referenced by cgraph_node::add_new_function(), autofdo::afdo_indirect_call(), allocate_struct_function(), cgraph_node::analyze(), analyze_function(), analyze_function_body(), analyze_functions(), autofdo::auto_profile(), can_early_inline_edge_p(), can_strub_internally_p(), gimple_infer_range::check_assume_func(), check_bb_profile(), ipa_icf_gimple::func_checker::compare_bb(), symbol_table::compile(), compute_bb_predicates(), compute_call_stmt_bb_frequency(), compute_fn_summary(), copy_body(), copy_cfg_body(), copy_fn(), copy_node(), coverage_obj_init(), symbol_table::create_edge(), create_function_info_for(), create_task_copyfn(), cgraph_node::create_virtual_clone(), decl_maybe_in_construction_p(), do_per_function(), do_per_function_toporder(), drop_profile(), dump_bb_info(), dump_function_header(), dump_function_to_file(), duplicate_thunk_for_node(), estimate_num_insns_fn(), estimated_stack_frame_size(), execute_all_ipa_transforms(), execute_split_functions(), cgraph_node::expand(), expand_all_functions(), expand_call_inline(), expand_omp_target(), expand_omp_taskreg(), expand_target_clones(), expand_thunk(), cgraph_node::finalize_function(), finalize_nesting_tree_1(), finalize_task_copyfn(), find_necessary_statements(), find_what_p_points_to(), fixup_call_stmt_edges(), ipa_icf::sem_item_optimizer::fixup_points_to_sets(), flatten_function(), ipa_icf_gimple::func_checker::func_checker(), function_and_variable_visibility(), cgraph_node::get_body(), cgraph_node::get_fun(), get_personality_function(), cgraph_node::get_untransformed_body(), gimple_body(), gimple_dump_bb_buff(), gimple_has_body_p(), gimple_set_body(), gimplify_function_tree(), go_early_global_decl(), handle_missing_profiles(), ipa_icf::sem_function::init(), initialize_cfun(), initialize_inlined_parameters(), inline_analyze_function(), inline_call(), inline_forbidden_p(), input_function(), modref_summaries::insert(), modref_summaries_lto::insert(), instantiate_decls(), ipa_analyze_controlled_uses(), ipa_analyze_node(), ipa_fn_summary_generate(), ipa_merge_profiles(), ipa_profile_generate_summary(), ipa_pta_execute(), ipa_simd_modify_function_body(), ipa_sra_summarize_function(), ipa_tm_execute(), ipa_tm_scan_calls_clone(), ipa_tm_scan_irr_function(), ipa_tm_transform_clone(), ipa_tm_transform_transaction(), ipcp_update_vr(), lower_assumption(), lower_emutls_function_body(), lto_prepare_function_for_streaming(), maybe_inline_call_in_expr(), ipa_icf::sem_item_optimizer::merge_classes(), symtab_node::native_rtl_p(), symtab_node::noninterposable_alias(), ok_for_auto_simd_clone(), omp_discover_implicit_declare_target(), output_function(), param_type_may_change_p(), ipa_icf::sem_function::parse(), print_node(), symbol_table::process_new_functions(), process_symver_attribute(), push_function_decl(), record_vars_into(), cgraph_edge::redirect_call_stmt_to_callee(), release_function_body(), remap_gimple_stmt(), remap_vla_decls(), remove_exit_barrier(), replace_by_duplicate_decl(), replace_ssa_name(), rest_of_decl_compilation(), ipa_icf_gimple::func_checker::safe_for_total_scalarization_p(), cgraph_edge::set_call_stmt(), simd_clone_adjust(), strub_from_body_p(), tree_function_versioning(), tree_profiling(), tree_versionable_function_p(), update_call_expr(), and cgraph_node::verify_node().
#define DECL_THREAD_LOCAL_P | ( | NODE | ) |
In a VAR_DECL, nonzero if the data should be allocated from thread-local storage.
Referenced by align_variable(), asan_protect_global(), assemble_variable(), categorize_decl_for_section(), computable_teams_clause(), decl_address_invariant_p(), decl_address_ip_invariant_p(), default_encode_section_info(), default_section_type_flags(), delegitimize_mem_from_attrs(), do_assemble_alias(), varpool_node::externally_visible_p(), function_and_variable_visibility(), get_variable_align(), get_variable_section(), gimplify_omp_for(), gimplify_scan_omp_clauses(), instrument_derefs(), ipa_lower_emutls(), loc_list_from_tree_1(), lower_emutls_1(), lower_emutls_2(), omp_notice_variable(), print_node(), staticp(), and tls_mem_loc_descriptor().
#define DECL_TLS_MODEL | ( | NODE | ) |
In a VAR_DECL, the model to use if the data should be allocated from thread-local storage.
Referenced by default_encode_section_info(), ipa_icf::sem_variable::equals_wpa(), varpool_node::externally_visible_p(), and print_node().
#define DECL_UID | ( | NODE | ) |
Every ..._DECL node gets a unique number.
Referenced by add_clobbers_to_eh_landing_pad(), add_location_or_const_value_attribute(), add_var_loc_to_decl(), adjust_simduid_builtins(), alias_get_name(), analyze_access_subtree(), analyze_all_variable_accesses(), avoid_type_punning_on_regs(), budget_for_propagation_access(), build_access_from_call_arg(), build_access_from_expr(), build_access_from_expr_1(), build_accesses_from_assign(), build_fake_var_decl(), build_outer_var_ref(), check_all_va_list_escapes(), compare_cdtor_tu_order(), compare_ctor(), compare_decls_by_uid(), compare_dtor(), compare_param_body_replacement(), compute_live_vars_1(), compute_live_vars_visit(), consider_split(), convert_local_omp_clauses(), convert_local_reference_op(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), copy_node(), create_access(), create_task_copyfn(), cselib_hash_rtx(), data_ref_compare_tree(), decl_debug_args_insert(), decl_debug_args_lookup(), decl_debug_expr_insert(), decl_debug_expr_lookup(), decl_value_expr_insert(), decl_value_expr_lookup(), discover_nonconstant_array_refs(), discover_nonconstant_array_refs_r(), disqualify_candidate(), dump_access(), dump_decl_name(), dump_final_callee_vcg(), dump_function_header(), dump_function_name(), dump_function_to_file(), dump_generic_node(), dump_var(), dump_variable(), dv_uid(), eliminate_temp_copies(), eliminate_unnecessary_stmts(), decl_die_hasher::equal(), decl_loc_hasher::equal(), dw_loc_list_hasher::equal(), registration_hasher::equal(), equate_decl_number_to_die(), execute_update_addresses_taken(), expand_one_var(), find_replaceable_in_bb(), find_tail_calls(), find_va_list_reference(), finish_taskreg_scan(), finish_tm_clone_pairs(), ipa_icf::sem_item_optimizer::fixup_points_to_sets(), ipa_icf::sem_item_optimizer::fixup_pt_set(), get_access_for_expr(), get_component_var(), get_constraint_for_ssa_var(), ipcp_transformation::get_param_index(), get_var_info(), gimple_add_init_for_auto_var(), gimple_ior_addresses_taken_1(), gimplify_omp_for(), omp_declare_variant_alt_hasher::hash(), omp_declare_variant_hasher::hash(), registration_hasher::hash(), simd_array_to_simduid::hash(), ssa_name_var_hash::hash(), tree_decl_hash::hash(), tree_vec_map_cache_hasher::hash(), var_info_hasher::hash(), operand_compare::hash_operand(), initialize_parameter_reductions(), insert_phi_nodes_compare_var_infos(), insert_updated_phi_nodes_compare_uids(), install_var_field(), install_var_field(), is_used_p(), lookup_decl_die(), lookup_decl_loc(), lower_omp_regimplify_p(), lower_omp_target(), lower_send_clauses(), lto_output(), make_fancy_decl_name(), make_node(), mark_def_sites(), mark_for_renaming(), mark_nonssa_use(), marked_for_renaming(), maybe_add_sra_candidate(), ipcp_transformation::maybe_create_parm_idx_map(), maybe_optimize_var(), maybe_rewrite_mem_ref_base(), ipa_icf::sem_item_optimizer::merge_classes(), move_stmt_op(), new_label_mapper(), note_simd_array_uses(), omp_copy_decl_2(), omp_declare_variant_remove_hook(), omp_lto_input_declare_variant_alt(), omp_lto_output_declare_variant_alt(), omp_resolve_declare_variant(), omp_resolve_late_declare_variant(), optimize_va_list_gpr_fpr_size(), predcom_tmp_var(), print_insn(), print_node(), print_node_brief(), process_replaceable(), propagate_all_subaccesses(), reject(), remove_unused_locals(), scan_sharing_clauses(), separate_decls_in_region_debug(), separate_decls_in_region_name(), set_is_used(), set_ssa_default_def(), set_uids_in_ptset(), sort_and_splice_var_accesses(), sort_by_decl_uid(), sort_by_ssa_version_or_uid(), ipa_icf::sort_congruence_classes_by_decl_uid(), ipa_icf::sort_sem_items_by_decl_uid(), splay_tree_compare_decl_uid(), ssa_default_def(), stack_var_cmp(), take_address_of(), test_nonssa_use(), tree_decl_map_hash(), use_pointer_for_field(), va_list_counter_struct_op(), va_list_ptr_read(), va_list_ptr_write(), vect_transform_loops(), and warn_uninit().
#define DECL_UNCHECKED_FUNCTION_CODE | ( | NODE | ) |
For FUNCTION_DECL, if it is built-in, this identifies which built-in operation it is. This is only intended for low-level accesses; normally DECL_FUNCTION_CODE, DECL_FE_FUNCTION_CODE or DECL_MD_FUNCTION should be used instead.
Referenced by fndecl_built_in_p(), hash_tree(), operand_compare::operand_equal_p(), and pack_ts_function_decl_value_fields().
#define DECL_UNINLINABLE | ( | NODE | ) |
In a FUNCTION_DECL, nonzero if the function cannot be inlined.
Referenced by cgraph_build_static_cdtor_1(), cgraph_function_possibly_inlined_p(), ipa_icf::sem_item::compare_referenced_symbol_properties(), create_assumption_fn(), create_loop_fn(), create_nesting_tree(), create_omp_child_function(), cgraph_node::create_wrapper(), expand_omp_target(), ipa_icf::sem_item::hash_referenced_symbol_properties(), hash_tree(), pack_ts_function_decl_value_fields(), possible_inline_candidate_p(), print_node(), process_function_and_variable_attributes(), record_tm_replacement(), tree_inlinable_function_p(), and unpack_ts_function_decl_value_fields().
#define DECL_UNSIGNED | ( | NODE | ) |
In a decl (most significantly a FIELD_DECL), means an unsigned field.
Referenced by get_inner_reference(), get_narrower(), hash_tree(), layout_decl(), pack_ts_base_value_fields(), print_node(), and unpack_ts_base_value_fields().
#define DECL_USER_ALIGN | ( | NODE | ) |
Set if the alignment of this DECL has been set by the user, for example with an 'aligned' attribute.
Referenced by add_bit_offset_attribute(), align_variable(), assemble_start_function(), copy_var_decl(), do_type_align(), ensure_base_align(), expand_one_stack_var_at(), finish_taskreg_scan(), get_descriptor_type(), get_trampoline_type(), get_variable_align(), get_vec_alignment_for_record_type(), hash_tree(), increase_alignment(), increase_alignment_1(), init_eh(), install_var_field(), install_var_field(), layout_decl(), lookup_field_for_decl(), lower_omp_task_reductions(), new_emutls_decl(), omp_finish_file(), ompdevlow_adjust_simt_enter(), pack_ts_decl_common_value_fields(), print_node(), relayout_decl(), unpack_ts_decl_common_value_fields(), and update_alignment_for_field().
#define DECL_VALUE_EXPR | ( | NODE | ) |
Referenced by add_decls_addresses_to_decl_constructor(), build_outer_var_ref(), clear_unused_block_pointer_in_block(), copy_node(), create_task_copyfn(), DFS::DFS_write_tree_body(), finish_taskreg_remap(), fixup_remapped_decl(), fixup_vla_decls(), fortran_common(), gimple_add_padding_init_for_auto_var(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_scan_omp_clauses(), gimplify_var_or_parm_decl(), hash_tree(), instantiate_decls(), instantiate_decls_1(), instantiate_expr(), loc_list_from_tree_1(), lookup_field_for_decl(), lower_lastprivate_clauses(), lower_omp_for_scan(), lower_omp_regimplify_operands_p(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), lower_send_shared_vars(), new_emutls_decl(), omp_add_variable(), omp_finish_file(), omp_member_access_dummy_var(), omp_notice_variable(), print_declaration(), print_node(), record_reference(), remap_decls(), remap_vla_decls(), replace_block_vars_by_duplicates(), scan_sharing_clauses(), target_for_debug_bind(), verify_expr_location_1(), vt_add_function_parameters(), and write_ts_decl_common_tree_pointers().
#define DECL_VINDEX | ( | NODE | ) |
The DECL_VINDEX is used for FUNCTION_DECLS in two different ways. Before the struct containing the FUNCTION_DECL is laid out, DECL_VINDEX may point to a FUNCTION_DECL in a base class which is the FUNCTION_DECL which this FUNCTION_DECL will replace as a virtual function. When the class is laid out, this pointer is changed to an INTEGER_CST node which is suitable for use as an index into the virtual function table.
Referenced by add_src_coords_attributes(), ipa_param_adjustments::adjust_decl(), decl_class_context(), DFS::DFS_write_tree_body(), and ipa_param_body_adjustments::modify_formal_parameters().
#define DECL_VIRTUAL_P | ( | NODE | ) |
Used in VAR_DECLs to indicate that the variable is a vtable. Used in FIELD_DECLs for vtable pointers. Used in FUNCTION_DECLs to indicate that the function is virtual.
Referenced by symtab_node::address_can_be_compared_p(), ipa_ref::address_matters_p(), ipa_param_adjustments::adjust_decl(), align_variable(), build_type_inheritance_graph(), can_remove_node_now_p_1(), can_replace_by_local_alias_in_vtable(), ipa_icf::sem_item::compare_referenced_symbol_properties(), compare_virtual_tables(), compute_ltrans_boundary(), cgraph_node::create_version_clone_with_body(), ctor_for_folding(), varpool_node::ctor_useable_for_folding_p(), decl_function_context(), devirt_variable_node_removal_hook(), symtab_node::dump_base(), dump_inline_stats(), symtab_node::equal_address_to(), ipa_icf::sem_variable::equals_wpa(), extr_type_from_vtbl_ptr_store(), extract_object_class_type(), function_and_variable_visibility(), varpool_node::get_availability(), gimple_gen_ic_func_profiler(), gimple_get_virt_method_for_vtable(), gimplify_omp_dispatch(), handle_alias_pairs(), ipa_icf::sem_item::hash_referenced_symbol_properties(), hash_tree(), ipa_propagate_frequency(), is_vptr_store(), is_vtable_assignment_stmt(), ipa_icf::sem_function::merge(), ipa_param_body_adjustments::modify_formal_parameters(), noncall_stmt_may_be_vtbl_ptr_store(), symtab_node::noninterposable_alias(), odr_types_equivalent_p(), cgraph_node::only_called_directly_or_aliased_p(), pack_ts_decl_common_value_fields(), print_node(), referenced_from_vtable_p(), varpool_node::remove_initializer(), set_new_clone_decl_and_node_flags(), stmt_may_be_vtbl_ptr_store(), ipa_icf::symbol_compare_collection::symbol_compare_collection(), unpack_ts_decl_common_value_fields(), update_type_inheritance_graph(), and vtable_pointer_value_to_vtable().
#define DECL_VISIBILITY | ( | NODE | ) |
Value of the decls's visibility attribute
Referenced by build_cxa_atexit_decl(), build_dso_handle_decl(), build_libfunc_function_visibility(), can_refer_decl_in_current_unit_p(), cgraph_externally_visible_p(), symtab_node::copy_visibility_from(), create_odr_indicator(), default_binds_local_p_3(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), symtab_node::dump_base(), dw2_output_indirect_constant_1(), expand_builtin_fork_or_exec(), varpool_node::externally_visible_p(), symtab_node::fixup_same_cpp_alias_visibility(), get_emutls_init_templ_addr(), symtab_node::get_visibility_string(), hash_tree(), symtab_node::make_decl_local(), maybe_assemble_visibility(), new_emutls_decl(), output_comp_unit(), pack_ts_decl_with_vis_value_fields(), process_symver_attribute(), simd_clone_create(), ubsan_expand_vptr_ifn(), unpack_ts_decl_with_vis_value_fields(), symtab_node::verify_base(), and write_symbol().
#define DECL_VISIBILITY_SPECIFIED | ( | NODE | ) |
Nonzero means that the decl (or an enclosing scope) had its visibility specified rather than being inferred.
Referenced by build_cxa_atexit_decl(), build_dso_handle_decl(), build_libfunc_function_visibility(), can_refer_decl_in_current_unit_p(), symtab_node::copy_visibility_from(), create_odr_indicator(), default_binds_local_p_3(), default_elf_asm_output_external(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), symtab_node::dump_base(), expand_builtin_fork_or_exec(), get_emutls_init_templ_addr(), hash_tree(), symtab_node::make_decl_local(), new_emutls_decl(), output_comp_unit(), pack_ts_decl_with_vis_value_fields(), simd_clone_create(), ubsan_expand_vptr_ifn(), and unpack_ts_decl_with_vis_value_fields().
#define DECL_WARN_IF_NOT_ALIGN | ( | NODE | ) |
Referenced by do_type_align(), handle_warn_if_not_align(), and print_node().
#define DECL_WARN_IF_NOT_ALIGN_RAW | ( | NODE | ) |
The minimum alignment necessary for the datum, in bits, without warning.
#define DECL_WEAK | ( | NODE | ) |
Referenced by asan_needs_local_alias(), asan_needs_odr_indicator_p(), assemble_alias(), assemble_external(), symtab_node::can_be_discarded_p(), symtab_node::copy_visibility_from(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), varpool_node::ctor_useable_for_folding_p(), decl_binds_to_current_def_p(), decl_replaceable_p(), default_binds_local_p_3(), symtab_node::dump_base(), varpool_node::externally_visible_p(), fde_needed_for_eh_p(), symtab_node::fixup_same_cpp_alias_visibility(), fold_builtin_expect(), function_and_variable_visibility(), get_emutls_init_templ_addr(), gimple_could_trap_p_1(), globalize_decl(), hash_tree(), ipa_tm_create_version(), symtab_node::make_decl_local(), make_decl_one_only(), make_decl_rtl(), mark_weak(), merge_weak(), new_emutls_decl(), symtab_node::noninterposable_alias(), symtab_node::nonzero_address(), notice_global_symbol(), optimize_weakref(), pack_ts_decl_with_vis_value_fields(), print_decl_identifier(), print_node(), process_common_attributes(), process_function_and_variable_attributes(), set_new_clone_decl_and_node_flags(), simd_clone_create(), simple_operand_p(), tree_could_trap_p(), unpack_ts_decl_with_vis_value_fields(), update_visibility_by_resolution_info(), and write_symbol().
#define DECL_WITH_VIS_CHECK | ( | T | ) |
#define DECL_WRTL_CHECK | ( | T | ) |
Referenced by function_reader::parse_param(), and set_decl_rtl().
#define DECODE_QUAL_ADDR_SPACE | ( | X | ) |
Referenced by set_type_quals().
#define DEFAULT_INIT_PRIORITY 65535 |
The initialization priority for entities for which no explicit initialization priority has been specified.
#define dfloat128_type_node global_trees[TI_DFLOAT128_TYPE] |
Referenced by build_common_tree_nodes().
#define dfloat32_type_node global_trees[TI_DFLOAT32_TYPE] |
The decimal floating point types.
Referenced by build_common_tree_nodes().
#define dfloat64_type_node global_trees[TI_DFLOAT64_TYPE] |
Referenced by build_common_tree_nodes().
#define dfloat64x_type_node global_trees[TI_DFLOAT64X_TYPE] |
Referenced by build_common_tree_nodes().
#define double_ptr_type_node global_trees[TI_DOUBLE_PTR_TYPE] |
Referenced by build_common_tree_nodes().
#define double_type_node global_trees[TI_DOUBLE_TYPE] |
Referenced by build_common_tree_nodes(), build_tm_load(), build_tm_store(), convert_to_real_1(), define_builtin_macros_for_type_sizes(), excess_precision_type(), expand_omp_for_init_vars(), fold_builtin_classify(), fold_builtin_interclass_mathfn(), gen_ctf_base_type(), initialize_sanitizer_builtins(), mathfn_built_in_2(), strip_float_extensions(), tm_log_emit_stmt(), and ubsan_type_descriptor().
#define dq_type_node global_trees[TI_DQ_TYPE] |
#define EH_FILTER_FAILURE | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_expr(), and try_catch_may_fallthru().
#define EH_FILTER_TYPES | ( | NODE | ) |
EH_FILTER_EXPR accessors.
Referenced by dump_generic_node(), and gimplify_expr().
#define EH_LANDING_PAD_NR | ( | NODE | ) |
In a LABEL_DECL, the EH region number for which the label is the post_landing_pad.
Referenced by cleanup_dead_labels(), cleanup_dead_labels_eh(), cleanup_empty_eh_unsplit(), dump_gimple_label(), duplicate_eh_regions_1(), emit_post_landing_pad(), gimple_merge_blocks(), gimple_verify_flow_info(), gsi_insert_finally_seq_after_call(), hash_tree(), pack_ts_decl_common_value_fields(), print_node(), redirect_eh_edge_1(), remove_eh_handler_splicer(), remove_eh_landing_pad(), remove_forwarder_block(), unpack_ts_decl_common_value_fields(), unsplit_eh(), and verify_gimple_label().
#define ENCODE_QUAL_ADDR_SPACE | ( | NUM | ) |
Encode/decode the named memory support as part of the qualifier. If more than 8 qualifiers are added, these macros need to be adjusted.
Referenced by build_ref_for_offset(), instrument_bool_enum_load(), modified_type_die(), and move_hint_to_base().
#define ENUM_IS_OPAQUE | ( | NODE | ) |
Determines whether an ENUMERAL_TYPE has defined the list of constants.
#define ENUM_IS_SCOPED | ( | NODE | ) |
Used to mark scoped enums.
#define error_mark_node global_trees[TI_ERROR_MARK] |
Referenced by addr_object_size(), adjust_return_value(), align_variable(), attr_access::array_as_string(), array_ref_low_bound(), array_type_nelts_minus_one(), assemble_asm(), assemble_variable(), assemble_variable_contents(), assign_parm_find_data_types(), associate_equivalences_with_edges(), bss_initializer_p(), build_common_tree_nodes(), build_dso_handle_decl(), build_function_type(), build_pointer_type_for_mode(), build_reference_type_for_mode(), build_vector_from_val(), can_sm_ref_p(), canonicalize_constructor_val(), check_stmt_for_type_change(), clear_padding_type(), clear_padding_union(), component_ref_size(), compute_object_offset(), compute_reloc_for_var(), constant_after_peeling(), constant_byte_string(), convert_to_complex_1(), convert_to_fixed(), convert_to_integer_1(), convert_to_pointer_1(), convert_to_real_1(), convert_to_vector(), copy_self_referential_tree_r(), strlen_pass::count_nonzero_bytes(), ctor_for_folding(), varpool_node::ctor_useable_for_folding_p(), decl_attributes(), decl_binds_to_current_def_p(), default_binds_local_p_3(), default_is_empty_record(), DFS::DFS_write_tree_body(), do_jump(), do_store_flag(), dump_function_declaration(), dump_generic_node(), dump_omp_context_selector(), emutls_common_1(), ipa_icf::sem_variable::equals(), error_operand_p(), evaluate_conditions_for_known_args(), evaluate_properties_for_edge(), execute_sm_exit(), cgraph_node::expand(), tree_switch_conversion::switch_conversion::expand(), expand_addsub_overflow(), expand_case(), expand_expr_real_1(), expand_expr_real_2(), expand_gimple_stmt_1(), expand_mul_overflow(), expand_one_var(), expand_return(), expr_callee_abi(), extr_type_from_vtbl_ptr_store(), finish_bitfield_representative(), fixup_remapped_decl(), fold_call_stmt(), fold_const_aggregate_ref_1(), fold_convert_loc(), force_value_to_type(), fully_constant_vn_reference_p(), function_and_variable_visibility(), gather_mem_refs_stmt(), get_alias_set(), get_base_constructor(), get_callee_fndecl(), varpool_node::get_constructor(), get_range_pos_neg(), get_symbol_constant_value(), get_symbol_initial_value(), get_variable_align(), get_variable_section(), gimple_assign_unary_nop_p(), gimple_get_virt_method_for_vtable(), gimplify_asm_expr(), gimplify_call_expr(), gimplify_decl_expr(), gimplify_expr(), gimplify_modify_expr(), gimplify_return_expr(), gimplify_save_expr(), gimplify_type_sizes(), gimplify_va_arg_expr(), handle_warn_if_not_align(), operand_compare::hash_operand(), init_lowered_empty_function(), initialize_argument_information(), initialize_inlined_parameters(), initializer_constant_valid_p_1(), insert_debug_temp_for_var_def(), insert_init_debug_bind(), int_size_in_bytes(), integer_valued_real_p(), ipa_comdats(), layout_decl(), layout_type(), lower_emutls_1(), lower_omp_for_scan(), lower_omp_task_reductions(), lower_rec_input_clauses(), lto_output(), make_decl_one_only(), make_decl_rtl(), make_dispatcher_decl(), ipa_param_body_adjustments::mark_dead_statements(), maybe_canonicalize_argtypes(), maybe_with_size_expr(), mem_ref_alloc(), mem_refs_may_alias_p(), narrowing_initializer_constant_valid_p(), new_emutls_decl(), symtab_node::noninterposable_alias(), notice_global_symbol(), omp_check_context_selector(), omp_copy_decl(), omp_firstprivatize_type_sizes(), omp_get_attachment(), omp_group_base(), omp_index_mapping_groups_1(), omp_mappable_type(), omp_resolve_declare_variant(), operand_compare::operand_equal_p(), optimize_range_tests(), optimize_range_tests_var_bound(), optimize_vec_cond_expr(), output_function(), param_change_prob(), place_field(), process_function_and_variable_attributes(), propagate_comdat_group(), vn_walk_cb_data::push_partial_def(), record_common_node(), record_edge_info(), ref_indep_loop_p(), cgraph_node::release_body(), release_ssa_name_fn(), remap_type_1(), ipa_param_body_adjustments::remap_with_debug_expressions(), varpool_node::remove(), varpool_node::remove_initializer(), symbol_table::remove_unreachable_nodes(), replace_with_mapped_expr(), rest_of_handle_final(), ipa_polymorphic_call_context::restrict_to_inner_class(), set_mem_attributes_minus_bitpos(), irange::set_varying(), setup_one_parameter(), simplify_vector_constructor(), size_binop_loc(), size_in_bytes_loc(), sm_seq_push_down(), sm_seq_valid_bb(), stabilize_reference(), tree_add_const_value_attribute(), tree_expr_nonnegative_warnv_p(), tree_node_can_be_shared(), tree_nop_conversion(), tree_ssa_useless_type_conversion(), type_has_padding_at_level_p(), type_hash_canon_hash(), uniform_vector_p(), unpack_ts_function_decl_value_fields(), update_alignment_for_field(), update_range_test(), variably_modified_type_p(), vect_is_simple_use(), vect_verify_full_masking_avx512(), irange::verify_range(), and verify_type_context().
#define EXCEPTIONAL_CLASS_P | ( | NODE | ) |
#define EXIT_EXPR_COND | ( | NODE | ) |
#define EXPR_CHECK | ( | T | ) |
Referenced by streamer_read_tree_bitfields().
#define EXPR_FILENAME | ( | NODE | ) |
#define EXPR_HAS_LOCATION | ( | NODE | ) |
Referenced by array_bounds_checker::check_array_bounds(), dump_generic_node(), expand_builtin_strnlen(), fold_builtin_strlen(), fold_call_stmt(), gimple_or_expr_nonartificial_location(), gimplify_call_expr(), gimplify_cond_expr(), gimplify_expr(), has_location(), access_ref::inform_access(), make_item_for_dump_generic_expr(), print_node(), protected_set_expr_location_if_unset(), and rexpr_location().
#define EXPR_HAS_RANGE | ( | NODE | ) |
#define EXPR_LINENO | ( | NODE | ) |
#define EXPR_LOC_OR_LOC | ( | NODE, | |
LOCUS ) |
The location to be used in a diagnostic about this expression. Do not use this macro if the location will be assigned to other expressions.
Referenced by c_strlen(), do_warn_nonnull_compare(), dynamic_object_sizes_execute_one(), gimplify_asm_expr(), handle_printf_call(), internal_get_tmp_var(), and shortcut_cond_expr().
#define EXPR_LOCATION | ( | NODE | ) |
The source location of this expression. Non-tree_exp nodes such as decls and constants can be shared among multiple locations, so return nothing.
Referenced by gcc_rich_location::add_expr(), add_to_predicate_list(), array_ref_element_size(), assemble_asm(), build_va_arg_indirect_ref(), canonicalize_constructor_val(), array_bounds_checker::check_array_bounds(), check_strncat_sizes(), component_ref_field_offset(), convert_to_complex_1(), convert_to_integer_1(), convert_to_pointer_1(), convert_to_real_1(), copy_tree_body_r(), create_artificial_child_access(), dr_analyze_indices(), dump_generic_node(), expand_builtin_bzero(), expand_builtin_cexpi(), expand_builtin_fork_or_exec(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_memcmp(), expand_builtin_memory_chk(), expand_builtin_memset_args(), expand_builtin_signbit(), expand_builtin_sincos(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_builtin_strncpy(), expand_builtin_strnlen(), expand_builtin_sync_operation(), expand_builtin_va_copy(), expand_builtin_va_start(), expand_call(), expand_expr_real_1(), expr_location_or(), fold(), fold_build_cleanup_point_expr(), fold_builtin_strlen(), fold_const_aggregate_ref_1(), fold_read_from_constant_string(), gen_phi_arg_condition(), get_expr_source_range(), get_location(), get_location(), get_narrower(), gimple_assign_rhs_to_tree(), gimple_boolify(), gimple_build_call_from_tree(), gimple_fold_stmt_to_constant_1(), gimplify_addr_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_case_label_expr(), gimplify_compound_lval(), gimplify_cond_expr(), gimplify_conversion(), gimplify_expr(), gimplify_label_expr(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), gimplify_omp_atomic(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_task(), gimplify_scalar_mode_aggregate_compare(), gimplify_self_mod_expr(), gimplify_switch_expr(), gimplify_transaction(), gimplify_va_arg_expr(), gimplify_variable_sized_compare(), access_ref::inform_access(), initialize_argument_information(), initialize_parameter_reductions(), instrument_derefs(), ipa_write_jump_function(), lto_output_toplevel_asms(), make_item_for_dump_generic_expr(), make_range(), maybe_canonicalize_mem_ref_addr(), maybe_complain_about_tail_call(), maybe_fold_reference(), maybe_record_in_goto_queue(), negate_expr(), omp_apply_tile(), omp_loop_number_of_iterations(), omp_maybe_apply_loop_xforms(), crc_optimization::optimize_crc_loop(), optimize_target_teams(), output_node_opt_summary(), prepare_target_mem_ref_lvalue(), preserve_any_location_wrapper(), print_node(), propagate_subaccesses_from_rhs(), protected_set_expr_location_unshare(), record_dynamic_alloc(), rexpr_location(), save_expr(), simple_cst_equal(), split_address_to_core_and_offset(), split_complex_args(), stabilize_reference(), store_constructor(), streamer_write_tree_bitfields(), tree_inlined_location(), tree_nonartificial_location(), tree_optimize_tail_calls_1(), verify_expr_location_1(), and verify_expr_no_block().
#define EXPR_LOCATION_RANGE | ( | NODE | ) |
Referenced by print_node().
#define EXPR_LOCATION_WRAPPER_P | ( | NODE | ) |
In NON_LVALUE_EXPR and VIEW_CONVERT_EXPR, set when this node is merely a wrapper added to express a location_t on behalf of the node's child (e.g. by maybe_wrap_with_location).
Referenced by location_wrapper_p(), and maybe_wrap_with_location().
#define EXPR_P | ( | NODE | ) |
Returns nonzero iff NODE is an expression of some kind.
Referenced by clear_unused_block_pointer_1(), contains_abnormal_ssa_name_p_1(), copy_tree_body_r(), determine_base_object_1(), do_niy(), dump_generic_node(), eliminate_local_variables_1(), expr_invariant_in_loop_p(), expression_expensive_p(), find_ssa_undef(), find_trapping_overflow(), generic_expr_could_trap_p(), get_location(), get_location(), gimple_assign_rhs_to_tree(), gimplify_call_expr(), has_location(), access_ref::inform_access(), instantiate_expr(), lower_emutls_1(), lower_emutls_2(), lower_stmt(), mangle_referenced_decls(), gcc_rich_location::maybe_add_expr(), maybe_warn_operand(), move_stmt_op(), outermost_invariant_loop_for_expr(), prune_expr_location(), reference_to_unused(), remap_gimple_op_r(), simplify_replace_tree(), test_for_singularity(), unshare_expr_without_location(), vect_loop_versioning(), verify_expr_location_1(), verify_expr_no_block(), and wrap_refs().
#define EXPRESSION_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents any other expression.
Referenced by extract_muldiv_1(), and substitute_placeholder_in_expr().
#define FALLTHROUGH_LABEL_P | ( | NODE | ) |
Whether a case or a user-defined label is allowed to fall through to. This is used to implement -Wimplicit-fallthrough.
Referenced by should_warn_for_implicit_fallthrough(), and warn_implicit_fallthrough_r().
#define fenv_t_ptr_type_node global_trees[TI_FENV_T_PTR_TYPE] |
The C type `fenv_t *'.
#define fexcept_t_ptr_type_node global_trees[TI_FEXCEPT_T_PTR_TYPE] |
The C type `fexcept_t *'.
#define fileptr_type_node global_trees[TI_FILEPTR_TYPE] |
The C type `FILE *'.
#define FIND_PLACEHOLDER_IN_EXPR | ( | EXP, | |
V ) |
This macro calls the above function but short-circuits the common case of a constant to save time and also checks for NULL.
Referenced by find_placeholder_in_expr().
#define FIXED_POINT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a fixed-point type.
Referenced by build_complex_type(), fold_convert_const(), gimple_canonical_types_compatible_p(), odr_types_equivalent_p(), useless_type_conversion_p(), valid_fixed_convert_types_p(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), verify_type(), and verify_type_variant().
#define float128_type_node global_trees[TI_FLOAT128_TYPE] |
Referenced by build_common_tree_nodes(), long_double_as_float128(), and mathfn_built_in_2().
#define float128t_type_node global_trees[TI_FLOAT128T_TYPE] |
Type used by certain backends for __float128, which in C++ should be distinct type from _Float128 for backwards compatibility reasons.
Referenced by build_common_tree_nodes().
#define float128x_type_node global_trees[TI_FLOAT128X_TYPE] |
Referenced by mathfn_built_in_2().
#define float16_type_node global_trees[TI_FLOAT16_TYPE] |
Names for individual types (code should normally iterate over all such types; these are only for back-end use, or in contexts such as *.def where iteration is not possible).
Referenced by excess_precision_type(), and mathfn_built_in_2().
#define float32_type_node global_trees[TI_FLOAT32_TYPE] |
Referenced by mathfn_built_in_2().
#define float32x_type_node global_trees[TI_FLOAT32X_TYPE] |
Referenced by mathfn_built_in_2().
#define float64_type_node global_trees[TI_FLOAT64_TYPE] |
Referenced by mathfn_built_in_2().
#define float64x_type_node global_trees[TI_FLOAT64X_TYPE] |
Referenced by get_no_error_domain(), and mathfn_built_in_2().
#define float_ptr_type_node global_trees[TI_FLOAT_PTR_TYPE] |
Referenced by build_common_tree_nodes().
#define float_type_node global_trees[TI_FLOAT_TYPE] |
Referenced by build_common_tree_nodes(), build_tm_load(), build_tm_store(), convert_to_real_1(), define_builtin_macros_for_type_sizes(), excess_precision_type(), gen_ctf_base_type(), initialize_sanitizer_builtins(), mathfn_built_in_2(), strip_float_extensions(), tm_log_emit_stmt(), and ubsan_type_descriptor().
#define FLOAT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a floating-point type, including complex and vector floating-point types. The vector and complex check does not use the previous two macros to enable early folding.
Referenced by loop_cand::analyze_iloop_reduction_var(), can_reassociate_type_p(), convert_mult_to_fma(), convert_to_real_1(), do_hoist_insertion(), eliminate_using_constants(), execute_cse_reciprocals_1(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_cond_expr_with_comparison(), fold_truth_andor_1(), fold_truth_not_expr(), fp_expression_p(), gimple_could_trap_p_1(), complex_mul_pattern::matches(), may_reassociate_p(), maybe_resimplify_conditional_op(), negate_expr_p(), non_rewritable_lvalue_p(), process_assignment(), addsub_pattern::recognize(), record_conditions(), replace_stmt_with_simplification(), avail_exprs_stack::simplify_binary_operation(), simplify_vector_constructor(), split_tree(), ssa_is_replaceable_p(), stmt_could_throw_1_p(), stmt_could_throw_p(), strip_float_extensions(), tree_binary_nonnegative_warnv_p(), tree_could_trap_p(), tree_predict_by_opcode(), try_special_add_to_ops(), use_register_for_decl(), vect_build_slp_tree_2(), vect_reduction_update_partial_vector_usage(), vectorizable_induction(), visit_phi(), and vn_nary_may_trap().
#define FLOATN_NX_TYPE_NODE | ( | IDX | ) |
Referenced by build_common_tree_nodes().
#define FLOATN_TYPE_NODE | ( | IDX | ) |
Nodes for particular _FloatN and _FloatNx types in sequence.
#define FLOATNX_TYPE_NODE | ( | IDX | ) |
#define FOR_EACH_CALL_EXPR_ARG | ( | arg, | |
iter, | |||
call ) |
Iterate through each argument ARG of CALL_EXPR CALL, using variable ITER (of type call_expr_arg_iterator) to hold the iteration state.
Referenced by dequeue_and_dump(), dump_generic_node(), expand_builtin(), expand_call(), expression_expensive_p(), and initialize_argument_information().
#define FOR_EACH_CONST_CALL_EXPR_ARG | ( | arg, | |
iter, | |||
call ) |
Referenced by contains_placeholder_p().
#define FOR_EACH_CONSTRUCTOR_ELT | ( | V, | |
IX, | |||
INDEX, | |||
VAL ) |
Iterate through the vector V of CONSTRUCTOR_ELT elements, yielding both the value of each element (stored within VAL) and its index (stored within INDEX). IX must be a scratch variable of unsigned integer type.
Referenced by array_size_for_constructor(), categorize_ctor_elements_1(), check_ctz_array(), strlen_pass::count_nonzero_bytes(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_generic_node(), expand_expr_real_1(), find_constructor_constant_at_offset(), fold_nonarray_ctor_reference(), fold_ternary_loc(), get_array_ctor_element_at_index(), get_initializer_for(), gimplify_init_ctor_eval(), operand_compare::hash_operand(), hash_tree(), print_node(), store_constructor(), verify_gimple_assign_single(), and write_ts_constructor_tree_pointers().
#define FOR_EACH_CONSTRUCTOR_VALUE | ( | V, | |
IX, | |||
VAL ) |
Iterate through the vector V of CONSTRUCTOR_ELT elements, yielding the value of each element (stored within VAL). IX must be a scratch variable of unsigned integer type.
Referenced by build_vector_from_ctor(), compute_reloc_for_constant(), const_hash_1(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), ctor_to_vec(), dwarf2out_decl(), expand_debug_expr(), expand_expr_real_1(), fold(), fold_gimple_assign(), get_constraint_for_1(), gimple_fold_stmt_to_constant_1(), gimplify_expr(), gimplify_init_constructor(), initializer_constant_valid_for_bitfield_p(), initializer_constant_valid_p_1(), initializer_zerop(), likely_value(), output_addressed_constants(), recompute_constructor_flags(), rtl_for_decl_init(), store_constructor(), uniform_vector_p(), valid_gimple_rhs_p(), vect_slp_check_for_roots(), verify_constructor_flags(), and walk_stmt_load_store_addr_ops().
#define FORCED_LABEL | ( | NODE | ) |
In a LABEL_DECL, nonzero means this label had its address taken and therefore can never be deleted and is a jump target for computed gotos.
Referenced by can_strub_internally_p(), cleanup_dead_labels(), ipa_icf_gimple::func_checker::compare_gimple_label(), convert_nonlocal_reference_op(), expand_builtin(), expand_label(), find_duplicate(), force_labels_r(), get_loop_body_in_if_conv_order(), gimple_can_merge_blocks_p(), gimple_merge_blocks(), gimplify_expr(), group_case_labels_stmt(), label_rtx(), lower_builtin_setjmp(), make_edges(), mark_nonssa_use(), maybe_dead_abnormal_edge_p(), move_stmt_op(), move_stmt_r(), omp_copy_decl(), optimize_unreachable(), remove_bb(), remove_forwarder_block(), replace_block_by(), stmt_starts_bb_p(), test_nonssa_use(), tree_is_indexable(), and verify_gimple_label().
#define FOREACH_FUNCTION_ARGS | ( | FNTYPE, | |
TREE, | |||
ITER ) |
Loop over all function arguments of FNTYPE. In each iteration, TREE is set to the next tree element. ITER is an instance of function_args_iterator used to iterate the arguments.
Referenced by builtin_call_nomodifying_p(), go_format_type(), maybe_warn_pass_by_reference(), stdarg_p(), and type_argument_type().
#define FOREACH_FUNCTION_ARGS_PTR | ( | FNTYPE, | |
PTR, | |||
ITER ) |
Loop over all function arguments of FNTYPE. In each iteration, PTR is set to point to the next tree element. ITER is an instance of function_args_iterator used to iterate the arguments.
#define fract_type_node global_trees[TI_FRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define FUNC_ADDR_BY_DESCRIPTOR | ( | NODE | ) |
Referenced by convert_tramp_reference_op().
#define FUNC_OR_METHOD_CHECK | ( | T | ) |
#define FUNC_OR_METHOD_TYPE_P | ( | NODE | ) |
Referenced by build_printable_array_type(), build_range_check(), decl_attributes(), DFS::DFS_write_tree_body(), do_compare_and_jump(), do_store_flag(), eliminate_dom_walker::eliminate_stmt(), fntype_abi(), ana::function_region::function_region(), get_strub_mode_from_type(), lto_input_ts_type_non_common_tree_pointers(), maybe_diag_incompatible_alias(), pack_ts_type_common_value_fields(), strub_comptypes(), strub_set_fndt_mode_to(), type_must_have_pointers(), unpack_ts_type_common_value_fields(), useless_type_conversion_p(), verify_type(), verify_type_variant(), and write_ts_type_non_common_tree_pointers().
#define FUNCTION_DECL_DECL_TYPE | ( | NODE | ) |
Macro for direct set and get of function_decl.decl_type.
Referenced by hash_tree(), pack_ts_function_decl_value_fields(), set_function_decl_type(), and unpack_ts_function_decl_value_fields().
#define FUNCTION_POINTER_TYPE_P | ( | TYPE | ) |
#define GCC_IDENT_TO_HT_IDENT | ( | NODE | ) |
Referenced by alloc_node().
#define GOTO_DESTINATION | ( | NODE | ) |
GOTO_EXPR accessor. This gives access to the label associated with a goto statement.
Referenced by dump_generic_node(), find_goto_label(), gimplify_cond_expr(), gimplify_expr(), and shortcut_cond_expr().
#define ha_type_node global_trees[TI_HA_TYPE] |
#define HAS_DECL_ASSEMBLER_NAME_P | ( | NODE | ) |
Return true if NODE is a NODE that can contain a DECL_ASSEMBLER_NAME. This is true of all DECL nodes except FIELD_DECL.
Referenced by alias_get_name(), create_odr_indicator(), dequeue_and_dump(), dump_decl_name(), find_or_create_vtbl_map_node(), compiler_logical_location::get_internal_name_for_tree(), gimple_decl_printable_name(), need_assembler_name_p(), register_asm_p(), rest_of_decl_compilation(), vtbl_map_get_node(), and wrapup_global_declaration_1().
#define HAS_RTL_P | ( | NODE | ) |
Returns nonzero if NODE is a tree node that can contain RTL.
Referenced by copy_decl_for_dup_finish(), prepare_decl_rtl(), and print_declaration().
#define hq_type_node global_trees[TI_HQ_TYPE] |
#define HT_IDENT_TO_GCC_IDENT | ( | NODE | ) |
Translate a hash table identifier pointer to a tree_identifier pointer, and vice versa.
Referenced by get_identifier(), get_identifier_with_length(), mark_ident(), maybe_delete_ident(), and maybe_get_identifier().
#define IDENTIFIER_ANON_P | ( | NODE | ) |
Nonzero indicates an IDENTIFIER_NODE that names an anonymous aggregate, (as created by anon_aggr_name_format).
Referenced by DFS::DFS_write_tree_body(), hash_tree(), make_anon_name(), and write_ts_decl_minimal_tree_pointers().
#define IDENTIFIER_HASH_VALUE | ( | NODE | ) |
Referenced by vtbl_map_hasher::equal(), libfunc_decl_hasher::hash(), vtbl_map_hasher::hash(), hash_odr_name(), operand_compare::hash_operand(), hash_tree(), init_one_libfunc_visibility(), set_user_assembler_libfunc(), type_hash_canon_hash(), and ipa_icf::sem_item_optimizer::update_hash_by_addr_refs().
#define IDENTIFIER_LENGTH | ( | NODE | ) |
Define fields and accessors for some special-purpose tree nodes.
Unlike STRING_CST, in C terms this is strlen, not sizeof.
Referenced by asan_emit_stack_protection(), build_string_literal(), canonicalize_attr_name(), cmp_attrib_identifiers(), cgraph_node::create_virtual_clone(), dequeue_and_dump(), dump_fancy_name(), find_same_attribute(), get_edit_distance(), edit_distance_traits< tree >::get_length(), get_strub_mode_from_attr(), go_append_string(), is_attribute_p(), lookup_attribute_by_prefix(), lookup_scoped_attribute_spec(), make_fancy_decl_name(), pp_tree_identifier(), private_lookup_attribute(), private_lookup_attribute(), scan_omp_1_stmt(), special_function_p(), strub_validate_fn_attr_parm(), tm_mangle(), valid_new_delete_pair_p(), and write_identifier().
#define IDENTIFIER_POINTER | ( | NODE | ) |
Referenced by add_desc_attribute(), add_discr_value(), gcc_rich_location::add_fixit_misspelled_id(), alias_get_name(), announce_function(), asan_add_global(), asan_emit_stack_protection(), symtab_node::asm_name(), assemble_crc_table(), assemble_end_function(), assemble_name_resolve(), attr_namespace_ignored_p(), auto_simd_fail(), base_type_die(), build_string_literal(), build_var(), called_as_built_in(), canonicalize_attr_name(), symbol_table::change_decl_assembler_name(), check_call(), clone_function_name(), clone_function_name(), clone_function_name_numbered(), clone_function_name_numbered(), cmp_attrib_identifiers(), combined_fn_name(), compute_fn_summary(), convert_gimple_call(), convert_nonlocal_reference_op(), copy_function_or_variable(), coverage_begin_function(), coverage_compute_lineno_checksum(), coverage_compute_profile_id(), create_odr_indicator(), create_one_component_var(), create_specialized_node(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), symbol_table::decl_assembler_name_equal(), symbol_table::decl_assembler_name_hash(), default_assemble_visibility(), default_elf_asm_named_section(), default_elf_select_rtx_section(), default_tree_printer(), default_unique_section(), delete_vta_debug_insn(), dequeue_and_dump(), do_assemble_alias(), do_assemble_symver(), thunk_info::dump(), symtab_node::dump_base(), dump_fancy_name(), dump_function_header(), dump_function_to_file(), dump_generic_node(), dump_oacc_loop(), dump_odr_type(), dump_var(), dw2_force_const_mem(), dwarf2out_decl(), dwarf2out_register_external_die(), expand_all_functions(), expand_label(), expand_simd_clones(), final_scan_insn_1(), find_or_create_vtbl_map_node(), find_same_attribute(), fold_builtin_alloca_with_align(), gen_block_die(), gen_type_die(), generate_crc_table(), generic_parameter_die(), autofdo::autofdo_source_profile::get_callsite_total_count(), varpool_node::get_constructor(), get_edit_distance(), get_frame_type(), get_function_name(), autofdo::string_table::get_index_by_decl(), compiler_logical_location::get_internal_name_for_tree(), get_name(), get_named_text_section(), get_odr_name_for_type(), edit_distance_traits< tree >::get_string(), get_strub_mode_from_attr(), cgraph_node::get_untransformed_body(), gimple_decl_printable_name(), gimplify_modify_expr(), go_append_decl_name(), go_append_string(), go_format_type(), go_output_fndecl(), go_output_typedef(), go_output_var(), handle_ignored_attributes_option(), id_equal(), access_ref::inform_access(), input_offload_tables(), ipa_comdats(), ipa_impossible_devirt_target(), ipa_odr_summary_write(), ipa_pta_execute(), is_attribute_p(), is_cxa_atexit(), is_pass_explicitly_enabled_or_disabled(), is_ubsan_builtin_p(), lhd_decl_printable_name(), lhd_set_decl_assembler_name(), lookup_attribute_by_prefix(), lookup_scoped_attribute_spec(), lower_oacc_reductions(), lower_omp_critical(), lower_omp_target(), lto_output_node(), lto_output_varpool_node(), make_decl_rtl(), make_dispatcher_decl(), make_fancy_decl_name(), malloc_candidate_p(), member_declared_type(), methods_equal_p(), modified_type_die(), new_delete_mismatch_p(), notice_global_symbol(), ok_for_auto_simd_clone(), omp_check_context_selector(), omp_context_name_list_prop(), omp_context_selector_matches(), omp_runtime_api_call(), operand_compare::operand_equal_p(), optrecord_json_writer::optinfo_to_json(), output_constructor(), pp_tree_identifier(), prefix_name(), print_any_param_name(), print_decl_identifier(), print_insn(), print_node(), print_node_brief(), private_lookup_attribute(), private_lookup_attribute(), process_symver_attribute(), produce_asm_for_decls(), produce_memory_decl_rtl(), produce_symbol_asm(), scan_omp_1_stmt(), setjmp_or_longjmp_p(), simd_clone_adjust_argument_types(), simd_clone_mangle(), special_function_p(), strub_validate_fn_attr_parm(), switch_to_comdat_section(), switch_to_eh_frame_section(), tm_malloc_replacement(), tm_mangle(), gdbhooks.SymtabNodePrinter::to_string(), gdbhooks.TreePrinter::to_string(), type_in_anonymous_namespace_p(), ubsan_type_descriptor(), valid_new_delete_pair_p(), symtab_node::verify_base(), verify_bb_vtables(), vtbl_map_get_node(), warn_uninit(), weak_finish(), weak_finish_1(), write_identifier(), and write_symbol().
#define IDENTIFIER_TRANSPARENT_ALIAS | ( | NODE | ) |
Nonzero in an IDENTIFIER_NODE if the name is a local alias, whose uses are to be substituted for uses of the TREE_CHAINed identifier.
Referenced by symbol_table::change_decl_assembler_name(), symbol_table::compile(), symtab_node::make_decl_local(), optimize_weakref(), ultimate_transparent_alias_target(), and ultimate_transparent_alias_target().
#define IMPORTED_DECL_ASSOCIATED_DECL | ( | NODE | ) |
Getter of the imported declaration associated to the IMPORTED_DECL node.
Referenced by print_node().
#define INDIRECT_REF_P | ( | NODE | ) |
Nonzero if NODE represents a INDIRECT_REF. Keep these checks in ascending code order.
Referenced by build_fold_addr_expr_with_type_loc(), convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), copy_tree_body_r(), decode_addr_const(), dr_analyze_alias(), find_func_clobbers(), fixup_vla_decls(), fold_addr_of_array_ref_difference(), fold_builtin_next_arg(), fold_comparison(), fold_read_from_constant_string(), get_base_loadstore(), get_constraint_for_component_ref(), get_mem_align_offset(), gimple_add_padding_init_for_auto_var(), gimplify_addr_expr(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_init_ctor_preeval_1(), gimplify_return_expr(), goa_lhs_expr_p(), loc_list_for_address_of_addr_expr_of_indirect_ref(), lower_omp_task_reductions(), lower_reduction_clauses(), lower_send_clauses(), mark_nonssa_use(), object_address_invariant_in_loop_p(), omp_accumulate_sibling_list(), omp_add_variable(), omp_build_struct_sibling_lists(), omp_get_base_pointer(), omp_notice_variable(), prepare_call_arguments(), recompute_tree_invariant_for_addr_expr(), reference_alias_ptr_type_1(), remap_vla_decls(), scan_sharing_clauses(), test_nonssa_use(), transaction_invariant_address_p(), verify_types_in_gimple_reference(), and vt_add_function_parameters().
#define intDI_type_node global_trees[TI_INTDI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define integer_minus_one_node global_trees[TI_INTEGER_MINUS_ONE] |
Referenced by build_common_tree_nodes(), dump_omp_clause(), expand_oacc_for(), fold_builtin_classify(), get_target_arguments(), gimple_lower_bitint(), instantiate_scev_not(), interpret_rhs_expr(), lower_oacc_private_marker(), lower_omp_for_scan(), match_single_bit_test(), oacc_loop_process(), object_sizes_execute(), omp_reduction_init_op(), optimize_spaceship(), optimize_target_teams(), and slsr_process_neg().
#define integer_one_node global_trees[TI_INTEGER_ONE] |
Referenced by add_standard_iv_candidates(), analyze_siv_subscript_cst_affine(), attr_access::array_as_string(), asan_poison_variables(), build_common_tree_nodes(), constant_boolean_node(), create_add_imm_cand(), dr_analyze_indices(), tree_switch_conversion::bit_test_cluster::emit(), execute_omp_device_lower(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_target(), expand_omp_taskloop_for_inner(), find_taken_edge_cond_expr(), fold_binary_loc(), fold_builtin_classify(), fold_builtin_constant_p(), fold_builtin_unordered_cmp(), fold_comparison(), get_address_cost(), get_descriptor_type(), get_range_strlen_tree(), get_upper_bound_based_on_builtin_expr_with_prob(), gimple_call_alloc_size(), gimple_fold_builtin_omp_is_initial_device(), gimplify_adjust_omp_clauses(), gimplify_init_ctor_eval_range(), issue_prefetch_ref(), lower_builtin_setjmp(), lower_omp_for_scan(), lower_omp_ordered(), lower_rec_input_clauses(), make_region_seq(), match_single_bit_test(), move_sese_in_condition(), number_of_iterations_cltz_complement(), number_of_iterations_popcount(), oacc_xform_tile(), omp_extract_for_data(), omp_reduction_init_op(), optimize_spaceship(), preferred_mem_scale_factor(), scan_operand_equal_p(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), slsr_process_cast(), slsr_process_copy(), slsr_process_phi(), store_constructor(), strlen_pass::strxcmp_eqz_result(), update_nonlocal_goto_save_area(), vect_recog_divmod_pattern(), vectorizable_reduction(), and vectorizable_simd_clone_call().
#define integer_ptr_type_node global_trees[TI_INTEGER_PTR_TYPE] |
Referenced by build_common_tree_nodes().
#define integer_type_node integer_types[itk_int] |
Referenced by access_with_size_object_size(), add_async_clauses_and_wait(), add_standard_iv_candidates(), add_wait(), analyze_subscript_affine_affine(), asan_emit_stack_protection(), asan_expand_poison_ifn(), asan_init_shadow_ptr_types(), asan_poison_variable(), assign_filter_values(), attempt_builtin_powi(), build_array_type_1(), build_asan_poison_call_expr(), build_check_stmt(), build_cltz_expr(), build_common_builtin_nodes(), build_common_tree_nodes(), build_complex_type(), build_cxa_atexit_decl(), build_function_type(), build_int_cst(), build_libfunc_function_visibility(), build_personality_function(), build_popcount_expr(), build_predict_expr(), build_tm_abort_call(), can_log2(), compare_by_pieces(), cond_removal_in_builtin_zero_pattern(), constant_boolean_node(), convert_to_integer_1(), copy_bb(), function_reader::create_function(), create_parallel_loop(), ctf_debug_init(), default_ref_may_alias_errno(), define_builtin_macros_for_lp64(), define_builtin_macros_for_type_sizes(), do_mpfr_lgamma_r(), do_mpfr_remquo(), dump_generic_node(), emit_block_cmp_via_loop(), execute_omp_device_lower(), expand_DEFERRED_INIT(), expand_oacc_collapse_init(), expand_oacc_for(), expand_omp_atomic_cas(), expand_omp_atomic_load(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for_static_nochunk(), expand_omp_target(), expand_sjlj_dispatch_table(), expand_task_call(), expand_unop(), expr_expected_value_1(), field_type(), fold_builtin_atomic_compare_exchange(), fold_builtin_bit_query(), fold_builtin_classify(), fold_builtin_classify_type(), fold_builtin_fpclassify(), fold_builtin_frexp(), fold_builtin_interclass_mathfn(), fold_builtin_isascii(), fold_builtin_isdigit(), fold_builtin_iseqsig(), fold_builtin_memcmp(), fold_builtin_strpbrk(), fold_builtin_toascii(), fold_strstr_to_strncmp(), force_expr_to_var_cost(), gen_counter_update(), gen_one_condition(), generate_memset_builtin(), get_target_argument_identifier_1(), get_target_argument_value(), get_target_arguments(), get_typenode_from_name(), gimple_add_init_for_auto_var(), gimple_builtin_call_types_compatible_p(), gimple_fold_builtin_fprintf(), gimple_fold_builtin_fputs(), gimple_fold_builtin_printf(), gimple_fold_builtin_string_compare(), gimple_fold_builtin_strstr(), gimple_gen_interval_profiler(), gimple_init_gcov_profiler(), gimple_signed_or_unsigned_type(), gimplify_omp_dispatch(), gimplify_omp_loop_xform(), init_eh(), initialize_argument_information(), initialize_sanitizer_builtins(), instrument_decisions(), instrument_nonnull_arg(), issue_prefetch_ref(), lhd_simulate_enum_decl(), lhd_type_for_size(), loc_list_from_tree_1(), lower_builtin_posix_memalign(), lower_eh_constructs_2(), lower_eh_dispatch(), lower_lastprivate_clauses(), lower_oacc_head_mark(), lower_oacc_head_tail(), lower_oacc_loop_marker(), lower_oacc_private_marker(), lower_oacc_reductions(), lower_omp_for_scan(), lower_omp_master(), lower_omp_ordered(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_resx(), lower_try_finally_switch(), make_range(), make_trait_selector(), make_trait_set_selector(), merge_ranges(), move_sese_region_to_fn(), move_stmt_eh_region_tree_nr(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_popcount(), oacc_build_routine_dims(), oacc_dim_call(), oacc_entry_exit_single_gang(), oacc_thread_numbers(), oacc_validate_dims(), omp_apply_tile(), omp_clause_aligned_alignment(), optimize_range_tests_to_bit_test(), optimize_spaceship(), optimize_target_teams(), function_reader::parse_mem_expr(), prepare_cmp_insn(), range_check_type(), recognize_single_bit_test(), remap_eh_region_tree_nr(), scan_omp_simd(), set_storage_via_libcall(), simd_clone_compute_base_data_type(), simplify_count_trailing_zeroes(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), sjlj_emit_dispatch_table(), sjlj_emit_function_enter(), sjlj_mark_call_sites(), store_constructor(), thunk_adjust(), transform_add_to_multiply(), tree_builtin_call_types_compatible_p(), tree_coverage_counter_addr(), tree_coverage_counter_ref(), ubsan_expand_vptr_ifn(), vect_get_loop_mask(), vect_recog_ctz_ffs_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_rotate_pattern(), vectorizable_induction(), version_loop_by_alias_check(), and version_loop_for_if_conversion().
#define integer_zero_node global_trees[TI_INTEGER_ZERO] |
Referenced by add_standard_iv_candidates(), add_wait(), adjust_region_code_walk_stmt_fn(), affine_fn_op(), affine_fn_univar(), alloca_call_type(), alloca_type_and_limit::alloca_type_and_limit(), analyze_miv_subscript(), analyze_overlapping_iterations(), analyze_siv_subscript_cst_affine(), analyze_subscript_affine_affine(), analyze_ziv_subscript(), array_ref_low_bound(), build_common_tree_nodes(), build_instrumentation_call(), build_string_literal(), build_zero_cst(), build_zero_vector(), cheap_array_ref_low_bound(), rt_bb_visited::check(), compute_overlap_steps_for_affine_1_2(), compute_overlap_steps_for_affine_univar(), constant_boolean_node(), constant_byte_string(), convert_to_complex_1(), create_add_ssa_cand(), determine_base_object_1(), do_store_flag(), dom_opt_dom_walker::dom_opt_dom_walker(), dr_analyze_indices(), dump_omp_clause(), tree_switch_conversion::bit_test_cluster::emit(), execute_early_expand_coro_ifns(), execute_omp_device_lower(), expand_assign_tm(), expand_builtin_bzero(), expand_DEFERRED_INIT(), expand_function_start(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_op_fetch_cmp_0(), expand_oacc_collapse_init(), expand_oacc_for(), expand_omp_for(), expand_omp_target(), expand_task_call(), extract_cond_operands(), extract_muldiv_1(), finalize_nesting_tree_1(), find_taken_edge_cond_expr(), fold_binary_loc(), fold_builtin_1(), fold_builtin_bit_query(), fold_builtin_classify(), fold_builtin_constant_p(), fold_builtin_frexp(), fold_builtin_isascii(), fold_builtin_memcmp(), fold_builtin_next_arg(), fold_builtin_strpbrk(), fold_builtin_unordered_cmp(), fold_comparison(), fold_convert_loc(), fold_ignored_result(), fold_range_test(), get_stridx(), gimple_fold_builtin_bzero(), gimple_fold_builtin_fputs(), gimple_fold_builtin_omp_is_initial_device(), gimple_fold_builtin_strchr(), gimple_fold_builtin_string_compare(), gimple_fold_builtin_strstr(), gimple_fold_call(), gimple_merge_blocks(), gimple_stringops_transform(), gimplify_modify_expr_to_memset(), gimplify_variable_sized_compare(), strlen_pass::handle_builtin_string_cmp(), strlen_pass::handle_integral_assign(), initialize_argument_information(), insert_trap(), instrument_func_entry(), instrument_object_size(), issue_prefetch_ref(), jump_threader::jump_threader(), lower_builtin_posix_memalign(), lower_lastprivate_clauses(), lower_oacc_head_tail(), lower_oacc_private_marker(), lower_oacc_reductions(), lower_omp_for_scan(), lower_omp_master(), lower_omp_ordered(), lower_omp_task_reductions(), lower_omp_taskreg(), lower_rec_input_clauses(), lower_transaction(), make_range_step(), match_single_bit_test(), move_sese_in_condition(), new_oacc_loop(), oacc_entry_exit_single_gang(), oacc_set_fn_attrib(), oacc_thread_numbers(), omp_extract_for_data(), omp_find_combined_for(), omp_find_scan(), optimize_memcpy_to_memset(), optimize_spaceship(), optimize_stack_restore(), optimize_stdarg_builtin(), dom_opt_dom_walker::optimize_stmt(), optimize_target_teams(), output_constructor(), output_constructor_bitfield(), push_to_worklist(), recognize_single_bit_test(), scan_omp_simd(), scan_omp_simd_scan(), scan_sharing_clauses(), size_in_bytes_loc(), stmt_kills_ref_p(), stmt_uses_0_or_null_in_undefined_way(), strlen_pass::strxcmp_eqz_result(), tree_transform_and_unroll_loop(), try_casesi(), ubsan_instrument_float_cast(), vec_cst_ctor_to_array(), vectorizable_simd_clone_call(), version_loop_for_if_conversion(), warn_implicit_fallthrough_r(), and warn_switch_unreachable_and_auto_init_r().
#define INTEGRAL_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents an integral type. Note that we do not include COMPLEX types here. Keep these checks in ascending code order.
Referenced by add_iv_candidate_for_biv(), add_scope_conflicts_2(), address_compare(), alloc_object_size(), tree_vector_builder::allow_steps_p(), analyze_access_subtree(), analyze_and_compute_bitwise_induction_effect(), apply_return_prediction(), ana::call_details::arg_is_integral_p(), arith_overflow_check_p(), tree_switch_conversion::switch_conversion::array_value_type(), assign_call_lhs(), attempt_builtin_powi(), bb_no_side_effects_p(), find_candidates_dom_walker::before_dom_children(), bitfields_to_lower_p(), bitmask_inv_cst_vector_p(), build_complex_type(), build_index_vector(), builtin_mathfn_code(), format_helper::can_represent_integral_type_p(), canonicalize_component_ref(), canonicalize_loop_ivs(), ccp_finalize(), strlen_pass::check_and_optimize_stmt(), chrec_apply(), chrec_evaluate(), chrec_fold_multiply(), chrec_fold_plus_1(), classify_builtin_st(), compare_access_positions(), compare_values_warnv(), computable_teams_clause(), compute_distributive_range(), cond_removal_in_builtin_zero_pattern(), constant_byte_string(), constant_type(), convert_mult_to_fma(), convert_plusminus_to_widen(), decode_field_reference(), derive_constant_upper_bound_ops(), edge_info::derive_equivalences(), determine_set_costs(), determine_value_range(), do_narrow(), dr_step_indicator(), dump_generic_node(), dump_ternary_rhs(), eliminate_dom_walker::eliminate_stmt(), evaluate_stmt(), expand_builtin_atomic_is_lock_free(), expand_case(), expand_expr_force_mode(), expand_expr_real_1(), expand_expr_real_2(), expand_fn_using_insn(), expand_omp_atomic(), expand_omp_atomic_cas(), expand_omp_atomic_pipeline(), expand_vector_addition(), expand_vector_conversion(), expand_vector_operations_1(), expr_not_equal_to(), extract_muldiv_1(), factor_out_conditional_operation(), final_range_test_p(), final_value_replacement_loop(), find_conditions(), find_var_cmp_const(), fold_binary_loc(), fold_bit_and_mask(), fold_builtin_expect(), fold_comparison(), fold_const_aggregate_ref_1(), fold_const_call_1(), fold_const_vec_convert(), fold_convert_const(), fold_convert_loc(), fold_convertible_p(), fold_negate_expr_1(), fold_nonarray_ctor_reference(), fold_range_test(), fold_using_range::fold_stmt(), fold_to_nonsharp_ineq_using_bound(), fold_truth_andor_1(), fold_truth_andor_for_ifcombine(), fold_unary_loc(), fold_view_convert_vector_encoding(), forward_propagate_addr_expr_1(), forward_propagate_into_gimple_cond(), fully_constant_vn_reference_p(), get_initial_def_for_reduction(), get_inner_reference(), get_iv(), get_maxval_strlen(), get_min_precision(), get_narrower(), get_offset_range(), get_range_pos_neg(), get_range_strlen_tree(), get_related_vectype_for_scalar_type(), get_size_range(), get_ubsan_type_info_for_type(), get_value_for_expr(), gimple_bitwise_inverted_equal_p(), gimple_build_round_up(), gimple_builtin_call_types_compatible_p(), gimple_canonical_types_compatible_p(), gimple_could_trap_p_1(), gimple_divmod_fixed_value_transform(), gimple_divmod_values_to_profile(), gimple_fold_builtin_memset(), gimple_infer_range::gimple_infer_range(), gimple_lower_bitint(), gimple_mod_pow2_value_transform(), gimple_mod_subtract_transform(), gimple_signed_or_unsigned_type(), gimplify_expr(), gimplify_omp_atomic(), gimplify_omp_for(), gimplify_omp_loop_xform(), gimplify_type_sizes(), if_convertible_gimple_assign_stmt_p(), ifcombine_rewrite_to_defined_overflow(), infer_loop_bounds_from_signedness(), infer_nonnull_range_by_attribute(), init_range_entry(), initializer_constant_valid_p_1(), insert_into_preds_of_block(), insert_predicates_for_cond(), insert_trap(), instrument_mem_region_access(), instrument_si_overflow(), int_binop_types_match_p(), interpret_rhs_expr(), ipcp_update_vr(), is_handled_procedure_type(), is_strlen_related_p(), iv_can_overflow_p(), simplify_using_ranges::legacy_fold_cond_overflow(), lhd_omp_scalar_p(), loc_list_from_tree_1(), lower_omp_target(), lower_rec_simd_input_clauses(), make_bit_field_ref(), make_range_step(), match_arith_overflow(), match_single_bit_test(), match_uaddc_usubc(), maybe_canonicalize_comparison_1(), maybe_duplicate_ssa_info_at_copy(), maybe_optimize_guarding_check(), maybe_optimize_range_tests(), maybe_resimplify_conditional_op(), maybe_rewrite_mem_ref_base(), maybe_set_strlen_range(), maybe_update_mem_ref_hash_table(), minmax_replacement(), move_computations_worker(), move_stmt(), narrowing_initializer_constant_valid_p(), native_encode_initializer(), native_interpret_aggregate(), needs_fold_left_reduction_p(), negate_expr_p(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), nop_conversion_for_offset_p(), odr_types_equivalent_p(), omp_loop_number_of_iterations(), omp_reduction_init_op(), operator_equal::operand_check_p(), operator_ge::operand_check_p(), operator_gt::operand_check_p(), operator_le::operand_check_p(), operator_lt::operand_check_p(), operator_not_equal::operand_check_p(), operand_equal_for_comparison_p(), operation_no_trapping_overflow(), optab_for_tree_code(), optimize_atomic_op_fetch_cmp_0(), optimize_range_tests_1(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_spaceship(), optimize_vector_load(), overflow_comparison_p_1(), parloops_needs_fold_left_reduction_p(), parm_object_size(), predicate_statements(), prepare_call_arguments(), print_int_bound(), print_node(), process_assignment(), propagate_bits_across_jump_function(), ptrofftype_p(), vn_walk_cb_data::push_partial_def(), range_fits_type_p(), range_predecessor(), range_successor(), reassociate_bb(), record_biv_for_address_use(), record_nonwrapping_iv(), refine_bounds_using_guard(), refine_value_range_using_guard(), replace_phi_edge_with_variable(), return_prediction(), scan_operand_equal_p(), scev_analyzable_p(), scev_var_range_cant_overflow(), set_strlen_range(), irange::set_varying(), sign_bit_p(), signed_or_unsigned_type_for(), simd_clone_adjust(), simd_clone_adjust_argument_types(), simd_clone_adjust_return_type(), simple_integer_narrowing(), simple_iv_with_niters(), simplify_using_ranges::simplify(), simplify_builtin_call(), simplify_using_ranges::simplify_casted_compare(), simplify_using_ranges::simplify_compare_assign_using_ranges_1(), simplify_using_ranges::simplify_compare_using_ranges_1(), jump_threader::simplify_control_stmt_condition(), simplify_conversion_using_ranges(), simplify_gimple_switch(), simplify_peeled_chrec(), simplify_rotate(), simplify_using_ranges::simplify_truth_ops_using_ranges(), size_must_be_zero_p(), skip_a_safe_conversion_op(), sort_and_splice_var_accesses(), spaceship_replacement(), split_constant_offset(), split_constant_offset_1(), ssa_name_has_boolean_range(), stmt_could_throw_1_p(), store_expr(), store_field(), subrange_type_for_debug_p(), irange::supports_p(), transform_add_to_multiply(), loop_distribution::transform_reduction_loop(), tree_builtin_call_types_compatible_p(), tree_could_trap_p(), tree_ctz(), tree_expr_nonzero_warnv_p(), tree_nonzero_bits(), tree_nop_conversion_p(), tree_single_nonzero_warnv_p(), tree_unary_nonnegative_warnv_p(), type_like_member_ptr_p(), type_strictly_matches_mode_p(), uaddc_cast(), update_range_test(), useless_type_conversion_p(), valid_fixed_convert_types_p(), valid_gimple_rhs_p(), validate_arg(), validate_arglist(), value_replacement(), irange::varying_compatible_p(), vect_build_slp_tree_2(), vect_check_gather_scatter(), vect_create_constant_vectors(), vect_find_stmt_data_reference(), vect_init_vector(), vect_is_extending_load(), vect_is_integer_truncation(), vect_is_nonlinear_iv_evolution(), vect_is_simple_cond(), vect_is_simple_iv_evolution(), vect_look_through_possible_promotion(), vect_narrowable_type_p(), vect_recog_average_pattern(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_cast_forwprop_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_mulhs_pattern(), vect_recog_mult_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_rotate_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_abd_pattern(), vect_widened_op_tree(), vectorizable_assignment(), vectorizable_conversion(), vectorizable_induction(), vectorizable_lane_reducing(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_reduction(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_comparison(), verify_gimple_switch(), verify_ssa(), verify_type(), verify_types_in_gimple_reference(), visit_nary_op(), vn_hash_type(), vn_nary_may_trap(), vn_reference_eq(), vn_reference_lookup_3(), vt_add_function_parameter(), and zero_one_minusone().
#define intHI_type_node global_trees[TI_INTHI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define intQI_type_node global_trees[TI_INTQI_TYPE] |
#define intSI_type_node global_trees[TI_INTSI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define intTI_type_node global_trees[TI_INTTI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define IS_EMPTY_STMT | ( | NODE | ) |
Define fields and accessors for some nodes that represent expressions.
Nonzero if NODE is an empty statement (NOP_EXPR <0>).
Referenced by dump_generic_node(), gimplify_expr(), is_gimple_stmt(), omit_one_operand_loc(), and voidify_wrapper_expr().
#define IS_EXPR_CODE_CLASS | ( | CLASS | ) |
Returns nonzero iff CLASS is the tree-code class of an expression.
Referenced by aff_combination_expand(), copy_tree_r(), data_ref_compare_tree(), dequeue_and_dump(), expand_simple_operations(), extract_single_var_from_expr(), find_deriving_biv_for_expr(), fold(), fold_binary_loc(), fold_ternary_loc(), fold_unary_loc(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), operand_compare::hash_operand(), make_range(), mark_all_vars_used_1(), tree_block(), and walk_tree_1().
#define IS_TYPE_OR_DECL_P | ( | NODE | ) |
Returns nonzero iff NODE represents a type or declaration.
Referenced by convert_local_reference_op(), convert_nonlocal_reference_op(), convert_tramp_reference_op(), diagnose_tm_1(), discover_nonconstant_array_refs_r(), find_decl_expr(), find_released_ssa_name(), find_ssaname(), find_trapping_overflow(), finish_taskreg_remap(), gimplify_init_ctor_preeval_1(), lower_omp_regimplify_operands_p(), lower_omp_regimplify_p(), mark_all_vars_used_1(), record_reference(), replace_block_vars_by_duplicates_1(), tree_is_indexable(), tree_node_can_be_shared(), unshare_and_remap_1(), and update_vtable_references().
#define KEEP_QUAL_ADDR_SPACE | ( | X | ) |
Only keep the address space out of the qualifiers and discard the other qualifiers.
Referenced by get_related_vectype_for_scalar_type().
#define LABEL_DECL_UID | ( | NODE | ) |
A numeric unique identifier for a LABEL_DECL. The UID allocation is dense, unique within any one function, and may be used to index arrays. If the value is -1, then no UID has been assigned.
Referenced by tree_switch_conversion::case_bit_test::cmp(), copy_decl_no_change(), dump_decl_name(), dump_generic_node(), gimple_set_bb(), hash_tree(), label_to_block(), make_node(), move_block_to_fn(), new_label_mapper(), print_node(), print_node_brief(), unpack_ts_decl_common_value_fields(), and verify_gimple_label().
#define LABEL_EXPR_LABEL | ( | NODE | ) |
LABEL_EXPR accessor. This gives access to the label associated with the given label expression.
Referenced by gimplify_expr(), gimplify_label_expr(), and shortcut_cond_expr().
#define long_accum_type_node global_trees[TI_LACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define long_double_ptr_type_node global_trees[TI_LONG_DOUBLE_PTR_TYPE] |
Referenced by build_common_tree_nodes().
#define long_double_type_node global_trees[TI_LONG_DOUBLE_TYPE] |
Referenced by build_common_tree_nodes(), build_tm_load(), build_tm_store(), define_builtin_macros_for_type_sizes(), excess_precision_type(), fold_const_call_1(), gen_ctf_base_type(), get_no_error_domain(), long_double_as_float128(), mathfn_built_in_2(), tm_log_emit_stmt(), and ubsan_type_descriptor().
#define long_fract_type_node global_trees[TI_LFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define long_integer_type_node integer_types[itk_long] |
Referenced by add_standard_iv_candidates(), build_cltz_expr(), build_common_tree_nodes(), build_complex_type(), build_popcount_expr(), can_log2(), cond_removal_in_builtin_zero_pattern(), convert_to_integer_1(), define_builtin_macros_for_lp64(), define_builtin_macros_for_type_sizes(), expand_omp_for(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_ordered_source(), expand_task_call(), finish_taskreg_scan(), fold_builtin_bit_query(), get_typenode_from_name(), get_ws_args_for(), gimple_signed_or_unsigned_type(), lhd_type_for_size(), omp_extract_for_data(), scan_omp_task(), and workshare_safe_to_combine_p().
#define long_long_accum_type_node global_trees[TI_LLACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define long_long_fract_type_node global_trees[TI_LLFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define long_long_integer_type_node integer_types[itk_long_long] |
Referenced by add_standard_iv_candidates(), build_cltz_expr(), build_common_tree_nodes(), build_complex_type(), build_popcount_expr(), can_log2(), cond_removal_in_builtin_zero_pattern(), convert_to_integer_1(), default_cxx_guard_type(), define_builtin_macros_for_type_sizes(), expand_omp_for_init_vars(), expand_omp_for_static_nochunk(), fold_builtin_bit_query(), get_typenode_from_name(), gimple_signed_or_unsigned_type(), lhd_type_for_size(), and omp_loop_number_of_iterations().
#define long_long_unsigned_type_node integer_types[itk_unsigned_long_long] |
Referenced by build_cltz_expr(), build_common_tree_nodes(), build_complex_type(), build_personality_function(), build_popcount_expr(), dump_generic_node(), expand_omp_for(), expand_omp_for_generic(), expand_omp_for_init_vars(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_task_call(), fold_builtin_bit_query(), get_typenode_from_name(), gimple_signed_or_unsigned_type(), lhd_type_for_size(), and omp_extract_for_data().
#define long_unsigned_type_node integer_types[itk_unsigned_long] |
#define LOOP_EXPR_BODY | ( | NODE | ) |
In a LOOP_EXPR node.
Referenced by dump_generic_node(), and gimplify_loop_expr().
#define main_identifier_node global_trees[TI_MAIN_IDENTIFIER] |
#define MAIN_NAME_P | ( | NODE | ) |
Referenced by cgraph_externally_visible_p(), compute_function_frequency(), create_function_info_for(), execute_split_functions(), gen_call_used_regs_seq(), ipa_propagate_frequency_1(), and ipa_icf::sem_item_optimizer::merge_classes().
#define MARK_TS_BASE | ( | C | ) |
Macros for initializing `tree_contains_struct'.
Referenced by initialize_tree_contains_struct().
#define MARK_TS_COMMON | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_DECL_COMMON | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_DECL_MINIMAL | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_DECL_NON_COMMON | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_DECL_WITH_VIS | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_DECL_WRTL | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_EXP | ( | C | ) |
#define MARK_TS_TYPE_COMMON | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_TYPE_NON_COMMON | ( | C | ) |
#define MARK_TS_TYPE_WITH_LANG_SPECIFIC | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MARK_TS_TYPED | ( | C | ) |
Referenced by initialize_tree_contains_struct().
#define MAX_INIT_PRIORITY 65535 |
The maximum allowed initialization priority.
Referenced by get_cdtor_priority_section().
#define MAX_RESERVED_INIT_PRIORITY 100 |
The largest priority value reserved for use by system runtime libraries.
Referenced by asan_finish_file(), build_gcov_exit_decl(), build_init_ctor(), hwasan_finish_file(), and tsan_finish_file().
#define MAY_HAVE_DEBUG_BIND_STMTS flag_var_tracking_assignments |
Nonzero if gimple_debug_bind_p() (and thus gimple_debug_source_bind_p()) may possibly hold.
Referenced by adjust_debug_stmts(), adjust_phi_and_debug_stmts(), adjust_vec_debug_stmts(), analyze_access_subtree(), generate_loops_for_partition(), gimple_merge_blocks(), gimple_replace_ssa_lhs(), input_function(), insert_debug_temp_for_var_def(), insert_debug_temps_for_defs(), ipa_param_adjustments::modify_call(), num_imm_uses(), propagate_threaded_block_debug_into(), reassoc_remove_stmt(), release_ssa_name_fn(), remove_dead_stmt(), remove_unused_ivs(), reset_debug_uses(), sese_insert_phis_for_liveouts(), slpeel_tree_duplicate_loop_to_edge_cfg(), spaceship_replacement(), split_function(), tail_merge_optimize(), target_for_debug_bind(), tree_function_versioning(), value_replacement(), vect_do_peeling(), vect_transform_loop(), and vect_transform_loop_stmt().
#define MAY_HAVE_DEBUG_MARKER_STMTS debug_nonbind_markers_p |
Nonzero if gimple_debug_nonbind_marker_p() may possibly hold.
Referenced by allocate_struct_function(), input_function(), lower_function_body(), lower_stmt(), and make_blocks().
#define MAY_HAVE_DEBUG_STMTS (MAY_HAVE_DEBUG_MARKER_STMTS || MAY_HAVE_DEBUG_BIND_STMTS) |
Nonzero if is_gimple_debug() may possibly hold.
Referenced by ipa_param_body_adjustments::common_initialization(), ipa_param_body_adjustments::mark_dead_statements(), move_debug_stmts_from_forwarder(), ipa_param_body_adjustments::reset_debug_stmts(), and ssa_create_duplicates().
#define MR_DEPENDENCE_BASE | ( | NODE | ) |
Referenced by ao_ref_init_from_vn_reference(), clear_dependence_clique(), ao_compare::compare_ao_refs(), copy_ref_info(), copy_reference_ops_from_ref(), copy_tree_body_r(), create_component_ref_by_pieces_1(), dr_analyze_indices(), dr_may_alias_p(), dump_mem_ref(), maybe_set_dependence_info(), operand_compare::operand_equal_p(), refs_may_alias_p_2(), remap_gimple_op_r(), streamer_read_tree_bitfields(), streamer_write_tree_bitfields(), vect_copy_ref_info(), and visit_loadstore().
#define MR_DEPENDENCE_CLIQUE | ( | NODE | ) |
Referenced by ao_ref_init_from_vn_reference(), clear_dependence_clique(), ao_compare::compare_ao_refs(), copy_ref_info(), copy_reference_ops_from_ref(), copy_tree_body_r(), create_component_ref_by_pieces_1(), dr_analyze_indices(), dr_may_alias_p(), dump_generic_node(), dump_mem_ref(), duplicate_insn_chain(), gimple_duplicate_bb(), maybe_canonicalize_mem_ref_addr(), maybe_set_dependence_info(), operand_compare::operand_equal_p(), refs_may_alias_p_2(), remap_gimple_op_r(), streamer_read_tree_bitfields(), streamer_write_tree_bitfields(), vect_copy_ref_info(), verify_types_in_gimple_reference(), and visit_loadstore().
#define NAMELIST_DECL_ASSOCIATED_DECL | ( | NODE | ) |
Getter of the symbol declaration associated with the NAMELIST_DECL node.
Referenced by convert_local_reference_stmt(), and convert_nonlocal_reference_stmt().
#define NON_SAT_FIXED_POINT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a non-saturating fixed-point type.
Referenced by can_reassociate_type_p().
#define NOT_RECORD_OR_UNION_CHECK | ( | T | ) |
#define null_pointer_node global_trees[TI_NULL_POINTER] |
Referenced by analyze_function(), ao_ref_init_from_ptr_and_range(), build_common_tree_nodes(), build_cxa_dtor_registrations(), build_info(), tree_switch_conversion::switch_conversion::check_final_bb(), default_emutls_var_init(), dump_omp_clause(), execute_omp_device_lower(), execute_update_addresses_taken(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_parallel_call(), expand_task_call(), expand_teams_call(), find_explicit_erroneous_behavior(), get_emutls_init_templ_addr(), get_last_alloca_addr(), get_target_arguments(), gimple_fold_builtin_realloc(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_scan_omp_clauses(), initializer_constant_valid_p(), initializer_constant_valid_p_1(), lower_coro_builtin(), lower_eh_constructs_2(), lower_omp_target(), narrowing_initializer_constant_valid_p(), ompdevlow_adjust_simt_enter(), and stmt_uses_0_or_null_in_undefined_way().
Referenced by _slp_tree::_slp_tree(), add_data_member_location_attribute(), add_decls_addresses_to_decl_constructor(), add_desc_attribute(), add_detected_attribute_1(), add_ehspec_entry(), add_exit_phi(), add_iv_candidate_for_doloop(), add_loc_list(), add_offset_to_base(), add_rshift(), add_stmt_cost(), scev_dfs::add_to_evolution(), add_to_predicate_list(), addr_object_size(), addr_stridxptr(), addr_to_parts(), address_compare(), adjust_address_1(), adjust_assumption_stmt_op(), adjust_assumption_stmt_r(), adjust_context_and_scope(), ipa_param_adjustments::adjust_decl(), strlen_pass::adjust_last_stmt(), adjust_related_strinfos(), adjust_simduid_builtins(), autofdo::afdo_indirect_call(), aff_combination_add_elt(), aff_combination_convert(), aff_combination_remove_elt(), aff_combination_scale(), aff_combination_to_tree(), aff_combination_zero(), eliminate_dom_walker::after_dom_children(), rewrite_dom_walker::after_dom_children(), aggregate_value_p(), alloc_cand_and_find_basis(), alloc_iv(), alloc_object_size(), allocate_struct_function(), cgraph_node::analyze(), analyze_agg_content_value(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), analyze_overlapping_iterations(), analyze_ref(), analyze_subscript_affine_affine(), and_comparisons_1(), and_var_with_comparison(), and_var_with_comparison_1(), gimple_match_cond::any_else(), ao_ref_alias_ptr_type(), ao_ref_base_alias_ptr_type(), ao_ref_from_mem(), ao_ref_init(), ao_ref_init_from_ptr_and_range(), ao_ref_init_from_vn_reference(), append_to_statement_list_force(), operands_scanner::append_vdef(), operands_scanner::append_vuse(), arith_overflow_check_p(), attr_access::array_as_string(), array_elt_at_offset(), array_ref_flexible_size_p(), array_ref_up_bound(), array_size_for_constructor(), asan_add_global(), asan_dynamic_init_call(), asan_emit_stack_protection(), asan_expand_check_ifn(), asan_expand_poison_ifn(), asan_finish_file(), asan_instrument(), asan_maybe_insert_dynamic_shadow_at_function_entry(), asan_mem_ref_get_end(), asan_memfn_rtl(), asan_protect_global(), assemble_end_function(), assemble_external(), assemble_start_function(), assemble_static_space(), assign_filter_values(), assign_stack_temp(), attempt_builtin_copysign(), attempt_builtin_powi(), attr_namespace_ignored_p(), attribute_list_contained(), attribute_value_equal(), auto_simd_check_stmt(), backtrace_base_for_ref(), base_type_die(), check_array_bounds_dom_walker::before_dom_children(), eliminate_dom_walker::before_dom_children(), find_candidates_dom_walker::before_dom_children(), rewrite_dom_walker::before_dom_children(), rewrite_update_dom_walker::before_dom_children(), uncprop_dom_walker::before_dom_children(), bit_value_assume_aligned(), bit_value_binop(), bit_value_unop(), bitmask_inv_cst_vector_p(), bitwise_type_for_mode(), block_move_libcall_safe_for_call_parm(), block_ultimate_origin(), blocks_nreverse_all(), branch_fixup(), btf_add_func_records(), build3(), build_adjusted_function_type(), build_and_jump(), build_array_type_1(), build_asan_poison_call_expr(), build_assign(), build_assign(), build_bitint_stmt_ssa_conflicts(), build_builtin_expect_predicate(), build_builtin_function(), build_builtin_unreachable(), build_call_expr_internal_loc_array(), build_case_label(), build_case_label(), build_cdtor(), build_classic_dist_vector(), build_cltz_expr(), build_common_builtin_nodes(), build_common_tree_nodes(), build_constructor_from_vec(), build_cxa_atexit_decl(), build_cxa_dtor_registrations(), build_debug_ref_for_model(), build_fn_info_type(), build_function_type(), build_function_type_array_1(), build_function_type_list_1(), build_gcov_info_var_registration(), build_info_type(), build_init_call_stmt(), build_libfunc_function_visibility(), build_method_type_directly(), build_nt_call_vec(), build_omp_struct_comp_nodes(), tree_switch_conversion::switch_conversion::build_one_array(), build_outer_var_ref(), build_personality_function(), build_poly_int_cst(), build_popcount_expr(), build_printable_array_type(), build_range_check(), build_reconstructed_reference(), build_ref_for_model(), build_string_literal(), build_translation_unit_decl(), build_tree_list_vec(), build_type_cast(), build_user_friendly_ref_for_offset(), build_var(), build_vector_from_val(), builtin_decl_declared_p(), builtin_decl_explicit_p(), builtin_decl_implicit(), builtin_decl_implicit_p(), builtin_mathfn_code(), c_strlen(), calculate_live_ranges(), call_expr_flags(), call_may_clobber_ref_p_1(), call_object_size(), can_early_inline_edge_p(), loop_cand::can_interchange_p(), can_interpret_as_conditional_op_p(), can_log2(), can_produce_all_loop_masks_p(), canonicalize_addr_expr(), canonicalize_bool(), canonicalize_component_ref(), canonicalize_cond_expr_cond(), canonicalize_constructor_val(), canonicalize_loop_induction_variables(), canonicalize_loop_ivs(), categorize_ctor_elements_1(), ccp_lattice_meet(), cgraph_build_static_cdtor_1(), cgraph_edge_brings_value_p(), chain_of_csts_start(), change_address(), change_scope(), rt_bb_visited::check(), check_access(), array_bounds_checker::check_array_bounds(), array_bounds_checker::check_array_ref(), tree_switch_conversion::switch_conversion::check_final_bb(), check_fnspec(), check_omp_nesting_restrictions(), check_redundant_cond_expr(), check_scan_store(), check_stmt_for_type_change(), check_strncat_sizes(), check_unique_operand_names(), chrec_component_in_loop_num(), chrec_contains_symbols(), chrec_contains_symbols_defined_in_loop(), chrec_contains_undetermined(), chrec_convert_aggressive(), chrec_type(), chrec_zerop(), classify_builtin_st(), operands_scanner::cleanup_build_arrays(), cleanup_control_expr_graph(), simplify_using_ranges::cleanup_edges_and_switches(), clear_padding_type(), clear_padding_union(), clear_type_padding_in_mask(), clear_unused_block_pointer_1(), lto_location_cache::cmp_loc(), tree_switch_conversion::switch_conversion::collect(), pcom_worker::combinable_refs_p(), combine_blocks(), pcom_worker::combine_chains(), combine_comparisons(), combine_cond_expr_cond(), common_function_versions(), ipa_param_body_adjustments::common_initialization(), comp_type_attributes(), compare_constant(), compile_file(), component_ref_size(), component_uses_parent_alias_set_from(), compound_type_base(), computable_teams_clause(), compute_access_stride(), compute_affine_dependence(), compute_alias_check_pairs(), gori_compute::compute_logical_operands(), compute_new_first_bound(), compute_objsize(), compute_objsize(), compute_overlap_steps_for_affine_univar(), compute_subscript_distance(), cond_if_else_store_replacement(), cond_if_else_store_replacement_1(), cond_removal_in_builtin_zero_pattern(), connect_loops(), const_binop(), const_binop(), const_ok_for_output_1(), const_unop(), constant_byte_string(), constant_pointer_difference(), ana::constant_svalue::constant_svalue(), contains_abnormal_ssa_name_p(), contains_abnormal_ssa_name_p_1(), contains_label_1(), contains_label_p(), convert_affine_scev(), convert_gimple_call(), convert_if_conditions_to_switch(), convert_local_reference_op(), convert_local_reference_stmt(), convert_nl_goto_receiver(), convert_nl_goto_reference(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), convert_nonlocal_reference_stmt(), convert_single_case_switch(), convert_to_integer_1(), convert_tramp_reference_op(), convert_tramp_reference_stmt(), copy_debug_stmt(), copy_fn(), copy_if_shared_r(), copy_node(), copy_ref_info(), copy_reference_ops_from_ref(), copy_self_referential_tree_r(), copy_tree_body_r(), copy_tree_r(), coverage_counter_alloc(), coverage_end_function(), coverage_obj_finish(), coverage_obj_init(), create_add_imm_cand(), create_add_ssa_cand(), create_artificial_label(), create_assumption_fn(), create_call_for_reduction_1(), create_canonical_iv(), create_component_ref_by_pieces_1(), create_empty_if_region_on_edge(), create_empty_loop_on_edge(), create_expression_by_pieces(), function_reader::create_function(), create_function_info_for(), create_intersect_range_checks(), create_iv(), create_loads_and_stores_for_name(), create_loads_for_reductions(), create_loop_fn(), create_mem_ref(), create_mem_ref_raw(), create_mul_imm_cand(), create_mul_ssa_cand(), create_odr_indicator(), create_omp_child_function(), create_parallel_loop(), create_stores_for_reduction(), create_variable_info_for(), create_vop_var(), cse_and_gimplify_to_preheader(), ctor_single_nonzero_element(), cxx11_attribute_p(), dconst_e_ptr(), dconst_pi_ptr(), debug_find_var_in_block_tree(), decl_attributes(), decl_class_context(), decl_debug_expr_lookup(), decl_for_component_ref(), decl_for_type_lookup(), decl_init_size(), decl_overlaps_hard_reg_set_p(), decl_type_context(), decl_ultimate_origin(), decl_value_expr_lookup(), declare_return_variable(), decode_field_reference(), decompose_param_expr(), default_builtin_md_vectorized_function(), default_builtin_reciprocal(), default_builtin_tm_load_store(), default_builtin_vectorized_function(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_promote_function_mode(), default_use_anchors_for_symbol_p(), defcodefor_name(), range_def_chain::depend1(), range_def_chain::depend2(), dependence_distance_ge_vf(), detach_value(), determine_base_object(), determine_base_object_1(), determine_exit_conditions(), determine_global_memory_access(), determine_group_iv_cost_address(), determine_group_iv_cost_cond(), determine_group_iv_cost_generic(), determine_known_aggregate_parts(), DFS::DFS_write_tree(), diag_attr_exclusions(), diagnose_sb_1(), diagnose_sb_2(), diagnose_tm_1(), diagnose_tm_1_op(), discover_nonconstant_array_refs(), discover_nonconstant_array_refs_r(), distinctify_node_type(), div_if_zero_remainder(), do_dbg_cnt(), do_hoist_insertion(), tree_switch_conversion::switch_decision_tree::do_jump_if_equal(), do_mpc_arg2(), do_mpc_ckconv(), do_mpfr_ckconv(), do_mpfr_lgamma_r(), do_mpfr_remquo(), do_narrow(), do_pre_regular_insertion(), do_split_loop_on_cond(), do_warn_nonnull_compare(), dr_analyze_innermost(), dr_step_indicator(), dse_optimize_stmt(), cgraph_node::dump(), dump_data_dependence_relation(), dump_decl_name(), dump_defs_stack(), dump_dist_dir_vectors(), dump_enumerated_decls(), dump_enumerated_decls_push(), dump_function_to_file(), dump_generic_node(), dump_gimple_debug(), dump_gimple_fmt(), dump_gimple_mem_ops(), dump_gimple_switch(), dump_ic_profile(), dump_mem_ref(), dump_omp_clause(), dump_omp_init_prefer_type(), dump_part_var_map(), dump_var_map(), dump_variable(), duplicate_eh_regions_1(), dv_onepart_p(), dwarf2_build_local_stub(), dwarf2out_decl(), early_object_sizes_execute_one(), eliminate_dom_walker::eliminate_avail(), rpo_elim::eliminate_avail(), eliminate_dom_walker::eliminate_insert(), eliminate_local_variables_1(), eliminate_not_pairs(), eliminate_plus_minus_pair(), eliminate_dom_walker::eliminate_stmt(), eliminate_tail_call(), eliminate_unnecessary_stmts(), tree_switch_conversion::bit_test_cluster::emit(), tree_switch_conversion::jump_table_cluster::emit(), emit_call_1(), tree_switch_conversion::switch_decision_tree::emit_cmp_and_jump_insns(), emit_library_call_value_1(), emit_push_insn(), eq_evolutions_p(), ipa_polymorphic_call_context::equal_to(), error_unavailable_use(), estimate_local_effects(), estimate_numbers_of_iterations(), evaluate_conditions_for_known_args(), evaluate_control_stmt_using_entry_checks(), evaluate_stmt(), evolution_function_is_affine_in_loop(), evolution_function_is_affine_multivariate_p(), evolution_function_is_constant_p(), evolution_function_is_univariate_p(), evolution_function_right_is_integer_cst(), exact_inverse(), excess_precision_type(), loop_distribution::execute(), execute_cse_sincos_1(), execute_omp_device_lower(), execute_sm(), execute_sm_exit(), execute_sm_if_changed(), execute_update_addresses_taken(), expand_arith_overflow(), expand_assignment(), expand_bitquery(), expand_builtin_cexpi(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_memory_chk(), expand_builtin_prefetch(), expand_builtin_strub_leave(), expand_builtin_va_copy(), expand_call(), expand_call_inline(), expand_case(), expand_complex_div_wide(), expand_complex_libcall(), expand_complex_move(), expand_complex_multiplication(), expand_complex_operations_1(), expand_debug_expr(), expand_debug_locations(), expand_DIVMOD(), expand_doubleword_mod(), expand_expr_real_1(), expand_FALLTHROUGH_r(), expand_function_start(), expand_gimple_basic_block(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_compare_exchange_into_call(), expand_ifn_atomic_op_fetch_cmp_0(), expand_ifn_va_arg_1(), expand_mul_overflow(), expand_neg_overflow(), expand_oacc_collapse_init(), expand_oacc_collapse_vars(), expand_oacc_for(), expand_omp_atomic_cas(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_build_assign(), expand_omp_build_cond(), expand_omp_for(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_ordered_source_sink(), expand_omp_regimplify_p(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_omp_taskreg(), expand_parallel_call(), expand_partial_load_optab_fn(), expand_partial_store_optab_fn(), expand_pow_as_sqrts(), expand_simd_clones(), expand_simple_operations(), expand_sjlj_dispatch_table(), expand_stack_vars(), expand_task_call(), expand_taskwait_call(), expand_teams_call(), expand_thunk(), expand_vector_comparison(), expand_vector_condition(), expand_vector_conversion(), expand_vector_divmod(), expand_vector_operation(), expand_vector_operations_1(), expand_vector_piecewise(), expand_vector_ubsan_overflow(), expand_widen_pattern_expr(), expr_expected_value_1(), expr_first(), expr_hash_elt::expr_hash_elt(), expr_last(), expr_single(), extr_type_from_vtbl_ptr_store(), extract_base_bit_offset(), extract_bit_test_mask(), extract_muldiv_1(), extract_object_class_type(), extract_omp_for_update_vars(), extract_ops_from_tree(), extract_ops_from_tree(), factor_out_conditional_operation(), field_at_offset(), field_byte_offset(), field_type(), final_value_replacement_loop(), finalize_nesting_tree_1(), finalize_nrv_r(), operands_scanner::finalize_ssa_defs(), operands_scanner::finalize_ssa_uses(), finalize_task_copyfn(), finalize_type_size(), find_address_like_use(), find_assumption_locals_r(), find_atomic_core_type(), find_bitfield_repr_type(), find_case_label_range(), find_case_label_ranges(), find_combined_omp_for(), find_conditions(), find_data_references_in_bb(), find_data_references_in_loop(), find_decl(), find_decl_expr(), find_deriving_biv_for_expr(), find_duplicate(), find_func_aliases(), find_func_aliases_for_builtin_call(), find_func_aliases_for_call(), find_func_clobbers(), find_givs_in_stmt_scev(), find_goto(), find_goto_label(), find_ifn_gomp_dispatch(), find_interesting_uses_address(), find_interesting_uses_cond(), find_interesting_uses_op(), find_inv_vars_cb(), find_loop_niter(), find_loop_niter_by_eval(), pcom_worker::find_looparound_phi(), find_more_scalar_values_for_callers_subset(), find_non_realpart_uses(), find_omp_teams(), find_or_create_vtbl_map_node(), find_or_generate_expression(), find_param_by_name(), find_partitioned_var_uses_1(), find_reduc_addr(), find_released_ssa_name(), find_return_bb(), find_same_attribute(), find_simtpriv_var_op(), find_src_set_src(), find_src_status(), find_ssaname(), find_ssaname_in_store(), find_standalone_omp_ordered(), find_tail_calls(), find_taken_edge_cond_expr(), find_taken_edge_switch_expr(), find_trapping_overflow(), find_unswitching_predicates_for_bb(), find_uses_to_rename_stmt(), find_va_list_reference(), find_var_cmp_const(), find_var_from_fn(), fini_ssa_operands(), finish_bitfield_layout(), finish_bitfield_representative(), finish_builtin_struct(), finish_taskreg_remap(), finish_taskreg_scan(), finish_update_gimple_call(), tree_switch_conversion::switch_decision_tree::fix_phi_operands_for_edges(), fixup_noreturn_call(), flexible_array_type_p(), fold(), fold_abs_const(), fold_addr_of_array_ref_difference(), fold_array_ctor_reference(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_binary_to_constant(), fold_bit_and_mask(), fold_build_call_array_loc(), fold_builtin_0(), fold_builtin_1(), fold_builtin_2(), fold_builtin_3(), fold_builtin_abs(), fold_builtin_alloca_with_align(), fold_builtin_arith_overflow(), fold_builtin_atomic_always_lock_free(), fold_builtin_atomic_compare_exchange(), fold_builtin_atomic_is_lock_free(), fold_builtin_bit_query(), fold_builtin_call_array(), fold_builtin_carg(), fold_builtin_classify(), fold_builtin_constant_p(), fold_builtin_expect(), fold_builtin_fabs(), fold_builtin_fpclassify(), fold_builtin_frexp(), fold_builtin_interclass_mathfn(), fold_builtin_isascii(), fold_builtin_isdigit(), fold_builtin_iseqsig(), fold_builtin_memcmp(), fold_builtin_modf(), fold_builtin_n(), fold_builtin_object_size(), fold_builtin_sincos(), fold_builtin_strcspn(), fold_builtin_strlen(), fold_builtin_strpbrk(), fold_builtin_strspn(), fold_builtin_toascii(), fold_builtin_unordered_cmp(), fold_builtin_varargs(), fold_call_expr(), fold_call_stmt(), fold_comparison(), fold_cond_expr_with_comparison(), simplify_using_ranges::fold_cond_with_ops(), fold_const_aggregate_ref_1(), fold_const_builtin_nan(), fold_const_call(), fold_const_call(), fold_const_call(), fold_const_call_1(), fold_const_call_1(), fold_const_call_1(), fold_const_fold_left(), fold_const_reduction(), fold_const_vec_convert(), fold_convert_const(), fold_convert_const_int_from_real(), fold_convert_const_real_from_real(), fold_convert_loc(), fold_ctor_reference(), fold_div_compare(), fold_gimple_assign(), fold_indirect_ref_1(), fold_internal_goacc_dim(), fold_marked_statements(), fold_negate_const(), fold_negate_expr(), fold_negate_expr_1(), fold_nonarray_ctor_reference(), fold_plusminus_mult_expr(), fold_read_from_vector(), fold_relational_const(), ccp_folder::fold_stmt(), fold_stmt_1(), fold_strstr_to_strncmp(), fold_ternary_loc(), fold_to_nonsharp_ineq_using_bound(), fold_truth_andor(), fold_truth_andor_for_ifcombine(), fold_truth_not_expr(), fold_unary_loc(), fold_unary_to_constant(), fold_vec_perm(), fold_vec_perm_cst(), fold_view_convert_expr(), fold_view_convert_vector_encoding(), fold_while_ult(), follow_outer_ssa_edges(), follow_single_use_edges(), scev_dfs::follow_ssa_edge_expr(), force_expr_to_var_cost(), force_gimple_operand_1(), force_into_ssa_name(), force_labels_r(), fortran_common(), forward_propagate_into_comparison_1(), attr_access::free_lang_data(), free_stmt_operands(), fully_constant_vn_reference_p(), function_args_iter_cond(), function_args_iter_next(), function_section_1(), function_to_dwarf_procedure(), fwprop_invalidate_lattice(), gather_chrec_stats(), tree_switch_conversion::switch_conversion::gather_default_values(), gather_memory_references_ref(), gen_block_die(), gen_conditions_for_pow_int_base(), gen_eh_region_catch(), tree_switch_conversion::switch_conversion::gen_inbound_check(), gen_one_condition(), gen_parallel_loop(), gen_phi_arg_condition(), gen_subprogram_die(), generate_memcpy_builtin(), generate_memset_builtin(), generate_rawmemchr_builtin(), generate_strlen_builtin(), generate_strlen_builtin_using_rawmemchr(), generate_subtree_copies(), get_addr_base_and_unit_offset_1(), get_address_cost(), get_address_description(), get_ancestor_addr_info(), get_array_ctor_element_at_index(), get_asan_shadow_memory_dynamic_address_decl(), get_attr_nonstring_decl(), get_attrs_for(), get_base_constructor(), get_base_for_alignment_1(), get_base_loadstore(), get_binfo_at_offset(), get_bit_field_ref_def(), get_bit_range(), get_bitfield_rep(), get_call_fndecl(), get_call_vi(), get_callee_fndecl(), get_computation_at(), get_computation_cost(), get_compute_type(), get_constant_value(), get_constraint_for_ptr_offset(), get_continuation_for_phi(), get_copy_of_val(), ipa_param_body_adjustments::get_ddef_if_exists_and_is_used(), get_debug_computation_at(), get_default_value(), ipa_polymorphic_call_context::get_dynamic_type(), get_elf_initfini_array_priority_section(), get_frame_field(), autofdo::get_function_decl_from_block(), get_group_load_store_type(), get_initializer_for(), get_inner_reference(), get_legacy_range(), get_legacy_range(), virtual_operand_live::get_live_in(), virtual_operand_live::get_live_out(), get_local_debug_decl(), get_maxbound(), get_maxval_strlen(), get_mem_align_offset(), get_mem_refs_of_builtin_call(), get_mem_type_for_internal_fn(), equiv_relation_iterator::get_name(), gori_export_iterator::get_name(), ipa_param_body_adjustments::get_new_param_chain(), get_nonlocal_debug_decl(), get_nonnull_args(), get_odr_name_for_type(), get_omp_data_i_param(), get_or_create_ssa_default_def(), get_personality_function(), get_qualified_type(), get_range(), get_range_strlen_tree(), get_reaching_def(), access_ref::get_ref(), get_ref_base_and_extent(), get_ref_base_and_extent_hwi(), get_ref_from_access_with_size(), get_ref_size(), get_references_in_stmt(), get_related_vectype_for_scalar_type(), get_representative_for(), get_same_sized_vectype(), get_single_symbol(), get_size_range(), get_ssa_base_param(), get_ssa_name_ann(), get_static_chain(), get_stridx_plus_constant(), get_string_length(), get_symbol_constant_value(), get_target_arguments(), get_tm_clone_pair(), get_typenode_from_name(), get_unary_op(), get_up_bounds_for_array_ref(), get_upper_bound_based_on_builtin_expr_with_prob(), get_val_across_arith_op(), ipa_argagg_value_list::get_value(), ipa_argagg_value_list::get_value(), get_value_for_expr(), get_value_from_alignment(), get_vec_alignment_for_record_type(), get_vec_alignment_for_type(), get_vop_from_header(), getbyterep(), gimple_add_padding_init_for_auto_var(), gimple_assign_rhs2(), gimple_assign_rhs3(), gimple_bind_set_block(), gimple_build(), gimple_build_assign(), gimple_build_assign(), gimple_build_builtin_unreachable(), gimple_build_call_from_tree(), gimple_build_cond_empty(), gimple_build_valueize(), gimple_build_vector(), gimple_call_addr_fndecl(), gimple_call_alloc_size(), gimple_call_builtin_p(), gimple_call_builtin_p(), gimple_call_builtin_p(), gimple_call_fntype(), gimple_call_integer_valued_real_p(), gimple_call_nonnegative_warnv_p(), gimple_call_nonnull_arg(), gimple_call_operator_delete_p(), gimple_call_return_array(), gimple_call_return_type(), gimple_can_coalesce_p(), gimple_canonical_types_compatible_p(), gimple_cond_get_ops_from_tree(), gimple_could_trap_p_1(), gimple_divmod_fixed_value(), gimple_duplicate_bb(), gimple_equal_p(), gimple_expand_builtin_pow(), gimple_expand_builtin_powi(), gimple_expand_vec_cond_expr(), gimple_extract(), gimple_fold_builtin(), gimple_fold_builtin_clear_padding(), gimple_fold_builtin_fprintf(), gimple_fold_builtin_memchr(), gimple_fold_builtin_memory_chk(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_printf(), gimple_fold_builtin_snprintf(), gimple_fold_builtin_sprintf(), gimple_fold_builtin_sprintf_chk(), gimple_fold_builtin_stpcpy(), gimple_fold_builtin_strcat(), gimple_fold_builtin_strchr(), gimple_fold_builtin_strcpy(), gimple_fold_builtin_string_compare(), gimple_fold_builtin_strncpy(), gimple_fold_builtin_strstr(), gimple_fold_builtin_stxcpy_chk(), gimple_fold_builtin_stxncpy_chk(), gimple_fold_call(), gimple_fold_indirect_ref(), gimple_fold_partial_load_store_mem_ref(), gimple_fold_stmt_to_constant(), gimple_fold_stmt_to_constant_1(), gimple_gen_average_profiler(), gimple_gen_edge_profiler(), gimple_gen_ic_func_profiler(), gimple_gen_ic_profiler(), gimple_gen_interval_profiler(), gimple_gen_ior_profiler(), gimple_gen_pow2_profiler(), gimple_gen_time_profiler(), gimple_gen_topn_values_profiler(), gimple_get_lhs(), gimple_get_virt_method_for_binfo(), gimple_get_virt_method_for_vtable(), gimple_has_lhs(), gimple_ic(), gimple_indirect_call_to_profile(), gimple_init_gcov_profiler(), gimple_load_first_char(), gimple_lower_bitint(), gimple_lv_add_condition_to_bb(), gimple_merge_blocks(), gimple_mod_pow2(), gimple_mod_subtract(), gimple_op(), gimple_operand_equal_value_p(), gimple_parm_array_size(), gimple_range_ssa_p(), gimple_range_type(), gimple_regimplify_operands(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_simplify(), gimple_stringop_fixed_value(), gimple_switch_set_label(), gimple_vdef(), gimple_vuse(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_and_update_call_from_tree(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_body(), gimplify_call_expr(), gimplify_compound_literal_expr(), gimplify_compound_lval(), gimplify_cond_expr(), gimplify_decl_expr(), gimplify_exit_expr(), gimplify_expr(), gimplify_function_tree(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_init_ctor_eval_range(), gimplify_loop_expr(), gimplify_mem_ref_parts(), gimplify_modify_expr(), gimplify_modify_expr_complex_part(), gimplify_modify_expr_rhs(), gimplify_oacc_cache(), gimplify_oacc_declare(), gimplify_omp_affinity(), gimplify_omp_atomic(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), gimplify_omp_ordered(), gimplify_omp_parallel(), gimplify_omp_target_update(), gimplify_omp_task(), gimplify_omp_workshare(), gimplify_one_sizepos(), gimplify_return_expr(), gimplify_scalar_mode_aggregate_compare(), gimplify_scan_omp_clauses(), gimplify_size_expressions(), gimplify_switch_expr(), gimplify_target_expr(), gimplify_transaction(), gimplify_va_arg_expr(), go_decl(), go_format_type(), go_output_typedef(), go_output_var(), go_type_decl(), goa_stabilize_expr(), gori_stmt_info::gori_stmt_info(), gsi_advance_bw_nondebug_nonlocal(), gvn_uses_equal(), strlen_pass::handle_alloc_call(), handle_builtin_alloca(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_string_cmp(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_builtin_stxncpy_strncat(), handle_call_arg(), strlen_pass::handle_integral_assign(), strlen_pass::handle_pointer_plus(), handle_printf_call(), handle_rhs_call(), strlen_pass::handle_store(), has_stmt_been_instrumented_p(), operand_compare::hash_operand(), ipa_icf::sem_function::hash_stmt(), hashable_expr_equal_p(), tree_switch_conversion::bit_test_cluster::hoist_edge_and_branch_if_true(), hoist_guard(), hoist_memory_references(), hot_function_section(), idx_analyze_ref(), idx_infer_loop_bounds(), ifcombine_ifandif(), ifcvt_local_dce(), increment_start_addr(), independent_of_stmt_p(), infer_nonnull_range_by_attribute(), access_ref::inform_access(), init_base_vars(), init_dont_simulate_again(), init_ic_make_global_vars(), init_parameter_lattice_values(), init_range_entry(), init_ssanames(), initialize_ao_ref_for_dse(), initialize_data_dependence_relation(), initialize_inlined_parameters(), initialize_matrix_A(), initialize_root_vars(), initialize_root_vars_lm(), initialize_root_vars_store_elim_1(), initialize_root_vars_store_elim_2(), initialize_sanitizer_builtins(), initializer_constant_valid_p(), initializer_constant_valid_p_1(), inline_expand_builtin_bytecmp(), inline_forbidden_p_stmt(), inline_read_section(), inlined_polymorphic_ctor_dtor_block_p(), input_cgraph_1(), input_edge(), input_function(), lto_location_cache::input_location_and_block(), input_offload_tables(), input_ssa_names(), insert_clobbers_for_var(), insert_init_debug_bind(), insert_init_stmt(), insert_into_preds_of_block(), install_var_field(), instantiate_scev_name(), instantiate_scev_r(), instrument_bool_enum_load(), instrument_builtin(), instrument_builtin_call(), instrument_builtin_call(), instrument_derefs(), instrument_expr(), instrument_nonnull_arg(), instrument_nonnull_return(), instrument_null(), instrument_object_size(), int_const_binop(), integer_type_for_mask(), integer_valued_real_p(), tree_loop_interchange::interchange_loops(), interpret_rhs_expr(), intersect_argaggs_with(), intra_create_variable_infos(), ipa_agg_pass_through_jf_equivalent_p(), ipa_agg_value_from_jfunc(), ipa_find_agg_cst_from_jfunc_items(), ipa_get_indirect_edge_target_1(), ipa_get_jf_ancestor_result(), ipa_get_jf_arith_result(), ipa_get_stmt_member_ptr_load_param(), ipa_pta_execute(), ipa_read_jump_function(), ipa_set_jf_simple_pass_through(), ipa_set_jf_unary_pass_through(), ipa_simd_modify_function_body(), ipa_simd_modify_stmt_ops(), ipa_tm_insert_irr_call(), ipa_value_from_jfunc(), ipcp_get_aggregate_const(), is_addr_local(), is_attribute_namespace_p(), if_chain::is_beneficial(), is_combined_permutation_identity(), is_cxa_atexit(), ana::field_region::key_t::is_empty(), is_empty_type(), is_false_predicate(), ana::evdesc::state_change::is_global_p(), is_multivariate_chrec(), is_multivariate_chrec_rec(), is_oacc_declared(), is_redundant_typedef(), is_removable_allocation_p(), is_sync_builtin_call(), is_tm_ending(), is_true_predicate(), is_typedef_decl(), known_lower(), last_field(), layout_type(), simplify_using_ranges::legacy_fold_cond(), simplify_using_ranges::legacy_fold_cond_overflow(), lhd_do_nothing_iii_return_null_tree(), lhd_omp_array_size(), lhd_omp_deep_mapping_cnt(), lhd_return_null_const_tree(), lhd_return_null_tree(), lhd_simulate_enum_decl(), lhd_simulate_record_decl(), lhd_type_for_size(), load_assign_lhs_subreplacements(), loc_list_from_tree_1(), local_define_builtin(), gori_compute::logical_combine(), long_double_as_float128(), lookup_attribute(), lookup_attribute(), lookup_attribute_by_prefix(), avail_exprs_stack::lookup_avail_expr(), lookup_descr_for_decl(), lookup_element_for_decl(), lookup_field_for_decl(), lookup_scoped_attribute_spec(), lookup_tramp_for_decl(), loop_closed_phi_def(), loop_iter_phi_semi_invariant_p(), loop_niter_by_eval(), lower_assumption(), lower_bitfield(), lower_bound_default(), lower_builtin_assume_aligned(), lower_builtin_posix_memalign(), lower_coro_builtin(), lower_depend_clauses(), lower_eh_dispatch(), lower_emutls_1(), lower_emutls_2(), lower_function_body(), lower_gimple_bind(), lower_lastprivate_clauses(), lower_lastprivate_conditional_clauses(), lower_oacc_head_mark(), lower_oacc_head_tail(), lower_oacc_loop_marker(), lower_oacc_reductions(), lower_omp_1(), lower_omp_for(), lower_omp_for_scan(), lower_omp_ordered(), lower_omp_ordered_clauses(), lower_omp_regimplify_operands_p(), lower_omp_regimplify_p(), lower_omp_scan(), lower_omp_scope(), lower_omp_sections(), lower_omp_single(), lower_omp_target(), lower_omp_task_reductions(), lower_omp_taskreg(), lower_omp_teams(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_sequence_no_tm(), lower_sequence_tm(), lower_vec_perm(), lto_input_tree_1(), lto_input_tree_ref(), lto_input_ts_type_common_tree_pointers(), lto_output_toplevel_asms(), lto_output_tree(), lto_output_tree_1(), lto_read_body_or_constructor(), lto_read_tree_1(), lto_variably_modified_type_p(), make_attribute(), make_bit_field_load(), make_bit_field_ref(), make_cond_expr_edges(), make_debug_expr_from_rtl(), symtab_node::make_decl_local(), make_decl_rtl(), make_dispatcher_decl(), make_new_ssa_for_def(), make_node(), make_range(), make_range_step(), make_ssa_name_fn(), make_tm_uninst(), make_trait_selector(), make_tree(), mangle_referenced_decls(), mark_all_reaching_defs_necessary_1(), ana::field_region::key_t::mark_empty(), mark_local_labels_stmt(), mark_nontemporal_stores(), marked_for_renaming(), match_arith_overflow(), match_cond_with_binary_phi(), match_uaddc_usubc(), matching_alloc_calls_p(), mathfn_built_in_1(), mathfn_built_in_type(), may_propagate_copy(), may_propagate_copy_into_stmt(), may_use_storent_in_loop_p(), maybe_build_call_expr_loc(), maybe_canonicalize_argtypes(), maybe_canonicalize_comparison_1(), maybe_dead_abnormal_edge_p(), maybe_diag_alias_attributes(), maybe_diag_stxncpy_trunc(), maybe_emit_chk_warning(), maybe_emit_sprintf_chk_warning(), maybe_fold_and_comparisons(), maybe_fold_comparisons_from_match_pd(), maybe_fold_or_comparisons(), maybe_fold_reference(), maybe_fold_tmr(), maybe_get_identifier(), maybe_inline_call_in_expr(), maybe_instrument_assignment(), maybe_instrument_pointer_overflow(), maybe_invalidate(), maybe_lookup_decl(), maybe_lookup_field(), maybe_make_indirect(), maybe_move_debug_stmts_to_successors(), maybe_optimize_asan_check_ifn(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), maybe_optimize_range_tests(), maybe_optimize_ubsan_ptr_ifn(), maybe_push_res_to_seq(), maybe_remove_unreachable_handlers(), maybe_replace_use(), maybe_replace_use_in_debug_stmt(), maybe_resimplify_conditional_op(), maybe_set_strlen_range(), maybe_special_function_p(), maybe_warn_nonstring_arg(), maybe_warn_operand(), strlen_pass::maybe_warn_overflow(), maybe_warn_pass_by_reference(), mem_attrs_eq_p(), mem_loc_descriptor(), mem_ref_valid_without_offset_p(), merge_attributes(), merge_ranges(), merge_truthop_with_opposite_arm(), min_align_of_type(), minmax_replacement(), modified_type_die(), ipa_param_body_adjustments::modify_assignment(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_expression(), ipa_param_body_adjustments::modify_formal_parameters(), ipa_param_body_adjustments::modify_gimple_stmt(), most_expensive_mult_to_index(), mostly_copy_tree_r(), move_block_to_fn(), tree_loop_interchange::move_code_to_inner_loop(), move_computations_worker(), move_early_exit_stmts(), move_fixed_address_to_symbol(), move_hint_to_base(), move_pointer_to_base(), move_sese_in_condition(), move_sese_region_to_fn(), move_stmt_op(), move_stmt_r(), move_variant_to_index(), movement_possibility_1(), multiple_of_p(), name_for_ref(), narrowing_initializer_constant_valid_p(), native_encode_fixed(), native_encode_initializer(), native_interpret_aggregate(), native_interpret_complex(), native_interpret_expr(), native_interpret_fixed(), native_interpret_int(), native_interpret_real(), native_interpret_vector(), native_interpret_vector_part(), nb_vars_in_chrec(), need_assembler_name_p(), negate_expr(), negate_value(), neutral_op_for_reduction(), new_scalar_tmp_constraint_exp(), new_strinfo(), new_var_info(), no_follow_ssa_edges(), non_rewritable_mem_ref_base(), nonnull_arg_p(), note_no_context_vars(), note_simd_array_uses(), note_simd_array_uses_cb(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_cond(), number_of_iterations_exit_assumptions(), number_of_iterations_popcount(), number_of_latch_executions(), oacc_build_routine_dims(), oacc_entry_exit_single_gang(), oacc_parse_default_dims(), oacc_rewrite_var_decl(), oacc_set_fn_attrib(), oacc_thread_numbers(), oacc_validate_dims(), oacc_verify_routine_clauses(), oacc_xform_loop(), oacc_xform_tile(), odr_subtypes_equivalent_p(), odr_types_equivalent_p(), offset_int_type_size_in_bits(), omp_accumulate_sibling_list(), omp_apply_tile(), omp_build_struct_sibling_lists(), omp_clause_aligned_alignment(), omp_construct_simd_compare(), omp_context_selector_compare(), omp_context_selector_matches(), omp_context_selector_props_compare(), omp_context_selector_set_compare(), omp_declare_target_fn_p(), omp_discover_declare_target_fn_r(), omp_discover_declare_target_tgt_fn_r(), omp_discover_declare_target_var_r(), omp_extract_for_data(), omp_find_clause(), omp_find_stores_op(), omp_find_stores_stmt(), omp_gather_mapping_groups(), omp_get_attachment(), omp_get_base_pointer(), omp_get_context_selector(), omp_get_context_selector_list(), omp_group_base(), omp_has_nocontext(), omp_has_novariants(), omp_index_mapping_groups(), omp_index_mapping_groups_1(), omp_loop_number_of_iterations(), omp_lto_input_declare_variant_alt(), omp_lto_output_declare_variant_alt(), omp_mapped_by_containing_struct(), omp_mark_declare_variant(), omp_maybe_apply_loop_xforms(), omp_member_access_dummy_var(), omp_notice_variable(), omp_addr_tokenizer::omp_parse_component_selector(), omp_addr_tokenizer::omp_parse_structured_expr(), omp_reindex_mapping_groups(), omp_resolve_clause_dependencies(), omp_resolve_declare_variant(), omp_runtime_api_call(), omp_task_reduction_iterate(), omp_task_reductions_find_first(), op_iter_init(), op_iter_next_tree(), gimple_match_op::op_or_null(), operand_compare::operand_equal_p(), operands_scanner::operands_scanner(), ana::path_var::operator bool(), optimize_atomic_bit_test_and(), optimize_atomic_op_fetch_cmp_0(), optimize_bit_field_compare(), optimize_mask_stores(), optimize_memcpy_to_memset(), optimize_pow_to_exp(), optimize_range_tests(), optimize_range_tests_1(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_diff(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_range_tests_xor(), optimize_recip_sqrt(), optimize_stack_restore(), optimize_stdarg_builtin(), dom_opt_dom_walker::optimize_stmt(), optimize_target_teams(), optimize_va_list_gpr_fpr_size(), optimize_vec_cond_expr(), optimize_vector_constructor(), optimize_weakref(), opts_for_fn(), or_comparisons_1(), or_var_with_comparison(), or_var_with_comparison_1(), output_constructor(), output_constructor_array_range(), output_constructor_bitfield(), output_constructor_regular_field(), output_function(), output_ssa_names(), output_ttype(), uninit_analysis::overlap(), pack_ts_type_common_value_fields(), pad_to_arg_alignment(), parallel_g::parallel_g(), parloops_is_simple_reduction(), parm_object_size(), parm_preserved_before_stmt_p(), parm_ref_data_pass_through_p(), partition_view_init(), pass_through_call(), perm_mask_for_reverse(), loop_distribution::pg_add_dependence_edges(), phi_alternatives_equal(), phi_translate_1(), phiprop_insert_phi(), phivn_valid_p(), pointer_may_wrap_p(), poly_int_binop(), polymorphic_ctor_dtor_p(), pop_cfun_1(), populate_coalesce_list_for_outofssa(), predicate_bbs(), predicate_load_or_store(), predicate_rhs_code(), predicate_scalar_phi(), predicate_statements(), gimple_ranger::prefill_stmt_dependencies(), prepare_call_address(), prepare_call_arguments(), ipa_param_body_adjustments::prepare_debug_expressions(), prepare_decl_rtl(), pcom_worker::prepare_finalizers_chain(), pcom_worker::prepare_initializers_chain(), prepare_instrumented_value(), prepare_libcall_arg(), prepare_perfect_loop_nest(), preprocess_case_label_vec_for_gimple(), private_lookup_attribute(), process_assignment(), process_bb(), process_symver_attribute(), promote_function_mode(), promote_mode(), scc_copy_prop::propagate(), propagate_aggregate_lattice(), propagate_bits_across_jump_function(), propagate_necessity(), propagate_tree_value_into_stmt(), propagate_vals_across_pass_through(), propagate_with_phi(), prototype_p(), prune_expr_location(), ptrs_compare_unequal(), purge_all_uses(), purpose_member(), push_cfun(), push_dummy_function(), push_fields_onto_fieldstack(), const_and_copies::push_marker(), vn_walk_cb_data::push_partial_def(), range_check_type(), range_entry_cmp(), fold_using_range::range_of_address(), fold_using_range::range_of_phi(), gimple_ranger::range_of_stmt(), range_predecessor(), range_successor(), read_vector_array(), real_from_string(), reassociate_bb(), recompute_tree_invariant_for_addr_expr(), record_estimate(), record_increment(), record_reference(), record_stmt_cost(), jump_threader::record_temporary_equivalences_from_stmts_at_dest(), cgraph_edge::redirect_call_stmt_to_callee(), redirect_to_specific_clone(), reduce_vector_comparison_to_scalar_comparison(), ref_at_iteration(), ref_maybe_used_by_call_p_1(), reference_alias_ptr_type(), reference_alias_ptr_type_1(), reference_to_unused(), register_asm_p(), range_def_chain::register_dependency(), fur_relation::register_relation(), ipa_param_body_adjustments::register_replacement(), dom_oracle::register_transitives(), release_defs_bitset(), release_last_vdef(), release_ssa_name_fn(), remap_blocks_to_null(), remap_decls(), remap_gimple_op_r(), remap_gimple_stmt(), remap_type_1(), remap_type_3(), remap_vla_decls(), ipa_param_body_adjustments::remap_with_debug_expressions(), remove_attributes_matching(), remove_gimple_phi_args(), remove_prop_source_from_use(), remove_unused_ivs(), remove_unused_locals(), reorder_blocks(), reorder_blocks_1(), replace_locals_op(), replace_locals_stmt(), replace_names_by_phis(), ipa_param_body_adjustments::replace_removed_params_ssa_names(), replace_stmt_with_simplification(), replace_trapping_overflow(), substitute_and_fold_engine::replace_uses_in(), reserve_phi_args_for_new_edge(), reset_debug_binding(), ipa_param_body_adjustments::reset_debug_stmts(), rewrite_debug_stmt_uses(), rewrite_phi_with_iv(), rewrite_trees(), rewrite_update_phi_arguments(), rewrite_use_address(), rewrite_use_compare(), rewrite_use_nonlinear_expr(), round_down_loc(), round_up_loc(), rt_bb_visited::rt_bb_visited(), safe_from_p(), same_strub_mode_in_variants_p(), sanitize_coverage_p(), sanitize_flags_p(), sanitize_unreachable_fn(), crc_optimization::satisfies_crc_loop_iteration_count(), scan_function(), scan_insn(), scan_omp_1_op(), scan_omp_1_stmt(), scan_omp_parallel(), scan_omp_simd_scan(), scan_operand_equal_p(), scan_sharing_clauses(), scev_initialize(), scev_reset(), self_referential_size(), separate_decls_in_region_name(), sese_add_exit_phis_edge(), set_builtin_decl(), set_builtin_decl_declared_p(), set_builtin_decl_implicit_p(), set_call_expr_flags(), set_cfun(), set_cond_stmt_execution_predicate(), set_decl_origin_self(), set_ifsese_condition(), range_def_chain::set_import(), set_mem_attributes_minus_bitpos(), set_rtl(), set_ssa_val_to(), set_stack_check_libfunc(), set_strlen_range(), set_value_varying(), setjmp_or_longjmp_p(), shortcut_cond_expr(), shortcut_cond_r(), sign_bit_p(), sign_mask_for(), signed_or_unsigned_type_for(), simd_clone_adjust(), simd_clone_adjust_argument_types(), simd_clone_call_p(), simd_clone_clauses_extract(), simd_clone_init_simd_arrays(), simd_clone_linear_addend(), simd_clone_mangle(), simple_cst_equal(), simple_cst_list_equal(), simple_iv_with_niters(), simple_type_size_in_bits(), simplify_using_ranges::simplify(), avail_exprs_stack::simplify_binary_operation(), simplify_using_ranges::simplify_bit_ops_using_ranges(), simplify_builtin_call(), simplify_const_binop(), jump_threader::simplify_control_stmt_condition_1(), simplify_count_trailing_zeroes(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), simplify_gimple_switch(), simplify_gimple_switch_label_vec(), simplify_using_ranges::simplify_internal_call_using_ranges(), simplify_peeled_chrec(), simplify_permutation(), simplify_replace_tree(), simplify_rotate(), simplify_using_ranges::simplify_switch_using_ranges(), simplify_using_outer_evolutions(), simplify_vector_constructor(), ssa_propagation_engine::simulate_stmt(), single_phi_def(), single_ssa_tree_operand(), size_binop_loc(), size_in_bytes_loc(), slpeel_add_loop_guard(), slpeel_tree_duplicate_loop_to_edge_cfg(), slsr_process_phi(), sm_seq_push_down(), sm_seq_valid_bb(), spaceship_replacement(), spill_slot_alignment(), split_address_to_core_and_offset(), split_at_bb_p(), split_complex_args(), split_complex_types(), split_constant_offset_1(), pcom_worker::split_data_refs_to_components(), split_function(), split_loop(), sra_modify_assign(), sra_modify_expr(), sra_modify_function_body(), ssa_default_def(), ssa_redirect_edge(), ssa_uniform_vector_p(), stabilize_reference(), operands_scanner::start_ssa_stmt_operands(), std_canonical_va_list_type(), stdarg_p(), stmt_can_terminate_bb_p(), stmt_could_throw_p(), stmt_kills_ref_p(), stmt_local_def(), stmt_may_generate_copy(), store_constructor(), strdup_object_size(), stream_read_tree_ref(), streamer_alloc_tree(), streamer_read_chain(), streamer_read_chain(), streamer_write_chain(), streamer_write_chain(), streamer_write_tree_header(), strip_bit_not(), strip_conversion(), strip_invariant_refs(), strip_nop_cond_scalar_reduction(), strip_offset_1(), strip_predict_hints(), strub_set_fndt_mode_to(), strub_watermark_parm(), strlen_pass::strxcmp_eqz_result(), subscript_dependence_tester_1(), substitute_in_expr(), substitute_placeholder_in_expr(), subtract_estimated_size(), supportable_indirect_convert_operation(), surely_varying_stmt_p(), take_address_of(), target_for_debug_bind(), target_opts_for_fn(), ter_is_replaceable_p(), jump_threader::thread_around_empty_blocks(), thunk_adjust(), tls_mem_loc_descriptor(), totally_scalarizable_type_p(), totally_scalarize_subtree(), tracked_record_parameter_p(), transform_add_to_multiply(), transform_to_exit_first_loop(), translate_vuse_through_block(), tree_contains_chrecs(), tree_could_trap_p(), tree_fits_poly_int64_p(), tree_fits_poly_uint64_p(), tree_fits_shwi_p(), tree_fits_uhwi_p(), tree_fold_binomial(), tree_function_versioning(), tree_invalid_nonnegative_warnv_p(), tree_invariant_p_1(), tree_mem_ref_addr(), tree_optimize_tail_calls_1(), tree_simplify_using_condition_1(), tree_ssa_prefetch_arrays(), tree_transform_and_unroll_loop(), try_add_cand_for(), try_conditional_simplification(), try_create_reduction_list(), try_make_edge_direct_simple_call(), try_make_edge_direct_virtual_call(), try_special_add_to_ops(), tree_switch_conversion::switch_decision_tree::try_switch_expansion(), try_to_simplify(), try_transform_to_exit_first_loop_alt(), tsan_finish_file(), type_argument_type(), type_for_widest_vector_mode(), ubsan_build_overflow_builtin(), ubsan_create_data(), ubsan_encode_value(), ubsan_expand_bounds_ifn(), ubsan_expand_null_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_ptr_ifn(), ubsan_expand_vptr_ifn(), ubsan_get_type_descriptor_type(), ubsan_instrument_float_cast(), ubsan_source_location(), ubsan_type_descriptor(), loop_cand::undo_simple_reduction(), uniform_integer_cst_p(), uniform_vector_p(), unmark_visited_r(), unmodified_parm(), unmodified_parm_1(), unshare_and_remap_1(), unterminated_array(), update_alias_info_with_stack_vars(), update_alignment_for_field(), update_epilogue_loop_vinfo(), update_nonlocal_goto_save_area(), update_ops(), update_range_test(), update_ssa(), use_internal_fn(), used_types_insert(), useless_type_conversion_p(), valid_builtin_call(), valid_mem_ref_cand_p(), value_dies_in_block_x(), value_member(), copy_folder::value_of_expr(), range_query::value_of_expr(), range_query::value_of_stmt(), substitute_and_fold_engine::value_of_stmt(), range_query::value_on_edge(), range_query::value_on_entry(), range_query::value_on_exit(), value_relation::value_relation(), value_replacement(), valueize_op_1(), valueized_wider_op(), values_equal_for_ipcp_p(), var_to_partition_to_var(), varasm_cc_finalize(), vec2chain(), vect_add_slp_permutation(), vect_analyze_scalar_cycles_1(), vect_analyze_stmt(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), vect_build_slp_instance(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_can_advance_ivs_p(), vect_can_peel_nonlinear_iv_p(), vect_check_gather_scatter(), vect_create_cond_for_align_checks(), vect_create_constant_vectors(), vect_create_data_ref_ptr(), vect_create_epilog_for_reduction(), vect_create_oprnd_info(), vect_create_vectorized_promotion_stmts(), vect_describe_gather_scatter_call(), vect_detect_hybrid_slp(), vect_determine_vectorization_factor(), vect_do_peeling(), vect_embedded_comparison_type(), vect_estimate_min_profitable_iters(), vect_expand_fold_left(), vect_gen_vector_loop_niters(), vect_get_and_check_slp_defs(), vect_get_datarefs_in_loop(), vect_get_gather_scatter_ops(), vect_get_load_store_mask(), vect_get_loop_len(), vect_get_loop_niters(), vect_get_strided_load_store_ops(), vect_get_vec_defs(), vect_get_vector_types_for_stmt(), vect_gimple_build(), vect_is_simple_cond(), vect_is_simple_iv_evolution(), vect_is_simple_use(), vect_look_through_possible_promotion(), vect_loop_versioning(), vect_prepare_for_masked_peels(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_build_binary_gimple_stmt(), vect_recog_cond_store_pattern(), vect_recog_divmod_pattern(), vect_recog_gcond_pattern(), vect_recog_mask_conversion_pattern(), vect_recog_mult_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_rotate_pattern(), vect_recog_sat_sub_pattern_transform(), vect_recog_sat_trunc_pattern(), vect_recog_vector_vector_shift_pattern(), vect_set_loop_condition_normal(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), vect_set_loop_controls_directly(), vect_setup_realignment(), vect_slp_check_for_roots(), vect_slp_convert_to_external(), vect_slp_tree_uniform_p(), vect_synth_mult_by_constant(), vect_transform_cycle_phi(), vect_transform_loop(), vect_transform_reduction(), vect_transform_slp_perm_load_1(), vect_truncate_gather_scatter_offset(), vect_verify_full_masking(), vect_verify_full_masking_avx512(), vect_verify_loop_lens(), vector_const_binop(), vector_element(), vector_vector_composition_type(), vectorizable_call(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_conversion(), vectorizable_early_exit(), vectorizable_induction(), vectorizable_live_operation(), vectorizable_live_operation_1(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_recurr(), vectorizable_reduction(), vectorizable_scan_store(), vectorizable_shift(), vectorizable_simd_clone_call(), vectorizable_slp_permutation_1(), vectorizable_store(), vectorize_fold_left_reduction(), vectorize_slp_instance_root_stmt(), verify_bb_vtables(), verify_gimple_assign_single(), verify_gimple_switch(), verify_live_on_entry(), verify_location(), verify_non_ssa_vars(), verify_phi_args(), verify_ssa_name(), version_loop_by_alias_check(), version_to_var(), rt_bb_visited::visit(), ccp_propagate::visit_phi(), copy_prop::visit_phi(), visit_phi(), visit_reference_op_call(), visit_reference_op_load(), ccp_propagate::visit_stmt(), vn_lookup_simplify_result(), vn_nary_build_or_lookup_1(), vn_nary_may_trap(), vn_nary_op_get_predicated_value(), vn_nary_op_insert_pieces_predicated(), vn_nary_op_lookup_1(), vn_nary_simplify(), vn_phi_insert(), vn_phi_lookup(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_1(), vn_reference_lookup_2(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), vn_reference_lookup_pieces(), vn_valnum_from_value_id(), vn_walk_cb_data::vn_walk_cb_data(), voidify_wrapper_expr(), rt_bb_visited::vset(), vt_get_decl_and_offset(), vtable_pointer_value_to_binfo(), vtbl_find_mangled_name(), vtbl_register_mangled_name(), vuse_semi_invariant_p(), vuse_ssa_val(), vuse_valueize(), walk_gimple_asm(), walk_gimple_op(), walk_gimple_seq_mod(), walk_make_indirect(), walk_regimplify_addr_expr(), walk_stmt_load_store_addr_ops(), walk_tree_1(), walk_type_fields(), warn_deprecated_use(), warn_implicit_fallthrough_r(), warn_switch_unreachable_and_auto_init_r(), warn_uninit(), weak_finish(), widen_memory_access(), will_be_nonconstant_expr_predicate(), will_be_nonconstant_predicate(), worker_single_copy(), worker_single_simple(), wrap_refs(), write_ts_binfo_tree_pointers(), write_ts_decl_common_tree_pointers(), write_ts_decl_minimal_tree_pointers(), write_ts_decl_with_vis_tree_pointers(), write_ts_raw_data_cst_tree_pointers(), write_vector_array(), and zero_length_string().
#define NUMERICAL_TYPE_CHECK | ( | T | ) |
#define OACC_CACHE_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_oacc_cache().
#define OACC_DATA_BODY | ( | NODE | ) |
#define OACC_DATA_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OACC_DECLARE_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_oacc_declare().
#define OACC_ENTER_DATA_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OACC_EXIT_DATA_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OACC_HOST_DATA_BODY | ( | NODE | ) |
#define OACC_HOST_DATA_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OACC_UPDATE_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OBJ_TYPE_REF_EXPR | ( | NODE | ) |
OBJ_TYPE_REF accessors.
Referenced by dump_generic_node(), expand_expr_real_1(), fold_gimple_assign(), ipa_polymorphic_call_context::get_dynamic_type(), get_fi_for_callee(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), gimplify_expr(), operand_compare::hash_operand(), ipa_tm_insert_gettmclone_call(), operand_compare::operand_equal_p(), and prepare_call_arguments().
#define OBJ_TYPE_REF_OBJECT | ( | NODE | ) |
Referenced by dump_generic_node(), eliminate_dom_walker::eliminate_stmt(), gimplify_expr(), operand_compare::hash_operand(), ipa_analyze_call_uses(), ipa_analyze_virtual_call_uses(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), operand_compare::operand_equal_p(), and walk_stmt_load_store_addr_ops().
#define OBJ_TYPE_REF_TOKEN | ( | NODE | ) |
Referenced by cgraph_node::create_indirect_edge(), dump_generic_node(), eliminate_dom_walker::eliminate_stmt(), operand_compare::hash_operand(), ipa_analyze_call_uses(), ipa_analyze_virtual_call_uses(), operand_compare::operand_equal_p(), possible_polymorphic_call_target_p(), possible_polymorphic_call_targets(), and prepare_call_arguments().
#define OMP_ATOMIC_MEMORY_ORDER | ( | NODE | ) |
Memory order for OMP_ATOMIC*.
Referenced by dump_generic_node(), gimplify_omp_atomic(), and lower_reduction_clauses().
#define OMP_ATOMIC_WEAK | ( | NODE | ) |
Weak clause on OMP_ATOMIC*.
Referenced by dump_generic_node(), and gimplify_omp_atomic().
#define OMP_BODY | ( | NODE | ) |
OpenMP and OpenACC directive and clause accessors.
Generic accessors for OMP nodes that keep the body as operand 0, and clauses as operand 1.
Referenced by dump_generic_node(), gimplify_expr(), gimplify_omp_for(), gimplify_omp_workshare(), and optimize_target_teams().
#define OMP_CLAUSE__CACHE__READONLY | ( | NODE | ) |
#define OMP_CLAUSE__CONDTEMP__ITER | ( | NODE | ) |
_CONDTEMP_ holding temporary with iteration count.
Referenced by lower_lastprivate_conditional_clauses(), lower_omp_1(), lower_rec_input_clauses(), and scan_sharing_clauses().
#define OMP_CLAUSE__SCANTEMP__ALLOC | ( | NODE | ) |
_SCANTEMP_ holding temporary with pointer to thread's local array; allocation.
Referenced by expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), lower_omp_for_scan(), and omp_extract_for_data().
#define OMP_CLAUSE__SCANTEMP__CONTROL | ( | NODE | ) |
_SCANTEMP_ holding temporary with a control variable for deallocation; one boolean_type_node for test whether alloca was used, another one to pass to __builtin_stack_restore or free.
Referenced by expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), lower_omp_for_scan(), and omp_extract_for_data().
#define OMP_CLAUSE__SIMDUID__DECL | ( | NODE | ) |
Referenced by dump_omp_clause(), expand_omp_simd(), lower_lastprivate_clauses(), lower_omp_scan(), and lower_rec_input_clauses().
#define OMP_CLAUSE_ALIGNED_ALIGNMENT | ( | NODE | ) |
#define OMP_CLAUSE_ALLOCATE_ALIGN | ( | NODE | ) |
Referenced by dump_omp_clause(), and scan_sharing_clauses().
#define OMP_CLAUSE_ALLOCATE_ALLOCATOR | ( | NODE | ) |
#define OMP_CLAUSE_ALLOCATE_COMBINED | ( | NODE | ) |
True if an ALLOCATE clause was present on a combined or composite construct and the code for splitting the clauses has already performed checking if the listed variable has explicit privatization on the construct.
#define OMP_CLAUSE_ASYNC_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_omp_target().
#define OMP_CLAUSE_ATTACHMENT_MAPPING_ERASED | ( | NODE | ) |
Nonzero for an attach/detach node whose decl was explicitly mapped on the same directive.
Referenced by omp_accumulate_sibling_list(), and omp_resolve_clause_dependencies().
#define OMP_CLAUSE_BIND_KIND | ( | NODE | ) |
Referenced by dump_omp_clause(), and gimplify_omp_loop().
#define OMP_CLAUSE_CHAIN | ( | NODE | ) |
Referenced by add_async_clauses_and_wait(), add_parent_or_loop_num_clause(), add_taskreg_looptemp_clauses(), adjust_nested_loop_clauses(), build_omp_struct_comp_nodes(), check_oacc_kernel_gwv(), check_omp_nesting_restrictions(), convert_gimple_call(), convert_local_omp_clauses(), convert_local_reference_stmt(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), create_task_copyfn(), debug_mapping_group(), decompose_kernels_region_body(), DFS::DFS_write_tree_body(), dump_omp_clauses(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_source_sink(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_task_call(), find_lastprivate_looptemp(), finish_taskreg_scan(), get_ws_args_for(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_oacc_declare(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_ordered(), gimplify_omp_target_update(), gimplify_omp_task(), gimplify_omp_taskloop_expr(), gimplify_omp_workshare(), gimplify_scan_omp_clauses(), hash_tree(), lower_copyprivate_clauses(), lower_depend_clauses(), lower_lastprivate_clauses(), lower_lastprivate_conditional_clauses(), lower_oacc_head_mark(), lower_oacc_reductions(), lower_omp_1(), lower_omp_for(), lower_omp_for_lastprivate(), lower_omp_for_scan(), lower_omp_ordered_clauses(), lower_omp_scan(), lower_omp_scope(), lower_omp_sections(), lower_omp_target(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), lto_input_ts_omp_clause_tree_pointers(), make_region_seq(), maybe_build_inner_data_region(), oacc_build_routine_dims(), oacc_privatization_scan_clause_chain(), oacc_verify_routine_clauses(), omp_accumulate_sibling_list(), omp_build_struct_sibling_lists(), omp_construct_simd_compare(), omp_declare_simd_clauses_equal(), omp_directive_maps_explicitly(), omp_extract_for_data(), omp_find_clause(), omp_gather_mapping_groups_1(), omp_get_attachment(), omp_group_base(), omp_group_last(), omp_index_mapping_groups_1(), omp_oacc_kernels_decompose_1(), omp_reorder_mapping_groups(), omp_resolve_clause_dependencies(), omp_siblist_insert_node_after(), omp_siblist_move_concat_nodes_after(), omp_siblist_move_node_after(), omp_siblist_move_nodes_after(), omp_task_reduction_iterate(), omp_task_reductions_find_first(), optimize_target_teams(), scan_omp_for(), scan_omp_parallel(), scan_omp_simd(), scan_sharing_clauses(), simd_clone_clauses_extract(), transform_kernels_loop_clauses(), use_pointer_for_field(), visit_loops_in_gang_single_region(), walk_tree_1(), and write_ts_omp_clause_tree_pointers().
#define OMP_CLAUSE_CODE | ( | NODE | ) |
Referenced by adjust_nested_loop_clauses(), build_omp_struct_comp_nodes(), check_oacc_kernel_gwv(), check_omp_nesting_restrictions(), convert_gimple_call(), convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), convert_tramp_reference_stmt(), copy_tree_body_r(), create_task_copyfn(), decompose_kernels_region_body(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_omp_clause(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_omp_target(), finish_taskreg_scan(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_call_expr(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_ordered(), gimplify_omp_target_update(), gimplify_omp_task(), gimplify_omp_workshare(), gimplify_scan_omp_clauses(), hash_tree(), lower_copyprivate_clauses(), lower_depend_clauses(), lower_lastprivate_clauses(), lower_lastprivate_conditional_clauses(), lower_oacc_head_mark(), lower_oacc_reductions(), lower_omp_for(), lower_omp_for_scan(), lower_omp_ordered_clauses(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), lto_input_ts_omp_clause_tree_pointers(), oacc_build_routine_dims(), oacc_privatization_begin_diagnose_var(), oacc_privatization_scan_clause_chain(), oacc_resolve_clause_dependencies(), oacc_verify_routine_clauses(), omp_build_struct_sibling_lists(), omp_check_mapping_compatibility(), omp_construct_simd_compare(), omp_declare_simd_clauses_equal(), omp_extract_for_data(), omp_find_clause(), omp_gather_mapping_groups_1(), omp_group_last(), omp_map_clause_descriptor_p(), omp_oacc_kernels_decompose_1(), omp_resolve_clause_dependencies(), omp_segregate_mapping_groups(), optimize_target_teams(), pack_ts_omp_clause_value_fields(), print_node(), replace_locals_op(), scan_omp_1_stmt(), scan_omp_for(), scan_omp_simd_scan(), scan_sharing_clauses(), simd_clone_clauses_extract(), streamer_write_tree_header(), transform_kernels_loop_clauses(), tree_size(), unpack_ts_omp_clause_value_fields(), use_pointer_for_field(), user_omp_clause_code_name(), visit_loops_in_gang_single_region(), walk_tree_1(), and write_ts_omp_clause_tree_pointers().
#define OMP_CLAUSE_COLLAPSE_COUNT | ( | NODE | ) |
Referenced by omp_extract_for_data().
#define OMP_CLAUSE_COLLAPSE_EXPR | ( | NODE | ) |
Referenced by check_omp_nesting_restrictions(), dump_omp_clause(), gimplify_omp_for(), and omp_extract_for_data().
#define OMP_CLAUSE_COLLAPSE_ITERVAR | ( | NODE | ) |
Referenced by omp_extract_for_data().
#define OMP_CLAUSE_DECL | ( | NODE | ) |
Referenced by add_taskreg_looptemp_clauses(), build_omp_struct_comp_nodes(), convert_gimple_call(), convert_local_omp_clauses(), convert_local_reference_stmt(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), copy_tree_body_r(), create_task_copyfn(), decompose_kernels_region_body(), determine_parallel_type(), dump_omp_clause(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_parallel_call(), expand_task_call(), expand_taskwait_call(), finish_taskreg_scan(), get_ws_args_for(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_call_expr(), gimplify_oacc_declare(), gimplify_oacc_declare_1(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_ordered(), gimplify_omp_taskloop_expr(), gimplify_scan_omp_clauses(), lower_copyprivate_clauses(), lower_depend_clauses(), lower_lastprivate_clauses(), lower_lastprivate_conditional_clauses(), lower_oacc_reductions(), lower_omp_1(), lower_omp_for(), lower_omp_for_lastprivate(), lower_omp_for_scan(), lower_omp_ordered_clauses(), lower_omp_scan(), lower_omp_scope(), lower_omp_sections(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), maybe_build_inner_data_region(), oacc_privatization_scan_clause_chain(), oacc_resolve_clause_dependencies(), omp_accumulate_sibling_list(), omp_build_struct_sibling_lists(), omp_check_mapping_compatibility(), omp_construct_simd_compare(), omp_declare_simd_clauses_equal(), omp_default_clause(), omp_extract_for_data(), omp_get_attachment(), omp_group_base(), omp_index_mapping_groups_1(), omp_oacc_kernels_decompose_1(), omp_resolve_clause_dependencies(), omp_task_reduction_iterate(), omp_tsort_mapping_groups_1(), scan_omp_for(), scan_omp_parallel(), scan_omp_simd_scan(), scan_sharing_clauses(), simd_clone_clauses_extract(), and use_pointer_for_field().
#define OMP_CLAUSE_DEFAULT_KIND | ( | NODE | ) |
Referenced by dump_omp_clause(), gimplify_scan_omp_clauses(), hash_tree(), pack_ts_omp_clause_value_fields(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_DEFAULTMAP_BEHAVIOR | ( | NODE | ) |
Referenced by dump_omp_clause(), and gimplify_scan_omp_clauses().
#define OMP_CLAUSE_DEFAULTMAP_CATEGORY | ( | NODE | ) |
Referenced by dump_omp_clause(), and gimplify_scan_omp_clauses().
#define OMP_CLAUSE_DEFAULTMAP_KIND | ( | NODE | ) |
#define OMP_CLAUSE_DEFAULTMAP_SET_KIND | ( | NODE, | |
BEHAVIOR, | |||
CATEGORY ) |
#define OMP_CLAUSE_DEPEND_KIND | ( | NODE | ) |
Referenced by dump_omp_clause(), gimplify_omp_depend(), gimplify_omp_task(), hash_tree(), lower_depend_clauses(), pack_ts_omp_clause_value_fields(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_DEVICE_ANCESTOR | ( | NODE | ) |
True if there is a device clause with a device-modifier 'ancestor'.
Referenced by check_omp_nesting_restrictions(), dump_omp_clause(), expand_omp_target(), gimplify_scan_omp_clauses(), omp_discover_declare_target_fn_r(), omp_discover_declare_target_tgt_fn_r(), and scan_omp_1_stmt().
#define OMP_CLAUSE_DEVICE_ID | ( | NODE | ) |
Referenced by dump_omp_clause(), expand_omp_target(), gimplify_call_expr(), gimplify_omp_dispatch(), and gimplify_scan_omp_clauses().
#define OMP_CLAUSE_DEVICE_TYPE_KIND | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_DIST_SCHEDULE_CHUNK_EXPR | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), dump_omp_clause(), and omp_extract_for_data().
#define OMP_CLAUSE_DOACROSS_DEPEND | ( | NODE | ) |
True if DOACROSS clause is spelled as DEPEND.
Referenced by check_omp_nesting_restrictions(), dump_omp_clause(), expand_omp_ordered_sink(), and gimplify_omp_ordered().
#define OMP_CLAUSE_DOACROSS_KIND | ( | NODE | ) |
Referenced by check_omp_nesting_restrictions(), dump_omp_clause(), expand_omp_ordered_source_sink(), gimplify_omp_ordered(), gimplify_scan_omp_clauses(), hash_tree(), lower_omp_ordered_clauses(), pack_ts_omp_clause_value_fields(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_DOACROSS_SINK_NEGATIVE | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_omp_ordered_sink().
#define OMP_CLAUSE_ENTER_TO | ( | NODE | ) |
True if ENTER clause is spelled as TO.
Referenced by dump_omp_clause().
#define OMP_CLAUSE_EXPR | ( | NODE, | |
CLAUSE ) |
OpenACC clause expressions
Referenced by oacc_set_fn_attrib().
#define OMP_CLAUSE_FILTER_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and lower_omp_master().
#define OMP_CLAUSE_FINAL_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_task_call().
#define OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT | ( | NODE | ) |
True on a FIRSTPRIVATE clause if it has been added implicitly.
Referenced by gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_scan_omp_clauses(), lower_omp_target(), and lower_send_clauses().
#define OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET | ( | NODE | ) |
True on a FIRSTPRIVATE clause with OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT also set if target construct is the only one that accepts the clause.
Referenced by gimplify_adjust_omp_clauses().
#define OMP_CLAUSE_FIRSTPRIVATE_NO_REFERENCE | ( | NODE | ) |
True on a FIRSTPRIVATE clause if only the reference and not what it refers to should be firstprivatized.
Referenced by gimplify_omp_for(), and lower_rec_input_clauses().
#define OMP_CLAUSE_GANG_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and scan_omp_for().
#define OMP_CLAUSE_GANG_STATIC_EXPR | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), dump_omp_clause(), and lower_oacc_head_mark().
#define OMP_CLAUSE_GRAINSIZE_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_task_call().
#define OMP_CLAUSE_GRAINSIZE_STRICT | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_task_call().
#define OMP_CLAUSE_HAS_LOCATION | ( | NODE | ) |
#define OMP_CLAUSE_HINT_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_IF_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), expand_omp_simd(), expand_omp_target(), expand_parallel_call(), expand_task_call(), and lower_rec_input_clauses().
#define OMP_CLAUSE_IF_MODIFIER | ( | NODE | ) |
Referenced by dump_omp_clause(), and gimplify_scan_omp_clauses().
#define OMP_CLAUSE_INDIRECT_EXPR | ( | NODE | ) |
#define OMP_CLAUSE_INIT_PREFER_TYPE | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_INIT_TARGET | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_INIT_TARGETSYNC | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_LASTPRIVATE_CONDITIONAL | ( | NODE | ) |
True if a LASTPRIVATE clause has CONDITIONAL: modifier.
Referenced by dump_omp_clause(), expand_omp_sections(), gimplify_adjust_omp_clauses(), gimplify_omp_for(), gimplify_scan_omp_clauses(), lower_lastprivate_clauses(), lower_lastprivate_conditional_clauses(), lower_rec_input_clauses(), and omp_extract_for_data().
#define OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE | ( | NODE | ) |
True on a LASTPRIVATE clause if a FIRSTPRIVATE clause for the same decl is present in the chain.
Referenced by gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_omp_for(), gimplify_omp_loop(), lower_lastprivate_clauses(), lower_rec_input_clauses(), lower_send_clauses(), and scan_sharing_clauses().
#define OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), gimplify_omp_for(), gimplify_scan_omp_clauses(), lower_lastprivate_clauses(), replace_locals_op(), and scan_sharing_clauses().
#define OMP_CLAUSE_LASTPRIVATE_LOOP_IV | ( | NODE | ) |
True if a LASTPRIVATE clause is for a C++ class IV on taskloop or loop construct (thus should be lastprivate on the outer taskloop and firstprivate on task for the taskloop construct and carefully handled for loop construct).
Referenced by gimplify_omp_for(), gimplify_omp_loop(), lower_lastprivate_clauses(), and lower_rec_input_clauses().
#define OMP_CLAUSE_LASTPRIVATE_STMT | ( | NODE | ) |
Referenced by gimplify_omp_loop(), and gimplify_scan_omp_clauses().
#define OMP_CLAUSE_LINEAR_ARRAY | ( | NODE | ) |
True if a LINEAR clause is for an array or allocatable variable that needs special handling by the frontend.
Referenced by lower_rec_input_clauses().
#define OMP_CLAUSE_LINEAR_GIMPLE_SEQ | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), gimplify_omp_for(), gimplify_scan_omp_clauses(), lower_lastprivate_clauses(), replace_locals_op(), and scan_sharing_clauses().
#define OMP_CLAUSE_LINEAR_KIND | ( | NODE | ) |
Referenced by dump_omp_clause(), omp_construct_simd_compare(), and simd_clone_clauses_extract().
#define OMP_CLAUSE_LINEAR_NO_COPYIN | ( | NODE | ) |
True if a LINEAR clause doesn't need copy in. True for iterator vars which are always initialized inside of the loop construct, false otherwise.
Referenced by expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), gimplify_adjust_omp_clauses(), gimplify_omp_for(), gimplify_scan_omp_clauses(), lower_lastprivate_clauses(), lower_omp_for(), and lower_rec_input_clauses().
#define OMP_CLAUSE_LINEAR_NO_COPYOUT | ( | NODE | ) |
True if a LINEAR clause doesn't need copy out. True for iterator vars which are declared inside of the simd construct.
Referenced by gimplify_adjust_omp_clauses(), gimplify_omp_for(), gimplify_scan_omp_clauses(), lower_lastprivate_clauses(), and lower_rec_input_clauses().
#define OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER | ( | NODE | ) |
True for a LINEAR clause with old style modifier syntax linear(modifier(list)) or linear(modifier(list):step).
Referenced by dump_omp_clause().
#define OMP_CLAUSE_LINEAR_STEP | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), dump_omp_clause(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), gimplify_omp_for(), gimplify_scan_omp_clauses(), lower_omp_for(), lower_rec_input_clauses(), omp_construct_simd_compare(), omp_declare_simd_clauses_equal(), and simd_clone_clauses_extract().
#define OMP_CLAUSE_LINEAR_STMT | ( | NODE | ) |
Referenced by gimplify_scan_omp_clauses().
#define OMP_CLAUSE_LINEAR_VARIABLE_STRIDE | ( | NODE | ) |
True if a LINEAR clause has a stride that is variable.
Referenced by omp_construct_simd_compare(), and simd_clone_clauses_extract().
#define OMP_CLAUSE_LOCATION | ( | NODE | ) |
Referenced by add_parent_or_loop_num_clause(), adjust_nested_loop_clauses(), build_omp_clause(), build_omp_struct_comp_nodes(), check_omp_nesting_restrictions(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_target(), expand_parallel_call(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_call_expr(), gimplify_oacc_declare_1(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_ordered(), gimplify_omp_task(), gimplify_scan_omp_clauses(), lower_copyprivate_clauses(), lower_lastprivate_clauses(), lower_omp_for_scan(), lower_omp_ordered_clauses(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), oacc_privatization_scan_clause_chain(), oacc_resolve_clause_dependencies(), oacc_verify_routine_clauses(), omp_accumulate_sibling_list(), omp_build_struct_sibling_lists(), omp_oacc_kernels_decompose_1(), omp_reduction_init(), omp_resolve_clause_dependencies(), optimize_target_teams(), pack_ts_omp_clause_value_fields(), scan_omp_for(), scan_sharing_clauses(), simd_clone_clauses_extract(), transform_kernels_loop_clauses(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE | ( | NODE | ) |
Flag that 'OMP_CLAUSE_DECL (NODE)' is to be made addressable during OMP lowering.
Referenced by maybe_build_inner_data_region(), omp_oacc_kernels_decompose_1(), and scan_sharing_clauses().
#define OMP_CLAUSE_MAP_IMPLICIT | ( | NODE | ) |
Nonzero on map clauses added implicitly for reduction clauses on combined or composite constructs. They shall be removed if there is an explicit map clause.
#define OMP_CLAUSE_MAP_IN_REDUCTION | ( | NODE | ) |
Nonzero if this map clause is for an OpenACC compute construct's reduction variable or OpenMP map clause mentioned also in in_reduction clause on the same construct.
Referenced by gimplify_adjust_omp_clauses(), gimplify_scan_omp_clauses(), lower_omp_target(), and scan_sharing_clauses().
#define OMP_CLAUSE_MAP_KIND | ( | NODE | ) |
Referenced by build_omp_struct_comp_nodes(), device_resident_p(), dump_omp_clause(), gimplify_adjust_omp_clauses(), gimplify_oacc_declare_1(), gimplify_omp_target_update(), gimplify_scan_omp_clauses(), hash_tree(), lower_omp_target(), omp_accumulate_sibling_list(), omp_build_struct_sibling_lists(), omp_check_mapping_compatibility(), omp_directive_maps_explicitly(), omp_get_attachment(), omp_get_nonfirstprivate_group(), omp_group_base(), omp_group_last(), omp_map_clause_descriptor_p(), omp_oacc_kernels_decompose_1(), omp_resolve_clause_dependencies(), omp_segregate_mapping_groups(), pack_ts_omp_clause_value_fields(), scan_sharing_clauses(), and user_omp_clause_code_name().
#define OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION | ( | NODE | ) |
Nonzero if this is a mapped array section, that might need special treatment if OMP_CLAUSE_SIZE is zero.
Referenced by gimplify_adjust_omp_clauses_1(), lower_omp_target(), omp_accumulate_sibling_list(), and omp_resolve_clause_dependencies().
#define OMP_CLAUSE_MAP_READONLY | ( | NODE | ) |
Nonzero if OpenACC 'readonly' modifier set, used for 'copyin'.
Referenced by dump_omp_clause().
#define OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P | ( | NODE | ) |
Nonzero if this map clause is to be indicated to the runtime as 'implicit', due to being created through implicit data-mapping rules in the middle-end. NOTE: this is different than OMP_CLAUSE_MAP_IMPLICIT.
Referenced by dump_omp_clause(), gimplify_adjust_omp_clauses_1(), lower_omp_target(), and omp_tsort_mapping_groups().
#define OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION | ( | NODE | ) |
Nonzero if this map clause is for array (rather than pointer) based array section with zero bias. Both the non-decl OMP_CLAUSE_MAP and corresponding OMP_CLAUSE_MAP with GOMP_MAP_POINTER are marked with this flag.
Referenced by lower_omp_target(), and scan_sharing_clauses().
#define OMP_CLAUSE_MOTION_PRESENT | ( | NODE | ) |
Referenced by dump_omp_clause(), and lower_omp_target().
#define OMP_CLAUSE_NOCONTEXT_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), gimplify_omp_dispatch(), gimplify_scan_omp_clauses(), and omp_has_nocontext().
#define OMP_CLAUSE_NOVARIANTS_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), gimplify_omp_dispatch(), gimplify_scan_omp_clauses(), and omp_has_novariants().
#define OMP_CLAUSE_NUM_GANGS_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_NUM_TASKS_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_task_call().
#define OMP_CLAUSE_NUM_TASKS_STRICT | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_task_call().
#define OMP_CLAUSE_NUM_TEAMS_LOWER_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), gimplify_scan_omp_clauses(), lower_omp_teams(), and optimize_target_teams().
#define OMP_CLAUSE_NUM_TEAMS_UPPER_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), expand_teams_call(), get_target_arguments(), lower_omp_teams(), and optimize_target_teams().
#define OMP_CLAUSE_NUM_THREADS_EXPR | ( | NODE | ) |
Referenced by create_parallel_loop(), dump_omp_clause(), and expand_parallel_call().
#define OMP_CLAUSE_NUM_WORKERS_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_OPERAND | ( | NODE, | |
I ) |
Referenced by add_async_clauses_and_wait(), add_parent_or_loop_num_clause(), adjust_nested_loop_clauses(), convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), dequeue_and_dump(), DFS::DFS_write_tree_body(), gimplify_scan_omp_clauses(), hash_tree(), lto_input_ts_omp_clause_tree_pointers(), make_region_seq(), optimize_target_teams(), print_node(), scan_sharing_clauses(), transform_kernels_loop_clauses(), walk_tree_1(), and write_ts_omp_clause_tree_pointers().
#define OMP_CLAUSE_ORDER_REPRODUCIBLE | ( | NODE | ) |
#define OMP_CLAUSE_ORDER_UNCONSTRAINED | ( | NODE | ) |
True for unconstrained modifier on order(concurrent) clause.
Referenced by dump_omp_clause(), and omp_extract_for_data().
#define OMP_CLAUSE_ORDERED_DOACROSS | ( | NODE | ) |
True on an OMP_CLAUSE_ORDERED if stand-alone ordered construct is nested inside of work-sharing loop the clause is on.
Referenced by check_omp_nesting_restrictions(), gimplify_omp_for(), and omp_extract_for_data().
#define OMP_CLAUSE_ORDERED_EXPR | ( | NODE | ) |
Referenced by check_omp_nesting_restrictions(), dump_omp_clause(), and omp_extract_for_data().
#define OMP_CLAUSE_PARTIAL_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and omp_maybe_apply_loop_xforms().
#define OMP_CLAUSE_PRIORITY_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_task_call().
#define OMP_CLAUSE_PRIVATE_DEBUG | ( | NODE | ) |
True on a PRIVATE clause if its decl is kept around for debugging information only and its DECL_VALUE_EXPR is supposed to point to what it has been remapped to.
Referenced by gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), lower_rec_input_clauses(), and scan_sharing_clauses().
#define OMP_CLAUSE_PRIVATE_OUTER_REF | ( | NODE | ) |
True on a PRIVATE clause if ctor needs access to outer region's variable.
Referenced by create_task_copyfn(), gimplify_adjust_omp_clauses_1(), gimplify_scan_omp_clauses(), lower_rec_input_clauses(), lower_send_clauses(), and scan_sharing_clauses().
#define OMP_CLAUSE_PRIVATE_TASKLOOP_IV | ( | NODE | ) |
True if a PRIVATE clause is for a C++ class IV on taskloop construct (thus should be private on the outer taskloop and firstprivate on task).
Referenced by gimplify_omp_for().
#define OMP_CLAUSE_PROC_BIND_KIND | ( | NODE | ) |
Referenced by dump_omp_clause(), expand_parallel_call(), hash_tree(), pack_ts_omp_clause_value_fields(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_REDUCTION_CODE | ( | NODE | ) |
Referenced by dump_omp_clause(), hash_tree(), lower_oacc_reductions(), lower_omp_for_scan(), lower_omp_scan(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), omp_reduction_init(), pack_ts_omp_clause_value_fields(), scan_omp_for(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER | ( | NODE | ) |
#define OMP_CLAUSE_REDUCTION_GIMPLE_INIT | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), gimplify_scan_omp_clauses(), lower_omp_for_scan(), lower_omp_scan(), lower_rec_input_clauses(), replace_locals_op(), scan_sharing_clauses(), and write_ts_omp_clause_tree_pointers().
#define OMP_CLAUSE_REDUCTION_GIMPLE_MERGE | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), gimplify_scan_omp_clauses(), lower_omp_for_scan(), lower_omp_scan(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), replace_locals_op(), scan_sharing_clauses(), and write_ts_omp_clause_tree_pointers().
#define OMP_CLAUSE_REDUCTION_INIT | ( | NODE | ) |
Referenced by gimplify_omp_loop(), and gimplify_scan_omp_clauses().
#define OMP_CLAUSE_REDUCTION_INSCAN | ( | NODE | ) |
True if a REDUCTION clause has inscan reduction-modifier.
Referenced by dump_omp_clause(), gimplify_adjust_omp_clauses(), gimplify_omp_loop(), gimplify_scan_omp_clauses(), lower_omp_for_scan(), lower_omp_scan(), lower_rec_input_clauses(), scan_omp_1_stmt(), and scan_sharing_clauses().
#define OMP_CLAUSE_REDUCTION_MERGE | ( | NODE | ) |
Referenced by gimplify_omp_loop(), and gimplify_scan_omp_clauses().
#define OMP_CLAUSE_REDUCTION_OMP_ORIG_REF | ( | NODE | ) |
True if a REDUCTION clause may reference the original list item (omp_orig) in its OMP_CLAUSE_REDUCTION_{,GIMPLE_}INIT.
Referenced by lower_rec_input_clauses().
#define OMP_CLAUSE_REDUCTION_PLACEHOLDER | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), gimplify_omp_loop(), gimplify_scan_omp_clauses(), lower_omp_for_scan(), lower_omp_scan(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), and scan_sharing_clauses().
#define OMP_CLAUSE_REDUCTION_TASK | ( | NODE | ) |
True if a REDUCTION clause has task reduction-modifier.
Referenced by dump_omp_clause(), gimplify_omp_loop(), gimplify_scan_omp_clauses(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), omp_task_reduction_iterate(), omp_task_reductions_find_first(), scan_omp_parallel(), and scan_sharing_clauses().
#define OMP_CLAUSE_RELEASE_DESCRIPTOR | ( | NODE | ) |
Nonzero if this is a release/delete node which refers to a (Fortran) array descriptor.
Referenced by dump_omp_clause(), gimplify_scan_omp_clauses(), and omp_map_clause_descriptor_p().
#define OMP_CLAUSE_SAFELEN_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), expand_omp_simd(), gimplify_adjust_omp_clauses(), lower_rec_input_clauses(), and lower_rec_simd_input_clauses().
#define OMP_CLAUSE_SCHEDULE_CHUNK_EXPR | ( | NODE | ) |
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), create_parallel_loop(), dump_omp_clause(), and omp_extract_for_data().
#define OMP_CLAUSE_SCHEDULE_KIND | ( | NODE | ) |
Referenced by create_parallel_loop(), determine_parallel_type(), dump_omp_clause(), hash_tree(), omp_extract_for_data(), pack_ts_omp_clause_value_fields(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_SCHEDULE_SIMD | ( | NODE | ) |
True if a SCHEDULE clause has the simd modifier on it.
Referenced by dump_omp_clause(), and omp_extract_for_data().
#define OMP_CLAUSE_SELF_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_omp_target().
#define OMP_CLAUSE_SET_CODE | ( | NODE, | |
CODE ) |
Referenced by build_omp_clause(), gimplify_adjust_omp_clauses(), and scan_sharing_clauses().
#define OMP_CLAUSE_SET_MAP_KIND | ( | NODE, | |
MAP_KIND ) |
Referenced by build_omp_struct_comp_nodes(), convert_gimple_call(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), decompose_kernels_region_body(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_oacc_declare_1(), gimplify_omp_target_update(), maybe_build_inner_data_region(), omp_accumulate_sibling_list(), omp_build_struct_sibling_lists(), omp_oacc_kernels_decompose_1(), omp_resolve_clause_dependencies(), and unpack_ts_omp_clause_value_fields().
#define OMP_CLAUSE_SHARED_FIRSTPRIVATE | ( | NODE | ) |
True on a SHARED clause if a FIRSTPRIVATE clause for the same decl is present in the chain (this can happen only for taskloop with FIRSTPRIVATE/LASTPRIVATE on it originally.
Referenced by create_task_copyfn(), finish_taskreg_scan(), gimplify_omp_for(), lower_rec_input_clauses(), lower_send_clauses(), and scan_sharing_clauses().
#define OMP_CLAUSE_SHARED_READONLY | ( | NODE | ) |
True on a SHARED clause if a scalar is not modified in the body and thus could be optimized as firstprivate.
Referenced by convert_local_omp_clauses(), convert_nonlocal_omp_clauses(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), and scan_sharing_clauses().
#define OMP_CLAUSE_SIMDLEN_EXPR | ( | NODE | ) |
#define OMP_CLAUSE_SIZE | ( | NODE | ) |
Referenced by build_omp_struct_comp_nodes(), convert_gimple_call(), convert_local_omp_clauses(), convert_local_reference_stmt(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), decompose_kernels_region_body(), dump_omp_clause(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_scan_omp_clauses(), lower_omp_target(), maybe_build_inner_data_region(), omp_accumulate_sibling_list(), omp_build_struct_sibling_lists(), omp_group_base(), omp_group_last(), omp_oacc_kernels_decompose_1(), omp_resolve_clause_dependencies(), and scan_sharing_clauses().
#define OMP_CLAUSE_SIZES_LIST | ( | NODE | ) |
Referenced by dump_omp_clause(), and omp_maybe_apply_loop_xforms().
#define OMP_CLAUSE_THREAD_LIMIT_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), expand_teams_call(), get_target_arguments(), lower_omp_teams(), and optimize_target_teams().
#define OMP_CLAUSE_TILE_COUNT | ( | NODE | ) |
Referenced by omp_extract_for_data().
#define OMP_CLAUSE_TILE_ITERVAR | ( | NODE | ) |
Referenced by omp_extract_for_data().
#define OMP_CLAUSE_TILE_LIST | ( | NODE | ) |
Referenced by dump_omp_clause(), gimplify_omp_for(), and omp_extract_for_data().
#define OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT | ( | NODE | ) |
True on an OMP_CLAUSE_USE_DEVICE_PTR with an OpenACC 'if_present' clause.
Referenced by dump_omp_clause(), gimplify_omp_workshare(), and lower_omp_target().
#define OMP_CLAUSE_VECTOR_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and scan_omp_for().
#define OMP_CLAUSE_VECTOR_LENGTH_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause().
#define OMP_CLAUSE_WAIT_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and expand_omp_target().
#define OMP_CLAUSE_WORKER_EXPR | ( | NODE | ) |
Referenced by dump_omp_clause(), and scan_omp_for().
#define OMP_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_omp_workshare(), omp_discover_declare_target_fn_r(), and omp_discover_declare_target_tgt_fn_r().
#define OMP_CRITICAL_BODY | ( | NODE | ) |
#define OMP_CRITICAL_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_expr().
#define OMP_CRITICAL_NAME | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_expr().
#define OMP_DISPATCH_BODY | ( | NODE | ) |
Referenced by gimplify_omp_dispatch().
#define OMP_DISPATCH_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_omp_dispatch().
#define OMP_FOR_BODY | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), omp_apply_tile(), and omp_maybe_apply_loop_xforms().
#define OMP_FOR_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), gimplify_omp_taskloop_expr(), and omp_maybe_apply_loop_xforms().
#define OMP_FOR_COND | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_omp_for(), gimplify_omp_loop_xform(), omp_apply_tile(), omp_loop_number_of_iterations(), and omp_maybe_apply_loop_xforms().
#define OMP_FOR_INCR | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_omp_for(), gimplify_omp_loop_xform(), omp_apply_tile(), omp_loop_number_of_iterations(), and omp_maybe_apply_loop_xforms().
#define OMP_FOR_INIT | ( | NODE | ) |
Referenced by dump_generic_node(), find_combined_omp_for(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), omp_apply_tile(), omp_loop_number_of_iterations(), and omp_maybe_apply_loop_xforms().
#define OMP_FOR_NON_RECTANGULAR | ( | NODE | ) |
True on OMP_FOR and other OpenMP/OpenACC looping constructs if the loop nest is non-rectangular.
Referenced by gimplify_omp_for(), and omp_apply_tile().
#define OMP_FOR_ORIG_DECLS | ( | NODE | ) |
Referenced by gimplify_omp_for(), gimplify_omp_loop(), omp_apply_tile(), and omp_maybe_apply_loop_xforms().
#define OMP_FOR_PRE_BODY | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_omp_for(), gimplify_omp_loop_xform(), omp_apply_tile(), and omp_maybe_apply_loop_xforms().
#define OMP_INTEROP_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_LOOPING_CHECK | ( | NODE | ) |
#define OMP_LOOPXFORM_CHECK | ( | NODE | ) |
#define OMP_LOOPXFORM_LOWERED | ( | NODE | ) |
Referenced by omp_maybe_apply_loop_xforms().
#define OMP_MASKED_BODY | ( | NODE | ) |
#define OMP_MASKED_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_expr().
#define OMP_MASKED_COMBINED | ( | NODE | ) |
True on an OMP_MASKED statement if it represents an explicit combined masked constructs.
#define OMP_MASTER_BODY | ( | NODE | ) |
#define OMP_MASTER_COMBINED | ( | NODE | ) |
True on an OMP_MASTER statement if it represents an explicit combined master constructs.
#define OMP_ORDERED_BODY | ( | NODE | ) |
Referenced by find_standalone_omp_ordered().
#define OMP_ORDERED_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_omp_ordered().
#define OMP_PARALLEL_BODY | ( | NODE | ) |
Referenced by gimplify_omp_loop(), and gimplify_omp_parallel().
#define OMP_PARALLEL_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), gimplify_omp_for(), gimplify_omp_loop(), and gimplify_omp_parallel().
#define OMP_PARALLEL_COMBINED | ( | NODE | ) |
True on an OMP_PARALLEL statement if it represents an explicit combined parallel work-sharing constructs.
Referenced by gimplify_omp_loop(), and gimplify_omp_parallel().
#define OMP_SCAN_BODY | ( | NODE | ) |
#define OMP_SCAN_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_expr().
#define OMP_SCOPE_BODY | ( | NODE | ) |
#define OMP_SCOPE_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_SECTION_BODY | ( | NODE | ) |
#define OMP_SECTION_LAST | ( | NODE | ) |
True on an OMP_SECTION statement that was the last lexical member. This status is meaningful in the implementation of lastprivate.
#define OMP_SECTIONS_BODY | ( | NODE | ) |
#define OMP_SECTIONS_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_SINGLE_BODY | ( | NODE | ) |
#define OMP_SINGLE_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_STANDALONE_CLAUSES | ( | NODE | ) |
Generic accessors for OMP nodes that keep clauses as operand 0.
Referenced by gimplify_omp_target_update().
#define OMP_STRUCTURED_BLOCK_BODY | ( | NODE | ) |
#define OMP_TARGET_BODY | ( | NODE | ) |
Referenced by omp_discover_declare_target_fn_r().
#define OMP_TARGET_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and optimize_target_teams().
#define OMP_TARGET_COMBINED | ( | NODE | ) |
True on an OMP_TARGET statement if it represents explicit combined target teams, target parallel or target simd constructs.
Referenced by gimplify_omp_workshare().
#define OMP_TARGET_DATA_BODY | ( | NODE | ) |
#define OMP_TARGET_DATA_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_TARGET_ENTER_DATA_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_TARGET_EXIT_DATA_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_TARGET_UPDATE_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node().
#define OMP_TASK_BODY | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_omp_task().
#define OMP_TASK_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_omp_task().
#define OMP_TASKGROUP_BODY | ( | NODE | ) |
#define OMP_TASKGROUP_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_expr().
#define OMP_TASKREG_BODY | ( | NODE | ) |
#define OMP_TASKREG_CHECK | ( | NODE | ) |
#define OMP_TASKREG_CLAUSES | ( | NODE | ) |
#define OMP_TEAMS_BODY | ( | NODE | ) |
#define OMP_TEAMS_CLAUSES | ( | NODE | ) |
Referenced by dump_generic_node(), and optimize_target_teams().
#define OMP_TEAMS_COMBINED | ( | NODE | ) |
True on an OMP_TEAMS statement if it represents an explicit combined teams distribute constructs.
Referenced by gimplify_omp_workshare().
#define OPAQUE_TYPE_P | ( | NODE | ) |
Referenced by is_var_need_auto_init(), verify_opaque_type(), and verify_type().
#define opt_for_fn | ( | fndecl, | |
opt ) |
opt flag for function FNDECL, e.g. opts_for_fn (fndecl, optimize) is the optimization level of function fndecl.
Referenced by cgraph_node::add_new_function(), ipcp_lattice< valtype >::add_value(), cgraph_node::analyze(), analyze_function(), analyze_function_body(), analyze_functions(), big_speedup_p(), caller_growth_limits(), can_inline_edge_by_limits_p(), can_inline_edge_p(), can_remove_node_now_p_1(), cgraph_edge::cannot_lead_to_return_p(), cgraph_node::cannot_return_p(), check_callers(), ipa_icf::sem_function::compare_polymorphic_p(), ipa_icf::sem_item::compare_referenced_symbol_properties(), ipa_icf::sem_function::compatible_parm_types_p(), compute_fn_summary(), compute_max_insns(), cgraph_node::create(), cgraph_node::create_clone(), symbol_table::create_edge(), cgraph_node::create_wrapper(), decompose_param_expr(), default_function_section(), determine_known_aggregate_parts(), determine_versionability(), devirtualization_time_bonus(), do_estimate_edge_time(), do_estimate_growth_1(), drop_profile(), cgraph_node::dump(), early_inline_small_functions(), early_inliner(), edge_badness(), ipa_icf::sem_function::equals_private(), ipa_icf::sem_function::equals_wpa(), estimate_edge_devirt_benefit(), expand_all_functions(), expand_call_inline(), modref_summary::finalize(), cgraph_node::finalize_function(), flatten_function(), fre_will_run_p(), function_and_variable_visibility(), generate_summary(), get_max_overall_size(), get_read_write_all_from_node(), good_cloning_opportunity_p(), gsi_insert_finally_seq_after_call(), ipa_icf::sem_item::hash_referenced_symbol_properties(), have_optimized_refs(), hint_time_bonus(), ignore_edge_for_nothrow(), ignore_edge_for_pure_const(), ignore_edge_p(), ignore_edge_p(), incorporate_penalties(), inline_account_function_p(), inline_analyze_function(), inline_call(), inline_insns_auto(), inline_insns_single(), inline_small_functions(), inline_transform(), funct_state_summary_t::insert(), ipa_sra_function_summaries::insert(), modref_summaries::insert(), modref_summaries_lto::insert(), modref_tree< T >::insert(), insert_init_debug_bind(), ipa_analyze_node(), ipa_compute_jump_functions_for_edge(), ipa_devirt(), ipa_fn_summary_generate(), ipa_func_spec_opts_forbid_analysis_p(), ipa_get_indirect_edge_target_1(), ipa_get_range_from_ip_invariant(), ipa_inline(), ipa_profile(), ipa_propagate_frequency(), ipa_reference_get_read_global(), ipa_reference_get_written_global(), ipa_sra_summarize_function(), ipcp_cloning_candidate_p(), ipcp_propagate_stage(), ipcp_store_vr_results(), ipcp_transform_function(), ipcp_update_vr(), ipcp_verify_propagated_values(), lenient_count_portion_handling(), cgraph_edge::maybe_hot_p(), modref_tree< T >::merge(), merge_aggregate_lattices(), offline_size(), cgraph_node::optimize_for_size_p(), possible_inline_candidate_p(), propagate(), propagate_aggs_across_jump_function(), propagate_bits(), propagate_constants_across_call(), propagate_constants_topo(), value_topo_info< valtype >::propagate_effects(), propagate_nothrow(), propagate_vals_across_arith_jfunc(), pure_const_generate_summary(), recursive_inlining(), remap_gimple_stmt(), symbol_table::remove_unreachable_nodes(), reset_debug_bindings(), cgraph_node::set_nothrow_flag(), set_switch_stmt_execution_predicate(), tp_first_run_node_cmp(), tree_inlinable_function_p(), try_make_edge_direct_virtual_call(), update_indirect_edges_after_inlining(), update_profiling_info(), cgraph_node::verify_node(), vrp_will_run_p(), walk_polymorphic_call_targets(), want_early_inline_function_p(), want_inline_self_recursive_call_p(), and want_inline_small_function_p().
#define optimization_current_node global_trees[TI_OPTIMIZATION_CURRENT] |
Referenced by decl_attributes(), invoke_set_current_function_hook(), process_options(), and target_reinit().
#define optimization_default_node global_trees[TI_OPTIMIZATION_DEFAULT] |
Optimization options (OPTIMIZATION_NODE) to use for default and current functions.
Referenced by cgraph_build_static_cdtor(), decl_attributes(), invoke_set_current_function_hook(), opts_for_fn(), process_options(), and target_reinit().
#define pid_type_node global_trees[TI_PID_TYPE] |
#define pointer_sized_int_node global_trees[TI_POINTER_SIZED_TYPE] |
Referenced by add_taskreg_looptemp_clauses(), asan_emit_stack_protection(), asan_expand_check_ifn(), asan_expand_mark_ifn(), asan_expand_poison_ifn(), asan_finish_file(), asan_global_struct(), asan_maybe_insert_dynamic_shadow_at_function_entry(), build_check_stmt(), build_common_tree_nodes(), create_task_copyfn(), expand_omp_scantemp_alloc(), expand_parallel_call(), get_asan_shadow_memory_dynamic_address_decl(), initialize_sanitizer_builtins(), instrument_mem_ref(), instrument_object_size(), lower_omp_for(), lower_omp_scope(), lower_omp_sections(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), maybe_cast_to_ptrmode(), omp_build_struct_sibling_lists(), omp_finish_file(), optimize_range_tests_cmp_bitwise(), scan_omp_parallel(), simd_clone_adjust_argument_types(), simd_clone_adjust_return_type(), task_reduction_read(), ubsan_encode_value(), ubsan_expand_null_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_ptr_ifn(), and ubsan_expand_vptr_ifn().
#define POINTER_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a pointer or reference type. (It should be renamed to INDIRECT_TYPE_P.) Keep these checks in ascending code order.
Referenced by access_with_size_object_size(), add_autoinc_candidates(), add_candidate_1(), add_iv_candidate_for_biv(), add_iv_candidate_for_use(), add_scope_conflicts_2(), add_to_parts(), address_compare(), path_range_query::adjust_for_non_null_uses(), adjust_one_expanded_partition_var(), adjust_return_value_with_ops(), aff_combination_add_elt(), aff_combination_convert(), aff_combination_scale(), aff_combination_to_tree(), analyze_candidates_and_replace(), analyze_increments(), ao_ref_init_from_ptr_and_range(), ana::call_details::arg_is_pointer_p(), assert_loop_rolls_lt(), assign_parm_adjust_stack_rtl(), assign_parm_setup_reg(), find_candidates_dom_walker::before_dom_children(), strlen_pass::before_dom_children(), build2(), build_polynomial_chrec(), build_range_check(), build_sender_ref(), build_sender_ref(), builtin_call_nomodifying_p(), builtin_mathfn_code(), cand_value_at(), canonical_type_used_p(), canonicalize_addr_expr(), canonicalize_base_object_address(), canonicalize_loop_ivs(), ccp_finalize(), check_access(), strlen_pass::check_and_optimize_stmt(), check_fnspec(), array_bounds_checker::check_mem_ref(), check_va_list_escapes(), chrec_apply(), chrec_convert_aggressive(), chrec_convert_rhs(), chrec_fold_plus(), chrec_fold_plus_poly_poly(), collect_object_sizes_for(), compare_values_warnv(), ipa_icf::sem_function::compatible_parm_types_p(), ipa_icf_gimple::func_checker::compatible_polymorphic_types_p(), compound_type_base(), compute_builtin_object_size(), compute_complex_ancestor_jump_func(), compute_complex_assign_jump_func(), compute_dependence_clique(), compute_new_first_bound(), compute_objsize_r(), compute_points_to_sets(), constant_byte_string(), constant_pointer_difference(), convert_affine_scev(), convert_to_integer_1(), create_add_on_incoming_edge(), create_iv(), create_mem_ref_raw(), create_tailcall_accumulator(), create_variable_info_for(), create_variable_info_for_1(), decl_attributes(), detect_type_change_ssa(), determine_base_object_1(), determine_known_aggregate_parts(), determine_parallel_type(), determine_set_costs(), DFS::DFS_write_tree_body(), do_compare_and_jump(), do_store_flag(), do_warn_nonnull_compare(), dse_optimize_call(), dump_alias_info(), dump_generic_node(), dump_mem_ref(), dump_ssaname_info(), dump_variable(), duplicate_ssa_name_fn(), duplicate_ssa_name_ptr_info(), duplicate_ssa_name_range_info(), eliminate_dom_walker::eliminate_stmt(), pointer_equiv_analyzer::enter(), evaluate_stmt(), execute_ranger_vrp(), expand_assignment(), expand_call(), expand_expr_addr_expr(), expand_expr_real_2(), expand_ifn_va_arg_1(), expand_oacc_collapse_init(), expand_oacc_collapse_vars(), expand_oacc_for(), expand_omp_atomic(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_ordered_source_sink(), expand_omp_simd(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_one_register_var(), expr_callee_abi(), expr_object_size(), extract_omp_for_update_vars(), final_value_replacement_loop(), finalize_nesting_tree_1(), find_bivs(), find_equal_ptrs(), find_inv_vars_cb(), find_tail_calls(), ipa_icf::sem_item_optimizer::fixup_points_to_sets(), fold_binary_loc(), fold_builtin_atomic_always_lock_free(), fold_builtin_constant_p(), fold_comparison(), fold_convert_const(), fold_convert_const_int_from_int(), fold_convert_loc(), fold_convertible_p(), fold_indirect_ref_1(), fold_to_nonsharp_ineq_using_bound(), fold_unary_loc(), follow_outer_ssa_edges(), forward_propagate_addr_expr_1(), generic_type_for(), get_alias_set(), modref_access_node::get_ao_ref(), get_base_for_alignment_1(), get_builtin_sync_mem(), get_computation_cost(), get_debug_computation_at(), get_initial_def_for_reduction(), get_iv(), get_known_nonzero_bits_1(), get_memory_rtx(), get_nonzero_bits_1(), get_offset_range(), get_pointer_alignment_1(), get_ptr_info(), get_ref_size(), get_related_vectype_for_scalar_type(), get_ssa_name_ptr_info_nonnull(), get_ssa_name_range_info(), get_temp_reg(), get_type_static_bounds(), get_value_from_alignment(), gimple_build_call_from_tree(), gimple_canonical_types_compatible_p(), gimple_fold_builtin_fprintf(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_printf(), gimple_fold_builtin_sprintf(), gimple_fold_builtin_sprintf_chk(), gimple_fold_indirect_ref(), gimple_infer_range::gimple_infer_range(), gimple_lower_bitint(), gimple_parm_array_size(), gimple_range_global(), gimplify_bind_expr(), gimplify_init_ctor_preeval_1(), gimplify_modify_expr(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop_xform(), gimplify_self_mod_expr(), gimplify_va_arg_expr(), go_format_type(), handle_component_ref(), handle_decl(), handle_printf_call(), handle_ssa_name(), hash_tree(), if_convertible_gimple_assign_stmt_p(), ifcombine_rewrite_to_defined_overflow(), infer_nonnull_range_by_attribute(), infer_nonnull_range_by_dereference(), initializer_constant_valid_p_1(), insert_initializers(), install_var_field(), install_var_field(), instrument_mem_ref(), instrument_mem_region_access(), instrument_nonnull_arg(), instrument_nonnull_return(), instrument_object_size(), int_binop_types_match_p(), ipa_analyze_indirect_call_uses(), ipa_compute_jump_functions_for_edge(), ipa_modref_callee_reads_no_memory_p(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_pta_execute(), ipcp_update_vr(), is_addr_local(), simplify_using_ranges::legacy_fold_cond_overflow(), loc_list_from_tree_1(), loop_exits_before_overflow(), lower_builtin_assume_aligned(), lower_lastprivate_clauses(), lower_oacc_reductions(), lower_omp_ordered_clauses(), lower_omp_target(), lower_rec_input_clauses(), lto_input_ts_type_non_common_tree_pointers(), make_bit_field_ref(), make_ssa_name_fn(), make_tree(), maybe_canonicalize_comparison_1(), maybe_diag_incompatible_alias(), maybe_duplicate_ssa_info_at_copy(), maybe_emit_sprintf_chk_warning(), maybe_instrument_pointer_overflow(), maybe_invalidate(), maybe_set_nonzero_bits(), maybe_update_mem_ref_hash_table(), maybe_warn_operand(), maybe_warn_pass_by_reference(), ipa_icf::sem_item_optimizer::merge_classes(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_call_stmt(), modref_may_conflict(), move_pointer_to_base(), noncall_stmt_may_be_vtbl_ptr_store(), nonnull_arg_p(), note_nonlocal_vla_type(), nowrap_type_p(), number_of_iterations_cond(), number_of_iterations_exit_assumptions(), number_of_iterations_le(), number_of_iterations_lt_to_ne(), number_of_iterations_ne(), number_of_iterations_until_wrap(), odr_types_equivalent_p(), omp_adjust_for_condition(), omp_apply_tile(), omp_extract_for_data(), omp_loop_number_of_iterations(), omp_reduction_init_op(), operator_cast::op1_range(), operator_cast::op1_range(), operator_cast::op1_range(), operator_cast::op1_range(), operand_compare::operand_equal_p(), optimize_atomic_op_fetch_cmp_0(), optimize_range_tests_cmp_bitwise(), optimize_stack_restore(), optimize_stdarg_builtin(), optimize_va_list_gpr_fpr_size(), output_constant(), parm_object_size(), parm_ref_data_pass_through_p(), pointer_may_wrap_p(), predicate_statements(), prepare_instrumented_value(), print_aff(), propagate_bits_across_jump_function(), propagate_subaccesses_from_rhs(), propagate_with_phi(), ptr_deref_may_alias_decl_p(), ptr_derefs_may_alias_p(), push_fields_onto_fieldstack(), range_check_type(), path_range_query::range_defined_in_block(), range_fits_type_p(), fold_using_range::range_of_phi(), record_component_aliases(), record_group_use(), remap_ssa_name(), remap_vla_decls(), reset_evolution_in_loop(), reset_flow_sensitive_info(), flow_sensitive_info_storage::restore(), ipa_polymorphic_call_context::restrict_to_inner_class(), return_prediction(), reverse_storage_order_for_component_p(), rewrite_phi_with_iv(), rewrite_use_nonlinear_expr(), same_type_for_tbaa(), flow_sensitive_info_storage::save(), sbr_sparse_bitmap::sbr_sparse_bitmap(), scan_sharing_clauses(), scev_analyzable_p(), set_bitmask(), ranger_cache::set_global_range(), set_mem_attributes_minus_bitpos(), set_nonzero_bits(), set_ptr_nonnull(), set_range_info(), irange::set_varying(), signed_or_unsigned_type_for(), simd_clone_adjust(), simd_clone_adjust_argument_types(), simd_clone_adjust_return_type(), simd_clone_clauses_extract(), simd_clone_init_simd_arrays(), simd_clone_linear_addend(), simple_iv_with_niters(), simplify_using_ranges::simplify_casted_compare(), jump_threader::simplify_control_stmt_condition(), simplify_peeled_chrec(), slsr_process_add(), split_constant_offset_1(), std_canonical_va_list_type(), stmt_may_be_vtbl_ptr_store(), stmt_may_generate_copy(), stmt_uses_name_in_undefined_way(), substitute_placeholder_in_expr(), supported_pointer_equiv_p(), prange::supports_p(), prange::supports_type_p(), trailing_array(), tree_builtin_call_types_compatible_p(), tree_ctz(), tree_expr_nonzero_warnv_p(), tree_nop_conversion_p(), tree_optimize_tail_calls_1(), tree_predict_by_opcode(), tree_sign_nop_conversion(), type_contains_placeholder_1(), type_like_member_ptr_p(), type_must_have_pointers(), ubsan_expand_null_ifn(), ubsan_type_descriptor(), update_alias_info_with_stack_vars(), update_range_test(), used_types_insert(), useless_type_conversion_p(), validate_arg(), validate_arglist(), value_replacement(), irange::varying_compatible_p(), vect_check_gather_scatter(), vect_update_ivs_after_vectorizer(), vectorizable_reduction(), vectorizable_simd_clone_call(), verify_gimple_assign_binary(), verify_gimple_assign_unary(), verify_gimple_call(), verify_gimple_goto(), cgraph_node::verify_node(), verify_ssa(), verify_type_variant(), verify_types_in_gimple_reference(), pointer_equiv_analyzer::visit_edge(), VN_INFO(), walk_tree_1(), walk_type_fields(), warn_types_mismatch(), worker_single_copy(), and write_ts_type_non_common_tree_pointers().
#define POLY_INT_CST_COEFF | ( | NODE, | |
I ) |
In a POLY_INT_CST node.
Referenced by build_new_poly_int_cst(), DFS::DFS_write_tree_body(), dump_generic_node(), operand_compare::hash_operand(), hash_tree(), lto_input_ts_poly_tree_pointers(), poly_int_cst_value(), print_node(), ptrdiff_tree_p(), wi::to_poly_offset(), wi::to_poly_widest(), tree_fits_poly_int64_p(), tree_fits_poly_uint64_p(), valid_constant_size_p(), and write_ts_poly_tree_pointers().
#define POLY_INT_CST_P | ( | NODE | ) |
Return true if NODE is a POLY_INT_CST. This is only ever true on targets with variable-sized modes.
Referenced by bits_from_bytes(), const_unop(), data_ref_compare_tree(), discover_nonconstant_array_refs_r(), fold_convert_const(), get_nonzero_bits_1(), range_query::get_tree_range(), operand_compare::hash_operand(), multiple_of_p(), poly_int_tree_p(), ptrdiff_tree_p(), irange::set(), simple_cst_equal(), wi::to_poly_offset(), wi::to_poly_wide(), wi::to_poly_widest(), tree_fits_poly_int64_p(), tree_fits_poly_uint64_p(), and valid_constant_size_p().
#define PREDICT_EXPR_OUTCOME | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_expr().
#define PREDICT_EXPR_PREDICTOR | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_expr().
#define PTR_OR_REF_CHECK | ( | T | ) |
#define ptr_type_node global_trees[TI_PTR_TYPE] |
The C type `void *'.
Referenced by access_with_size_object_size(), alias_set_subset_of(), alias_sets_conflict_p(), analyze_function_body(), build_common_builtin_nodes(), build_common_tree_nodes(), build_cxa_atexit_decl(), build_cxa_dtor_registrations(), build_dso_handle_decl(), build_instrumentation_call(), build_invariant_address(), build_omp_struct_comp_nodes(), build_personality_function(), build_stack_save_restore(), bump_vector_ptr(), canonicalize_constructor_val(), compute_avail(), cond_store_replacement(), create_function_info_for(), create_loop_fn(), create_omp_child_function(), create_stack_guard(), declare_return_variable(), default_emutls_var_fields(), default_stack_protect_guard(), detect_type_change_ssa(), determine_base_object_1(), dw2_output_indirect_constant_1(), emit_block_op_via_libcall(), evaluate_stmt(), expand_call_inline(), expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), expand_omp_target(), expand_task_call(), finalize_nesting_tree_1(), forward_propagate_addr_expr_1(), gather_mem_refs_stmt(), generate_memcpy_builtin(), get_alias_set(), get_descriptor_type(), get_group_alias_ptr_type(), get_last_alloca_addr(), get_memory_rtx(), get_nl_goto_field(), get_target_argument_identifier(), get_target_argument_value(), get_target_arguments(), gimple_fold_builtin_memchr(), gimple_fold_builtin_memset(), gimple_fold_stmt_to_constant_1(), gimple_gen_ic_func_profiler(), gimple_gen_ic_profiler(), gimple_ic(), gimple_init_gcov_profiler(), gimplify_bind_expr(), gimplify_init_ctor_eval(), gimplify_omp_depend(), handle_abnormal_edges(), handle_builtin_alloca(), increment_start_addr(), init_eh(), init_ic_make_global_vars(), initialize_data_dependence_relation(), initialize_sanitizer_builtins(), instrument_func_entry(), ipa_get_jf_ancestor_result(), ipa_tm_insert_gettmclone_call(), issue_prefetch_ref(), lower_builtin_posix_memalign(), lower_coro_builtin(), lower_depend_clauses(), lower_omp_critical(), lower_omp_for_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_resx(), lower_transaction(), make_bit_field_ref(), make_heapvar(), ipa_param_adjustments::modify_call(), push_target_argument_according_to_value(), record_component_aliases(), record_equivalences_from_stmt(), reference_alias_ptr_type(), scan_sharing_clauses(), set_stack_check_libfunc(), set_storage_via_libcall(), simd_clone_adjust(), sjlj_emit_function_enter(), std_build_builtin_va_list(), loop_distribution::transform_reduction_loop(), ubsan_source_location(), update_alias_info_with_stack_vars(), vect_create_cond_for_align_checks(), vectorizable_load(), vectorizable_store(), and vn_reference_lookup_3().
#define ptrdiff_type_node global_trees[TI_PTRDIFF_TYPE] |
Referenced by access_ref::add_max_offset(), access_ref::add_offset(), adjust_pointer_diff_expr(), adjusted_warn_limit(), build_common_tree_nodes(), compute_objsize(), cfn_strlen::fold_range(), pass_walloca::gate(), generate_strlen_builtin_using_rawmemchr(), get_stridx(), get_up_bounds_for_array_ref(), handle_array_ref(), strlen_pass::handle_builtin_strlen(), handle_mem_ref(), access_ref::inform_access(), layout_decl(), max_object_size(), gimple_range_op_handler::maybe_builtin_call(), maybe_diag_stxncpy_trunc(), maybe_set_strlen_range(), access_ref::offset_bounded(), access_ref::offset_in_range(), omp_accumulate_sibling_list(), omp_build_struct_sibling_lists(), reduction_var_overflows_first(), set_component_ref_size(), and loop_distribution::transform_reduction_loop().
#define qq_type_node global_trees[TI_QQ_TYPE] |
#define RAW_DATA_LENGTH | ( | NODE | ) |
In a RAW_DATA_CST
Referenced by array_size_for_constructor(), categorize_ctor_elements_1(), compare_constant(), const_hash_1(), dump_generic_node(), fold(), fold_array_ctor_reference(), get_array_ctor_element_at_index(), gimplify_init_ctor_eval(), operand_compare::hash_operand(), initializer_zerop(), native_encode_initializer(), operand_compare::operand_equal_p(), output_constructor_regular_field(), streamer_alloc_tree(), and streamer_write_tree_header().
#define RAW_DATA_OWNER | ( | NODE | ) |
Referenced by DFS::DFS_write_tree_body(), lto_input_ts_raw_data_cst_tree_pointers(), streamer_write_tree_header(), and write_ts_raw_data_cst_tree_pointers().
#define RAW_DATA_POINTER | ( | NODE | ) |
Referenced by compare_constant(), const_hash_1(), fold_array_ctor_reference(), gimplify_init_ctor_eval(), operand_compare::hash_operand(), initializer_zerop(), lto_input_ts_raw_data_cst_tree_pointers(), native_encode_initializer(), operand_compare::operand_equal_p(), output_constructor_regular_field(), streamer_alloc_tree(), and streamer_write_tree_header().
#define RAW_DATA_SCHAR_ELT | ( | NODE, | |
I ) |
Referenced by dump_generic_node().
#define RAW_DATA_UCHAR_ELT | ( | NODE, | |
I ) |
Referenced by dump_generic_node(), fold(), fold_array_ctor_reference(), and gimplify_init_ctor_eval().
#define RECORD_OR_UNION_CHECK | ( | T | ) |
#define RECORD_OR_UNION_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE is a record or union type.
Referenced by addr_object_size(), array_elt_at_offset(), assign_parm_find_data_types(), build_type_attribute_qual_variant(), contains_polymorphic_type_p(), cxx17_empty_base_field_p(), DFS::DFS_write_tree_body(), diag_attr_exclusions(), get_maxbound(), gimple_canonical_types_compatible_p(), go_format_type(), go_output_typedef(), go_output_var(), hash_tree(), inbounds_memaccess_p(), initialize_argument_information(), instrument_mem_ref(), is_empty_type(), layout_type(), load_register_parameters(), lto_input_ts_type_non_common_tree_pointers(), new_die(), nonoverlapping_refs_since_match_p(), oacc_default_clause(), odr_based_tbaa_p(), odr_types_equivalent_p(), output_constructor(), pack_ts_type_common_value_fields(), plausible_type_for_simd_clone(), register_odr_type(), simd_clone_compute_base_data_type(), type_with_linkage_p(), unpack_ts_type_common_value_fields(), use_register_for_decl(), verify_type(), verify_type_variant(), walk_tree_1(), and write_ts_type_non_common_tree_pointers().
#define REF_REVERSE_STORAGE_ORDER | ( | NODE | ) |
In a BIT_FIELD_REF and MEM_REF, indicates that the reference is to a group of bits stored in reverse order from the target order. This effectively toggles both BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN for the reference. The overall strategy is to preserve the invariant that every scalar in memory is associated with a single storage order, i.e. all accesses to this scalar are done with the same storage order. This invariant makes it possible to factor out the storage order in most transformations, as only the address and/or the value (in target order) matter for them. But, of course, the storage order must be preserved when the accesses themselves are rewritten or transformed.
Referenced by build_ref_for_model(), build_ref_for_offset(), copy_reference_ops_from_ref(), copy_tree_body_r(), create_component_ref_by_pieces_1(), expand_assignment(), expand_expr_real_1(), fold_unary_loc(), gimple_extract(), gimplify_expr(), make_bit_field_ref(), may_be_nonaddressable_p(), maybe_build_generic_op(), ipa_param_adjustments::modify_call(), pack_ts_base_value_fields(), propagate_subaccesses_from_rhs(), remap_gimple_op_r(), reverse_storage_order_for_component_p(), sra_modify_expr(), stabilize_reference(), and unpack_ts_base_value_fields().
#define REFERENCE_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents a reference.
Referenced by cond_store_replacement(), copy_reference_ops_from_ref(), discover_nonconstant_array_refs(), discover_nonconstant_array_refs_r(), find_interesting_uses_stmt(), pcom_worker::find_looparound_phi(), find_placeholder_in_expr(), fold_gimple_assign(), fold_stmt_1(), gather_memory_references(), get_references_in_stmt(), gimplify_modify_expr_rhs(), infer_loop_bounds_from_array(), ref_always_accessed::operator()(), self_referential_component_ref_p(), stmt_makes_single_store(), substitute_in_expr(), substitute_placeholder_in_expr(), unmodified_parm_or_parm_agg_item(), vect_build_slp_tree_1(), vect_get_datarefs_in_loop(), visit_stmt(), and volatile_lvalue_p().
#define sa_type_node global_trees[TI_SA_TYPE] |
#define sat_accum_type_node global_trees[TI_SAT_ACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_da_type_node global_trees[TI_SAT_DA_TYPE] |
#define sat_dq_type_node global_trees[TI_SAT_DQ_TYPE] |
#define SAT_FIXED_POINT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a saturating fixed-point type.
Referenced by needs_fold_left_reduction_p(), parloops_needs_fold_left_reduction_p(), and split_tree().
#define sat_fract_type_node global_trees[TI_SAT_FRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define sat_ha_type_node global_trees[TI_SAT_HA_TYPE] |
#define sat_hq_type_node global_trees[TI_SAT_HQ_TYPE] |
#define sat_long_accum_type_node global_trees[TI_SAT_LACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_long_fract_type_node global_trees[TI_SAT_LFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define sat_long_long_accum_type_node global_trees[TI_SAT_LLACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_long_long_fract_type_node global_trees[TI_SAT_LLFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define sat_qq_type_node global_trees[TI_SAT_QQ_TYPE] |
#define sat_sa_type_node global_trees[TI_SAT_SA_TYPE] |
#define sat_short_accum_type_node global_trees[TI_SAT_SACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_short_fract_type_node global_trees[TI_SAT_SFRACT_TYPE] |
The fixed-point types.
Referenced by make_or_reuse_fract_type().
#define sat_sq_type_node global_trees[TI_SAT_SQ_TYPE] |
#define sat_ta_type_node global_trees[TI_SAT_TA_TYPE] |
#define sat_tq_type_node global_trees[TI_SAT_TQ_TYPE] |
#define sat_uda_type_node global_trees[TI_SAT_UDA_TYPE] |
#define sat_udq_type_node global_trees[TI_SAT_UDQ_TYPE] |
#define sat_uha_type_node global_trees[TI_SAT_UHA_TYPE] |
#define sat_uhq_type_node global_trees[TI_SAT_UHQ_TYPE] |
#define sat_unsigned_accum_type_node global_trees[TI_SAT_UACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_unsigned_fract_type_node global_trees[TI_SAT_UFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define sat_unsigned_long_accum_type_node global_trees[TI_SAT_ULACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_unsigned_long_fract_type_node global_trees[TI_SAT_ULFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define sat_unsigned_long_long_accum_type_node global_trees[TI_SAT_ULLACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_unsigned_long_long_fract_type_node global_trees[TI_SAT_ULLFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define sat_unsigned_short_accum_type_node global_trees[TI_SAT_USACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define sat_unsigned_short_fract_type_node global_trees[TI_SAT_USFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define sat_uqq_type_node global_trees[TI_SAT_UQQ_TYPE] |
#define sat_usa_type_node global_trees[TI_SAT_USA_TYPE] |
#define sat_usq_type_node global_trees[TI_SAT_USQ_TYPE] |
#define sat_uta_type_node global_trees[TI_SAT_UTA_TYPE] |
#define sat_utq_type_node global_trees[TI_SAT_UTQ_TYPE] |
#define SAVE_EXPR_RESOLVED_P | ( | NODE | ) |
In a SAVE_EXPR, indicates that the original expression has already been substituted with a VAR_DECL that contains the value.
Referenced by expand_expr_real_1(), get_memory_rtx(), and gimplify_save_expr().
#define sbitsize_int | ( | L | ) |
#define sbitsizetype sizetype_tab[(int) stk_sbitsizetype] |
Referenced by initialize_sizetypes(), and size_diffop_loc().
#define SCALAR_FLOAT_TYPE_MODE | ( | NODE | ) |
Referenced by expand_builtin_issignaling(), expand_builtin_signbit(), fold_convert_const_real_from_fixed(), native_encode_real(), native_interpret_expr(), native_interpret_real(), output_constant(), and simplify_using_ranges::simplify_float_conversion_using_ranges().
#define SCALAR_FLOAT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a scalar floating-point type.
Referenced by scev_dfs::add_to_evolution(), scev_dfs::add_to_evolution_1(), base_type_die(), build_complex_type(), builtin_mathfn_code(), chrec_apply(), chrec_fold_multiply_poly_poly(), chrec_fold_plus_1(), chrec_fold_plus_poly_poly(), constant_type(), convert_to_integer_1(), convert_to_real_1(), do_mpc_arg2(), expand_complex_division(), expand_complex_multiplication(), expand_omp_atomic_cas(), expand_vector_conversion(), fold_builtin_carg(), fold_const_vec_convert(), fold_convert_const(), fold_negate_expr_1(), get_component_ssa_name(), get_initial_def_for_reduction(), get_related_vectype_for_scalar_type(), get_ubsan_type_info_for_type(), gimple_canonical_types_compatible_p(), gimple_lower_bitint(), initializer_constant_valid_p_1(), integer_valued_real_unary_p(), lhd_omp_scalar_p(), needs_fold_left_reduction_p(), negate_expr_p(), odr_types_equivalent_p(), omp_reduction_init_op(), optimize_atomic_compare_exchange_p(), optimize_spaceship(), parloops_needs_fold_left_reduction_p(), frange::supports_p(), transform_add_to_multiply(), tree_unary_nonnegative_warnv_p(), type_strictly_matches_mode_p(), useless_type_conversion_p(), valid_fixed_convert_types_p(), valid_lattice_transition(), vect_build_all_ones_mask(), vect_build_zero_merge_argument(), vect_is_simple_iv_evolution(), vectorizable_conversion(), vectorizable_induction(), vectorizable_reduction(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_type(), and verify_type_variant().
#define SCALAR_INT_TYPE_MODE | ( | NODE | ) |
Referenced by tree_switch_conversion::switch_conversion::array_value_type(), build_cltz_expr(), cond_removal_in_builtin_zero_pattern(), convert_mult_to_widen(), do_compare_and_jump(), do_jump(), expand_addsub_overflow(), expand_arith_overflow(), expand_builtin_init_dwarf_reg_sizes(), expand_builtin_signbit(), expand_debug_expr(), expand_expr_real_1(), expand_expr_real_2(), expand_mul_overflow(), expand_neg_overflow(), expand_single_bit_test(), extract_muldiv_1(), fold_const_call_ss(), fold_nonarray_ctor_reference(), gimple_fold_builtin_memset(), instrument_bool_enum_load(), int_fits_type_p(), layout_type(), loc_list_from_tree_1(), make_tree(), match_arith_overflow(), mergeable_string_section(), narrowing_initializer_constant_valid_p(), native_encode_int(), native_interpret_int(), output_constant(), vn_walk_cb_data::push_partial_def(), reduce_to_bit_field_precision(), simplify_count_trailing_zeroes(), simplify_using_ranges::simplify_float_conversion_using_ranges(), try_casesi(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_rotate_pattern(), verify_gimple_assign_ternary(), and vn_reference_lookup_3().
#define SCALAR_TYPE_MODE | ( | NODE | ) |
Referenced by append_pattern_def_seq(), build_index_vector(), build_minus_one_cst(), convert_plusminus_to_widen(), estimate_move_cost(), expand_expr_addr_expr_1(), expand_vector_comparison(), expand_vector_condition(), fold_builtin_bit_query(), fold_convert_const_fixed_from_fixed(), fold_convert_const_fixed_from_int(), fold_convert_const_fixed_from_real(), layout_type(), lto_read_tree_1(), native_encode_complex(), native_encode_fixed(), native_encode_vector_part(), native_interpret_complex(), native_interpret_fixed(), output_constant(), signed_or_unsigned_type_for(), simd_clone_adjust(), simd_clone_adjust_argument_types(), simd_clone_adjust_return_type(), simd_clone_init_simd_arrays(), ubsan_encode_value(), undistribute_bitref_for_vector(), vect_create_epilog_for_reduction(), vect_truncate_gather_scatter_offset(), vector_vector_composition_type(), vectorizable_conversion(), vectorizable_reduction(), vectorizable_store(), and verify_gimple_assign_ternary().
#define SCOPE_FILE_SCOPE_P | ( | EXP | ) |
Nonzero for a scope which is equal to file scope.
Referenced by expand_expr_real_1(), and verify_expr_location_1().
#define SET_DECL_ALIGN | ( | NODE, | |
X ) |
Specify that DECL_ALIGN(NODE) is X.
Referenced by align_local_variable(), align_variable(), asan_finish_file(), asan_poison_variable(), assemble_variable(), assign_parm_setup_block(), build_constant_desc(), build_var(), copy_var_decl(), do_type_align(), ensure_base_align(), expand_one_stack_var_at(), varpool_node::finalize_decl(), finish_taskreg_scan(), fold_builtin_alloca_with_align(), get_chain_field(), get_descriptor_type(), get_nl_goto_field(), get_trampoline_type(), increase_alignment_1(), init_eh(), install_var_field(), install_var_field(), layout_decl(), lookup_field_for_decl(), lower_omp_task_reductions(), make_node(), omp_finish_file(), ompdevlow_adjust_simt_enter(), output_constant_def_contents(), relayout_decl(), scan_sharing_clauses(), and unpack_ts_decl_common_value_fields().
#define SET_DECL_ASSEMBLER_NAME | ( | NODE, | |
NAME ) |
Set the DECL_ASSEMBLER_NAME for NODE to NAME.
Referenced by asan_emit_stack_protection(), assemble_crc_table(), build_builtin_function(), build_cxa_atexit_decl(), symbol_table::change_decl_assembler_name(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), duplicate_thunk_for_node(), dw2_output_indirect_constant_1(), get_asan_shadow_memory_dynamic_address_decl(), get_emutls_init_templ_addr(), ipa_tm_create_version(), ipa_tm_create_version_alias(), lhd_set_decl_assembler_name(), lto_input_ts_decl_with_vis_tree_pointers(), make_decl_rtl(), new_emutls_decl(), symtab_node::noninterposable_alias(), omp_resolve_declare_variant(), process_symver_attribute(), push_dummy_function(), and simd_clone_create().
#define SET_DECL_DEBUG_EXPR | ( | NODE, | |
VAL ) |
Referenced by add_local_variables(), create_access_replacement(), create_one_component_var(), gimplify_modify_expr(), and lto_input_ts_decl_common_tree_pointers().
#define SET_DECL_FIELD_ABI_IGNORED | ( | NODE, | |
VAL ) |
Referenced by unpack_ts_decl_common_value_fields().
#define SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD | ( | NODE, | |
VAL ) |
Referenced by unpack_ts_decl_common_value_fields().
#define SET_DECL_FINI_PRIORITY | ( | NODE, | |
VAL ) |
Set the finalization priority for NODE to VAL.
#define SET_DECL_INIT_PRIORITY | ( | NODE, | |
VAL ) |
Set the initialization priority for NODE to VAL.
Referenced by copy_node().
#define SET_DECL_MODE | ( | NODE, | |
MODE ) |
Referenced by build_debug_expr_decl(), copy_decl_for_dup_finish(), expand_gimple_basic_block(), finish_bitfield_representative(), insert_debug_temp_for_var_def(), layout_decl(), lto_read_tree_1(), make_debug_expr_from_rtl(), make_node(), ipa_param_body_adjustments::mark_dead_statements(), ipa_param_adjustments::modify_call(), relayout_decl(), remap_ssa_name(), remove_unused_ivs(), ipa_param_body_adjustments::reset_debug_stmts(), rewrite_debug_stmt_uses(), spaceship_replacement(), split_complex_args(), tree_function_versioning(), and unpack_ts_decl_common_value_fields().
#define SET_DECL_OFFSET_ALIGN | ( | NODE, | |
X ) |
Specify that DECL_OFFSET_ALIGN(NODE) is X.
Referenced by place_field(), place_union_field(), and start_bitfield_representative().
#define SET_DECL_PT_UID | ( | NODE, | |
UID ) |
Initialize the ..._DECL node pt-uid to the decls uid.
Referenced by assumption_copy_decl(), build_fake_var_decl(), copy_decl_to_var(), copy_node(), copy_result_decl_to_var(), fold_builtin_alloca_with_align(), make_node(), ipa_param_body_adjustments::reset_debug_stmts(), ipa_icf::set_alias_uids(), and set_uids_in_ptset().
#define SET_DECL_RTL | ( | NODE, | |
RTL ) |
Set the DECL_RTL for NODE to RTL.
Referenced by asan_memfn_rtl(), assign_parm_setup_reg(), assign_parms(), ipa_icf::clear_decl_rtl(), copy_decl_for_dup_finish(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), delete_vta_debug_insn(), expand_debug_expr(), expand_expr_real_1(), expand_function_start(), expand_one_error_var(), force_expr_to_var_cost(), free_loop_data(), get_spill_slot_decl(), ipa_tm_create_version(), ipa_tm_create_version_alias(), label_rtx(), layout_decl(), make_debug_expr_from_rtl(), make_decl_rtl(), make_decl_rtl_for_debug(), symtab_node::noninterposable_alias(), prepare_decl_rtl(), relayout_decl(), ipa_param_body_adjustments::reset_debug_stmts(), set_rtl(), set_user_assembler_name(), simd_clone_create(), store_constructor(), ubsan_encode_value(), and unshare_all_rtl().
#define SET_DECL_VALUE_EXPR | ( | NODE, | |
VAL ) |
Referenced by assign_parms(), copy_node(), create_emultls_var(), expand_function_start(), fixup_remapped_decl(), fixup_vla_decls(), get_local_debug_decl(), get_nonlocal_debug_decl(), gimplify_bind_expr(), gimplify_parameters(), gimplify_vla_decl(), lookup_field_for_decl(), lower_omp_for_scan(), lower_omp_regimplify_operands(), lower_omp_regimplify_operands_p(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), lto_input_ts_decl_common_tree_pointers(), ompdevlow_adjust_simt_enter(), remap_decls(), remap_vla_decls(), and replace_block_vars_by_duplicates().
#define SET_DECL_WARN_IF_NOT_ALIGN | ( | NODE, | |
X ) |
Specify that DECL_WARN_IF_NOT_ALIGN(NODE) is X.
Referenced by do_type_align().
#define SET_EXPR_LOCATION | ( | NODE, | |
LOCUS ) |
Referenced by build1_loc(), build2_loc(), build3_loc(), build4_loc(), build5_loc(), build_call_array_loc(), build_call_expr_internal_loc_array(), build_call_nofold_loc(), build_case_label(), build_empty_stmt(), build_simple_mem_ref_loc(), clear_padding_flush(), expand_call_stmt(), expand_gimple_stmt_1(), fold_builtin_n(), fold_builtin_varargs(), fold_call_stmt(), gimple_assign_rhs_to_tree(), gimplify_call_expr(), gimplify_omp_depend(), gimplify_omp_loop(), gimplify_transaction(), gimplify_variable_sized_compare(), internal_get_tmp_var(), protected_set_expr_location(), protected_set_expr_location_unshare(), prune_expr_location(), shortcut_cond_expr(), and shortcut_cond_r().
#define SET_PREDICT_EXPR_OUTCOME | ( | NODE, | |
OUTCOME ) |
Referenced by build_predict_expr().
#define SET_SSA_NAME_VAR_OR_IDENTIFIER | ( | NODE, | |
VAR ) |
Referenced by asan_expand_poison_ifn(), copy_ssa_name_fn(), expand_call_inline(), fixup_noreturn_call(), gimple_fold_call(), internal_get_tmp_var(), ipa_simd_modify_function_body(), make_ssa_name_fn(), make_temp_ssa_name(), cgraph_edge::redirect_call_stmt_to_callee(), remap_ssa_name(), replace_ssa_name_symbol(), and walk_regimplify_phi().
#define SET_TYPE_ALIGN | ( | NODE, | |
X ) |
Specify that TYPE_ALIGN(NODE) is X.
Referenced by build_aligned_type(), build_atomic_base(), build_common_tree_nodes(), build_qualified_type(), build_range_type_1(), expand_expr_addr_expr_1(), finalize_record_size(), finalize_type_size(), finish_builtin_struct(), finish_taskreg_scan(), initialize_sizetypes(), insert_field_into_struct(), layout_type(), lhd_simulate_enum_decl(), lower_omp_task_reductions(), make_node(), omp_finish_file(), std_gimplify_va_arg_expr(), and unpack_ts_type_common_value_fields().
#define SET_TYPE_MODE | ( | NODE, | |
MODE ) |
Referenced by build_common_tree_nodes(), build_pointer_type_for_mode(), build_range_type_1(), build_reference_type_for_mode(), compute_array_mode(), compute_record_mode(), finalize_type_size(), initialize_sizetypes(), layout_type(), lto_read_tree_1(), make_accum_type(), make_fract_type(), make_vector_type(), and unpack_ts_type_common_value_fields().
#define SET_TYPE_STRUCTURAL_EQUALITY | ( | NODE | ) |
Sets the TYPE_CANONICAL field to NULL_TREE, indicating that the type node requires structural equality.
Referenced by build_array_type_1(), build_complex_type(), build_distinct_type_copy(), build_function_type(), build_method_type_directly(), build_offset_type(), build_pointer_type_for_mode(), build_qualified_type(), build_range_type_1(), build_reference_type_for_mode(), build_type_attribute_qual_variant(), and make_vector_type().
#define SET_TYPE_WARN_IF_NOT_ALIGN | ( | NODE, | |
X ) |
Specify that TYPE_WARN_IF_NOT_ALIGN(NODE) is X.
Referenced by build_range_type_1(), finish_builtin_struct(), layout_type(), and place_field().
#define short_accum_type_node global_trees[TI_SACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define short_fract_type_node global_trees[TI_SFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define short_integer_type_node integer_types[itk_short] |
#define short_unsigned_type_node integer_types[itk_unsigned_short] |
#define signed_char_type_node integer_types[itk_signed_char] |
Referenced by asan_init_shadow_ptr_types(), build_common_tree_nodes(), build_complex_type(), get_typenode_from_name(), gimple_get_alias_set(), gimple_signed_or_unsigned_type(), lhd_type_for_size(), optimize_spaceship(), stack_protect_classify_type(), type_with_interoperable_signedness(), and vect_check_gather_scatter().
#define size_int | ( | L | ) |
Referenced by add_iv_candidate_for_biv(), add_iv_candidate_for_use(), attr_access::array_as_string(), array_ref_element_size(), asan_pp_string(), assemble_crc_table(), assign_parms(), build_alloca_call_expr(), build_array_type_nelts(), build_common_tree_nodes(), build_fn_info_type(), build_info(), build_info_type(), build_string_literal(), c_strlen(), clear_padding_emit_loop(), clear_padding_type(), component_ref_field_offset(), compute_access_stride(), compute_object_offset(), constant_byte_string(), constant_pointer_difference(), copy_reference_ops_from_call(), copy_reference_ops_from_ref(), coverage_end_function(), coverage_obj_finish(), create_ifn_alias_checks(), create_waw_or_war_checks(), default_cxx_get_cookie_size(), expand_assignment(), expand_call_inline(), expand_expr_real_1(), expand_omp_for_generic(), expand_omp_for_ordered_loops(), expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), expand_omp_target(), expand_thunk(), finish_bitfield_representative(), fold_binary_loc(), fold_build_pointer_plus_hwi_loc(), get_bit_range(), get_misalign_in_elems(), get_nl_goto_field(), get_range_strlen_tree(), get_segment_min_max(), get_trampoline_type(), gimplify_compound_lval(), gimplify_omp_depend(), gimplify_scan_omp_clauses(), handle_warn_if_not_align(), init_eh(), initialize_sizetypes(), instrument_expr(), interpret_rhs_expr(), issue_prefetch_ref(), layout_type(), locate_and_pad_parm(), lower_coro_builtin(), lower_depend_clauses(), lower_lastprivate_clauses(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_vec_perm(), maybe_canonicalize_mem_ref_addr(), maybe_fold_tmr(), maybe_instrument_pointer_overflow(), native_interpret_aggregate(), omp_accumulate_sibling_list(), omp_apply_tile(), optimize_bit_field_compare(), pos_from_bit(), resolve_addr_in_expr(), simd_clone_adjust(), simd_clone_init_simd_arrays(), split_constant_offset_1(), std_gimplify_va_arg_expr(), store_expr(), vect_check_gather_scatter(), vect_create_cond_for_align_checks(), vect_get_strided_load_store_ops(), vect_prune_runtime_alias_test_list(), vect_recog_gather_scatter_pattern(), vectorizable_condition(), vectorizable_load(), vectorizable_simd_clone_call(), and vectorizable_store().
#define size_one_node global_trees[TI_SIZE_ONE] |
Referenced by array_type_nelts_top(), build_common_tree_nodes(), build_info(), check_access(), check_strncat_sizes(), compute_access_range(), compute_alias_check_pairs(), data_ref_segment_size(), extract_muldiv_1(), finalize_record_size(), get_memory_rtx(), gimple_fold_builtin_fputs(), gimplify_omp_depend(), idx_find_step(), lower_omp_for_scan(), lower_omp_task_reductions(), maybe_emit_sprintf_chk_warning(), maybe_warn_nonstring_arg(), omp_accumulate_sibling_list(), simplify_builtin_call(), strdup_object_size(), vect_vfa_segment_size(), and vectorizable_load().
#define size_type_node global_trees[TI_SIZE_TYPE] |
The C type `size_t'.
Referenced by alloca_call_type(), asan_expand_mark_ifn(), build_common_builtin_nodes(), build_common_tree_nodes(), check_access(), check_strncat_sizes(), create_task_copyfn(), define_builtin_macros_for_type_sizes(), expand_builtin_bzero(), expand_builtin_strnlen(), fold_builtin_object_size(), fold_builtin_strcspn(), fold_builtin_strspn(), fold_strstr_to_strncmp(), gen_counter_update(), generate_strlen_builtin(), get_maxbound(), get_range_strlen(), get_range_strlen(), get_range_strlen_dynamic(), get_range_strlen_dynamic(), get_range_strlen_phi(), get_range_strlen_tree(), get_stridx_plus_constant(), gimple_fold_builtin_fputs(), gimple_fold_builtin_sprintf_chk(), gimple_fold_builtin_stpcpy(), gimple_fold_builtin_strcat(), gimple_fold_builtin_strchr(), gimple_fold_builtin_strcpy(), gimple_fold_builtin_strncpy(), gimple_fold_builtin_strstr(), gimple_fold_builtin_stxcpy_chk(), gimplify_bind_expr(), strlen_pass::handle_alloc_call(), handle_builtin_alloca(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_memset(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_string_cmp(), strlen_pass::handle_store(), initialize_sanitizer_builtins(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), maybe_emit_sprintf_chk_warning(), strlen_pass::maybe_warn_overflow(), modified_type_die(), object_sizes_execute(), propagate_bits_across_jump_function(), read_vector_array(), scan_sharing_clauses(), set_endptr_and_length(), set_strlen_range(), size_t_cst_p(), type_with_interoperable_signedness(), vectorizable_simd_clone_call(), write_vector_array(), and zero_length_string().
#define size_zero_node global_trees[TI_SIZE_ZERO] |
Referenced by arg_size_in_bytes(), build_common_tree_nodes(), build_empty_stmt(), build_index_type(), build_printable_array_type(), check_access(), check_for_plus_in_loops_1(), compare_step_with_zero(), component_ref_size(), compute_object_offset(), constant_pointer_difference(), create_intersect_range_checks_index(), create_waw_or_war_checks(), expand_omp_for_generic(), expand_omp_target(), find_interesting_uses_address(), fold_builtin_strcspn(), fold_builtin_strspn(), fold_indirect_ref_1(), get_inner_reference(), get_memory_rtx(), get_misalign_in_elems(), get_segment_min_max(), gimple_fold_indirect_ref(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_omp_depend(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_store(), layout_type(), lower_omp_for_scan(), lower_omp_target(), lower_omp_task_reductions(), omp_accumulate_sibling_list(), place_union_field(), simd_clone_adjust(), simplify_builtin_call(), size_for_offset(), size_in_bytes_loc(), size_initval(), size_unknown(), start_record_layout(), std_gimplify_va_arg_expr(), type_has_padding_at_level_p(), ubsan_get_type_descriptor_type(), vect_check_gather_scatter(), vect_compile_time_alias(), vect_create_cond_for_align_checks(), vect_enhance_data_refs_alignment(), vect_gen_prolog_loop_niters(), vect_get_data_ptr_increment(), vect_get_peeling_costs_all_drs(), vect_prune_runtime_alias_test_list(), and vect_setup_realignment().
#define sizetype sizetype_tab[(int) stk_sizetype] |
Type for sizes of data-type.
Referenced by access_with_size_object_size(), add_iv_candidate_for_biv(), add_iv_candidate_for_use(), add_to_parts(), addr_to_parts(), adjust_return_value_with_ops(), aff_combination_add_elt(), aff_combination_scale(), aff_combination_to_tree(), alloc_object_size(), array_ref_element_size(), array_type_nelts_top(), assert_loop_rolls_lt(), build2(), tree_switch_conversion::switch_conversion::build_arrays(), tree_switch_conversion::switch_conversion::build_constructors(), build_index_type(), build_printable_array_type(), build_vl_exp(), bundle_sizes(), byte_from_pos(), c_strlen(), cand_value_at(), rt_bb_visited::check(), check_access(), chrec_convert_aggressive(), chrec_convert_rhs(), component_ref_field_offset(), compute_access_range(), compute_access_stride(), compute_alias_check_pairs(), compute_distributive_range(), compute_new_first_bound(), compute_object_offset(), compute_objsize(), cond_expr_object_size(), constant_byte_string(), constant_pointer_difference(), convert_affine_scev(), convert_to_ptrofftype_loc(), create_add_imm_cand(), create_add_on_incoming_edge(), create_add_ssa_cand(), create_expression_by_pieces(), create_mem_ref(), create_mul_imm_cand(), create_tailcall_accumulator(), create_waw_or_war_checks(), data_ref_segment_size(), default_cxx_get_cookie_size(), dr_analyze_innermost(), dump_generic_node(), emit_block_op_via_libcall(), expand_builtin_memcmp(), expand_builtin_strncmp(), expand_expr_real_1(), expand_expr_real_2(), expand_oacc_collapse_init(), expand_oacc_collapse_vars(), expand_oacc_for(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_simple_operations(), expand_vec_perm_const(), expand_vector_ubsan_overflow(), expr_size(), expr_to_aff_combination(), field_byte_offset(), finalize_type_size(), find_inv_vars_cb(), fold_binary_loc(), fold_comparison(), fold_const_aggregate_ref_1(), fold_indirect_ref_1(), fold_read_from_constant_string(), fold_stmt_1(), fuse_memset_builtins(), get_addr_base_and_unit_offset_1(), get_address_cost(), get_debug_computation_at(), get_dr_vinfo_offset(), get_inner_reference(), get_inner_reference_aff(), get_iv(), get_memory_rtx(), get_offset_range(), get_ref_base_and_extent(), get_segment_min_max(), get_size_range(), get_stridx(), get_up_bounds_for_array_ref(), gimple_call_alloc_size(), gimple_convert_to_ptrofftype(), gimple_fold_builtin_memchr(), gimple_fold_builtin_stpcpy(), gimple_fold_builtin_strlen(), gimple_lower_bitint(), gimple_parm_array_size(), gimplify_omp_depend(), gimplify_omp_for(), handle_array_ref(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_integral_assign(), idx_analyze_ref(), idx_find_step(), increment_start_addr(), init_offset_limit(), initialize_sizetypes(), instrument_object_size(), instrument_pointer_overflow(), issue_prefetch_ref(), layout_decl(), layout_type(), lower_oacc_reductions(), lower_omp_for_scan(), lower_omp_ordered_clauses(), lower_omp_target(), lower_rec_input_clauses(), lower_reduction_clauses(), maybe_fold_tmr(), maybe_instrument_pointer_overflow(), modified_type_die(), most_expensive_mult_to_index(), move_variant_to_index(), native_encode_initializer(), nop_conversion_for_offset_p(), number_of_iterations_cond(), number_of_iterations_le(), number_of_iterations_lt_to_ne(), object_sizes_set(), object_sizes_set_temp(), omp_apply_tile(), output_constructor_array_range(), output_constructor_regular_field(), parm_object_size(), place_field(), place_union_field(), pos_from_bit(), preferred_mem_scale_factor(), ptrofftype_p(), restructure_reference(), rewrite_phi_with_iv(), rewrite_use_nonlinear_expr(), rt_bb_visited::rt_bb_visited(), set_storage_via_libcall(), simd_clone_adjust(), simple_iv_with_niters(), simplify_builtin_call(), size_diffop_loc(), size_for_offset(), size_initval(), size_unknown(), slsr_process_cast(), slsr_process_copy(), slsr_process_phi(), slsr_process_ref(), split_constant_offset(), split_constant_offset_1(), std_gimplify_va_arg_expr(), store_expr(), store_one_arg(), strdup_object_size(), loop_distribution::transform_reduction_loop(), tree_optimize_tail_calls_1(), tree_to_aff_combination(), ubsan_expand_ptr_ifn(), ubsan_get_type_descriptor_type(), valid_constant_size_p(), valid_mem_ref_cand_p(), vect_check_gather_scatter(), vect_create_addr_base_for_vector_ref(), vect_get_strided_load_store_ops(), vect_recog_bitfield_ref_pattern(), vect_update_init_of_dr(), vect_update_inits_of_drs(), vect_vfa_segment_size(), vectorizable_load(), vectorizable_simd_clone_call(), vectorizable_store(), vn_reference_insert(), and vn_reference_lookup().
#define sq_type_node global_trees[TI_SQ_TYPE] |
#define SSA_NAME_DEF_STMT | ( | NODE | ) |
Returns the statement which defines this SSA name.
Referenced by add_dependency(), add_exit_phi(), add_exit_phis(), add_exit_phis_var(), add_iv_candidate_for_biv(), add_scope_conflicts_2(), address_compare(), adjust_before_returns_twice_call(), adjust_debug_stmts_now(), adjust_imagpart_expr(), adjust_iv_update_pos(), strlen_pass::adjust_last_stmt(), adjust_pointer_diff_expr(), adjust_realpart_expr(), autofdo::afdo_propagate_circuit(), aff_combination_expand(), all_phi_incrs_profitable_1(), analyze_agg_content_value(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), loop_cand::analyze_iloop_reduction_var(), loop_cand::analyze_induction_var(), loop_cand::analyze_oloop_reduction_var(), analyze_scalar_evolution_1(), and_comparisons_1(), and_var_with_comparison(), and_var_with_comparison_1(), ao_ref_init_from_ptr_and_range(), apply_return_prediction(), arith_cast_equal_p(), asan_expand_poison_ifn(), assume_query::assume_query(), attempt_builtin_copysign(), base_cand_from_table(), ranger_cache::block_range(), branch_fixup(), build_and_add_sum(), build_bitint_stmt_ssa_conflicts(), build_new_reduction(), assume_query::calculate_op(), assume_query::calculate_phi(), can_blend_vec_perm_simplify_seqs_p(), can_reassociate_op_p(), can_skip_redundant_opnd(), cfun_returns(), chain_of_csts_start(), check_defs(), check_exit_phi(), check_for_plus_in_loops(), check_for_plus_in_loops_1(), array_bounds_checker::check_mem_ref(), check_name(), check_pow(), check_reduction_path(), check_scan_store(), check_stmt_for_type_change(), check_stmt_for_type_change(), checks_return_value_of_removable_allocation_p(), chk_uses(), chrec_contains_symbols_defined_in_loop(), classify_builtin_st(), loop_cand::classify_simple_reduction(), clear_visited(), collect_object_sizes_for(), uninit_analysis::collect_phi_def_edges(), compute_added_num_insns(), compute_avail(), compute_builtin_object_size(), compute_complex_ancestor_jump_func(), compute_complex_assign_jump_func(), path_range_query::compute_exit_dependencies(), gori_compute::compute_logical_operands(), gori_compute::compute_operand1_and_operand2_range(), gori_compute::compute_operand_range(), gori_compute::compute_operand_range_switch(), path_range_query::compute_ranges_in_block(), fold_using_range::condexpr_adjust(), consider_split(), constant_after_peeling(), constant_byte_string(), constant_pointer_difference(), convert_expand_mult_copysign(), convert_mult_to_fma(), convert_mult_to_highpart(), convert_plusminus_to_widen(), copy_phis_for_bb(), strlen_pass::count_nonzero_bytes(), strlen_pass::count_nonzero_bytes_addr(), cprop_operand(), create_call_for_reduction_1(), create_parallel_loop(), create_phi_basis_1(), decode_field_reference(), decompose_param_expr(), defcodefor_name(), defined_in_sese_p(), path_range_query::defined_outside_path(), derive_constant_upper_bound_ops(), edge_info::derive_equivalences(), detach_value(), determine_known_aggregate_parts(), determine_max_movement(), difference_cannot_overflow_p(), do_invalidate(), dse_classify_store(), equiv_oracle::dump(), range_def_chain::dump(), gimple_ranger::dump_bb(), dump_replaceable_exprs(), easy_exit_values(), edge_forwards_cmp_to_conditional_jump_through_empty_bb_p(), gori_compute::edge_range_p(), eliminate_dom_walker::eliminate_avail(), rpo_elim::eliminate_avail(), eliminate_dom_walker::eliminate_insert(), eliminate_plus_minus_pair(), eliminate_redundant_comparison(), eliminate_dom_walker::eliminate_stmt(), eliminate_tail_call(), eliminate_temp_copies(), eliminate_unnecessary_stmts(), emit_warn_switch_unreachable(), estimate_threading_killed_stmts(), evaluate_stmt(), execute_cse_conv_1(), execute_cse_reciprocals_1(), execute_cse_sincos_1(), ranger_cache::exit_range(), expand_call_inline(), expand_case(), expand_complex_libcall(), expand_expr_real_1(), expand_expr_real_2(), expand_gimple_cond(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), expand_simple_operations(), expr_coherent_p(), expr_expected_value_1(), expr_invariant_in_loop_p(), expr_invariant_in_region_p(), extract_component(), factor_out_conditional_operation(), ranger_cache::fill_block_cache(), final_range_test_p(), final_value_replacement_loop(), find_conditions(), find_deps_in_bb_for_stmt(), find_deriving_biv_for_expr(), find_equal_ptrs(), find_foldable_builtin_expect(), find_insert_point(), find_interesting_uses_op(), find_inv_vars_cb(), find_loop_guard(), pcom_worker::find_looparound_phi(), find_or_create_guard_phi(), back_threader::find_paths_to_names(), find_reduc_addr(), find_replaceable_in_bb(), find_ssa_names_to_propagate(), find_subloop_latch_edge_by_ivs(), find_unswitching_predicates_for_bb(), find_uses_to_rename_use(), find_var_cmp_const(), find_vdef_in_loop(), fini_ssanames(), finish_update_gimple_call(), fixup_noreturn_call(), fold_builtin_alloca_with_align(), fold_strstr_to_strncmp(), follow_copies_to_constant(), follow_outer_ssa_edges(), scev_dfs::follow_ssa_edge_expr(), force_move_till_op(), fully_replaceable(), gen_conditions_for_pow_int_base(), gen_simplified_condition(), get_attr_nonstring_decl(), get_base_decl(), get_base_for_alignment_1(), get_bit_field_ref_def(), get_component_ssa_name(), scalar_cond_masked_key::get_cond_ops_from_tree(), get_continuation_for_phi(), get_copy_of_val(), get_cst_init_from_scev(), get_def(), range_def_chain::get_def_chain(), get_default_value(), ipa_polymorphic_call_context::get_dynamic_type(), get_gimple_for_ssa_name(), ranger_cache::get_global_range(), get_iv(), get_known_nonzero_bits(), get_min_precision(), get_name_for_bit_test(), get_nonzero_bits(), get_ops(), get_prop_source_stmt(), get_range_pos_neg(), get_range_strlen(), get_range_strlen_dynamic(), get_rank(), get_reassociation_width(), access_ref::get_ref(), get_representative_for(), get_ssa_def_if_simple_copy(), get_stridx(), get_unary_op(), get_upper_bound_based_on_builtin_expr_with_prob(), get_val_for(), get_value_locus_in_path(), gimple_assign_set_lhs(), gimple_binop_def_p(), gimple_build_valueize(), gimple_call_set_lhs(), gimple_convert_def_p(), gimple_expand_vec_cond_expr(), gimple_fold_call(), gimple_lower_bitint(), gimple_move_vops(), gimple_phi_set_result(), gimple_replace_ssa_lhs(), gimplify_modify_expr(), gimplify_size_expressions(), phi_analyzer::group(), gsi_replace_with_seq_vops(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_stxncpy_strncat(), remove_unreachable::handle_early(), handle_min_max_size(), strlen_pass::handle_pointer_plus(), handle_ssa_name(), hardcfr_sibcall_search_preds(), hoist_adjacent_loads(), hoist_defs_of_uses(), ifcombine_mark_ssa_name(), ifcvt_available_on_edge_p(), ifcvt_local_dce(), independent_of_stmt_p(), access_ref::inform_access(), init_range_entry(), input_gimple_stmt(), input_ssa_names(), insert_backedge_copies(), insert_debug_temp_for_var_def(), insert_initializers(), insert_into_preds_of_block(), insert_phi_nodes(), insert_predicates_for_cond(), instantiate_scev_name(), instrument_object_size(), integer_valued_real_single_p(), tree_loop_interchange::interchange_loops(), internal_get_tmp_var(), interpret_rhs_expr(), invariant_in_sese_p_rec(), ipa_analyze_indirect_call_uses(), ipa_analyze_virtual_call_uses(), ipa_compute_jump_functions_for_edge(), ipa_load_from_parm_agg(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), is_addr_local(), is_cond_scalar_reduction(), is_degenerate_phi(), is_division_by_square(), is_inv_store_elimination_chain(), is_strlen_related_p(), is_widening_mult_rhs_p(), likely_value(), linearize_expr(), linearize_expr_tree(), local_mem_dependence(), vec_info::lookup_def(), loop_closed_phi_def(), loop_combined_static_and_iv_p(), loop_invariant_op_p(), loop_iter_phi_semi_invariant_p(), loop_static_op_p(), lower_bitfield(), lower_vec_perm(), make_new_ssa_for_all_defs(), make_ssa_name_fn(), malloc_candidate_p_1(), tree_loop_interchange::map_inductions_to_loop(), mark_aliased_reaching_defs_necessary_1(), mark_all_reaching_defs_necessary_1(), mark_bivs(), mark_operand_necessary(), mark_operand_necessary(), match_arith_overflow(), match_single_bit_test(), match_uaddc_usubc(), gori_compute::may_recompute_p(), maybe_add_asan_poison_write(), gori_map::maybe_add_gori(), maybe_duplicate_ssa_info_at_copy(), maybe_get_single_definition(), maybe_optimize_guarding_check(), maybe_set_nonzero_bits(), maybe_set_strlen_range(), maybe_set_vectorized_backedge_value(), maybe_skip_until(), maybe_warn_operand(), minmax_replacement(), ipa_param_adjustments::modify_call(), multiple_of_p(), ncd_with_phi(), negate_value(), neuter_worker_single(), ssa_name_limit_t::next_phi(), predicate::normalize(), predicate::normalize(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_popcount(), object_sizes_set(), ompdevlow_adjust_simt_enter(), operand_equal_for_value_replacement(), phi_analyzer::operator[](), ops_equal_values_p(), optimize_atomic_bit_test_and(), optimize_atomic_op_fetch_cmp_0(), optimize_memcpy_to_memset(), optimize_pow_to_exp(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_recip_sqrt(), optimize_stack_restore(), dom_opt_dom_walker::optimize_stmt(), optimize_vector_constructor(), optimize_vector_load(), or_comparisons_1(), or_var_with_comparison(), or_var_with_comparison_1(), outermost_invariant_loop(), outermost_invariant_loop_for_expr(), output_ssa_names(), ovce_extract_ops(), overflow_comparison_p_1(), param_change_prob(), parloops_is_simple_reduction(), parse_predicate(), crc_optimization::passes_checks_for_def_chain(), access_ref::phi(), phi_add_costs_1(), phi_dynamic_object_size(), phi_incr_cost_1(), phi_rank(), phi_translate_1(), phiprop_insert_phi(), predict_extra_loop_exits(), predict_loops(), gimple_ranger::prefill_name(), gimple_ranger::prefill_stmt_dependencies(), ipa_param_body_adjustments::prepare_debug_expressions(), prepare_def_site_for(), print_node(), process_bb(), phi_analyzer::process_phi(), propagate_necessity(), propagate_with_phi(), prune_clobbered_mems(), uninit_analysis::prune_phi_opnds(), path_range_query::range_defined_in_block(), ranger_cache::range_from_dom(), ranger_cache::range_of_def(), gimple_ranger::range_of_expr(), ranger_cache::range_of_expr(), gimple_ranger::range_on_entry(), gimple_ranger::range_on_exit(), rank_ops_for_fma(), reassociate_bb(), recognise_vec_perm_simplify_seq(), recognize_bits_test(), recognize_single_bit_test(), relation_oracle::record(), record_edge_info(), record_equivalences_from_stmt(), record_increment(), record_invariant(), record_modified(), record_phi_increments_1(), record_temporary_equivalences(), jump_threader::record_temporary_equivalences_from_phis(), cgraph_edge::redirect_call_stmt_to_callee(), reduction_info::reduc_phi(), reduce_vector_comparison_to_scalar_comparison(), gori_compute::refine_using_relation(), range_def_chain::register_dependency(), equiv_oracle::register_initial_def(), fur_source::register_outgoing_edges(), fold_using_range::relation_fold_and_or(), release_defs_bitset(), remap_gimple_op_r(), remap_gimple_stmt(), remap_ssa_name(), remove_gimple_phi_args(), remove_prop_source_from_use(), remove_unused_ivs(), remove_visited_stmt_chain(), replace_locals_op(), replace_names_by_phis(), replace_phi_edge_with_variable(), replace_ssa_name(), repropagate_negates(), reserve_phi_args_for_new_edge(), ranger_cache::resolve_dom(), result_of_phi(), returning_call_p(), rewrite_add_phi_arguments(), rewrite_bittest(), rewrite_debug_stmt_uses(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), rewrite_update_phi_arguments(), rhs_is_fed_for_value_replacement(), same_bool_comparison_p(), scan_operand_equal_p(), scev_analyzable_p(), scev_var_range_cant_overflow(), sese_build_liveouts_use(), set_component_ssa_name(), set_cond_stmt_execution_predicate(), crc_optimization::set_defs(), ranger_cache::set_global_range(), dom_opt_dom_walker::set_global_ranges_from_unreachable_edges(), set_var_live_on_entry(), should_break_up_subtract(), shrink_wrap_one_built_in_call_with_conds(), simple_dce_from_worklist(), simple_iv_increment_p(), simplify_1a(), predicate::simplify_4(), simplify_builtin_call(), simplify_using_ranges::simplify_casted_compare(), simplify_conversion_using_ranges(), simplify_gimple_switch(), simplify_permutation(), simplify_rotate(), ssa_propagation_engine::simulate_stmt(), single_trailing_store_in_bb(), sink_common_stores_to_bb(), skip_a_safe_conversion_op(), sm_seq_valid_bb(), sort_by_operand_rank(), split_address_to_core_and_offset(), split_constant_offset_1(), split_function(), split_loop(), split_part_set_ssa_name_p(), ssa_defined_by_minus_one_stmt_p(), path_range_query::ssa_defined_in_bb(), ssa_semi_invariant_p(), ssa_undefined_value_p(), ssa_uniform_vector_p(), stmt_semi_invariant_p_1(), strip_bit_not(), strip_conversion(), strip_nop_cond_scalar_reduction(), thread_private_new_memory(), transaction_invariant_address_p(), loop_distribution::transform_reduction_loop(), transform_to_exit_first_loop(), transform_to_exit_first_loop_alt(), translate_vuse_through_block(), tree_function_versioning(), tree_optimize_tail_calls_1(), tree_single_nonnegative_warnv_p(), trivially_conflicts_p(), try_transform_to_exit_first_loop_alt(), uaddc_cast(), uaddc_ne0(), unadjusted_ptr_and_unit_offset(), undistribute_bitref_for_vector(), undistribute_ops_list(), loop_cand::undo_simple_reduction(), unmodified_parm(), unmodified_parm_or_parm_agg_item(), update_debug_stmt(), update_dep_bb(), update_ops(), update_phi_components(), update_range_test(), use_internal_fn(), va_list_counter_bump(), value_available_p(), valueize_op_1(), valueized_wider_op(), vect_check_gather_scatter(), vect_create_epilog_for_reduction(), vect_do_peeling(), vect_find_reusable_accumulator(), vect_find_stmt_data_reference(), vect_get_and_check_slp_defs(), vect_get_external_def_edge(), vect_get_loop_len(), vect_get_loop_mask(), vect_is_nonlinear_iv_evolution(), vect_is_simple_iv_evolution(), vect_is_simple_reduction(), vect_is_simple_use(), vect_loop_versioning(), vect_phi_first_order_recurrence_p(), vect_recog_bitfield_ref_pattern(), vect_recog_cond_store_pattern(), vect_recog_divmod_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_record_grouped_load_vectors(), vect_remove_slp_scalar_calls(), vect_schedule_scc(), vect_schedule_slp_node(), vect_simd_lane_linear(), vect_slp_check_for_roots(), vect_transform_reduction(), vect_transform_slp_perm_load_1(), vector_element(), vectorizable_condition(), vectorizable_conversion(), vectorizable_induction(), vectorizable_live_operation(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_recurr(), vectorizable_scan_store(), vectorizable_store(), vectorize_fold_left_reduction(), verify_def(), verify_live_on_entry(), verify_ssa(), verify_ssa_name(), verify_use(), visit_nary_op(), scc_copy_prop::visit_op(), ccp_propagate::visit_phi(), visit_phi(), visit_reference_op_call(), vn_reference_lookup_3(), vn_reference_maybe_forwprop_address(), vn_valueize_for_srt(), walk_aliased_vdefs_1(), walk_non_aliased_vuses(), walk_ssa_copies(), warn_dealloc_offset(), warn_uninit(), warn_uninitialized_phi(), worker_single_copy(), zero_one_minusone(), and zero_one_operation().
#define SSA_NAME_IDENTIFIER | ( | NODE | ) |
Returns the IDENTIFIER_NODE giving the SSA name a name or NULL_TREE if there is no name associated with it.
Referenced by add_field_for_name(), add_field_for_reduction(), copy_ssa_name_fn(), dump_function_to_file(), dump_generic_node(), fold_builtin_alloca_with_align(), get_name(), access_ref::inform_access(), install_var_field(), and remap_ssa_name().
#define SSA_NAME_IMM_USE_NODE | ( | NODE | ) |
Return the immediate_use information for an SSA_NAME.
Referenced by first_imm_use_stmt(), first_readonly_imm_use(), has_single_use(), has_zero_uses(), init_ssa_name_imm_use(), link_imm_use(), num_imm_uses(), release_ssa_name_fn(), single_imm_use(), single_use(), and verify_imm_links().
#define SSA_NAME_IN_FREE_LIST | ( | NODE | ) |
Nonzero if this SSA_NAME expression is currently on the free list of SSA_NAMES. Using NOTHROW_FLAG seems reasonably safe since throwing has no meaning for an SSA_NAME.
Referenced by dump_alias_info(), eliminate_dom_walker::eliminate_stmt(), gimple_ranger::export_global_ranges(), find_released_ssa_name(), make_ssa_name_fn(), output_ssa_names(), print_node(), release_ssa_name_fn(), remove_unreachable::remove_and_update_globals(), remove_prop_source_from_use(), update_ssa(), relation_oracle::valid_equivs(), verify_ssa_name(), verify_ssaname_freelists(), vuse_ssa_val(), and vuse_valueize().
#define SSA_NAME_IS_DEFAULT_DEF | ( | NODE | ) |
Nonzero if this SSA_NAME is the default definition for the underlying symbol. A default SSA name is created for symbol S if the very first reference to S in the function is a read operation. Default definitions are always created by an empty statement and belong to no basic block.
Referenced by add_mask_else_and_len_args(), adjust_debug_stmts(), analyze_agg_content_value(), and_comparisons_1(), asan_expand_poison_ifn(), avoid_deep_ter_for_debug(), ranger_cache::block_range(), build_ssa_conflict_graph(), check_name(), chk_uses(), chrec_contains_symbols_defined_in_loop(), classify_builtin_st(), coalesce_bitint(), coalesce_partitions(), coalesce_with_default(), ipa_icf_gimple::func_checker::compare_ssa_name(), compute_added_num_insns(), compute_avail(), compute_complex_ancestor_jump_func(), compute_complex_assign_jump_func(), compute_dependence_clique(), path_range_query::compute_exit_dependencies(), compute_optimized_partition_bases(), decode_field_reference(), decompose_param_expr(), dump_generic_node(), eliminate_dom_walker::eliminate_avail(), rpo_elim::eliminate_avail(), eliminate_dom_walker::eliminate_insert(), eliminate_dom_walker::eliminate_stmt(), eliminate_unnecessary_stmts(), evaluate_stmt(), execute_cse_conv_1(), execute_cse_sincos_1(), expand_debug_expr(), expand_expr_real_1(), expand_fn_using_insn(), find_what_p_points_to(), follow_outer_ssa_edges(), get_ancestor_addr_info(), get_component_ssa_name(), get_constraint_for_ssa_var(), get_continuation_for_phi(), range_def_chain::get_def_chain(), ipa_polymorphic_call_context::get_dynamic_type(), get_fi_for_callee(), get_scalar_evolution(), get_ssa_base_param(), get_ssa_def_if_simple_copy(), gimple_binop_def_p(), gimple_convert_def_p(), gimple_lower_bitint(), gimple_range_global(), hardcfr_sibcall_search_preds(), hash_tree(), hoist_adjacent_loads(), ifcombine_mark_ssa_name(), init_reassoc(), initialize_argument_information(), insert_phi_nodes(), instantiate_scev_name(), ipa_analyze_indirect_call_uses(), ipa_analyze_virtual_call_uses(), ipa_compute_jump_functions_for_edge(), ipa_get_stmt_member_ptr_load_param(), ipa_is_ssa_with_stmt_def(), ipa_load_from_parm_agg(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_simd_modify_function_body(), likely_value(), load_or_store_of_ptr_parameter(), vec_info::lookup_def(), loop_combined_static_and_iv_p(), loop_invariant_op_p(), loop_static_op_p(), make_ssa_name_fn(), tree_loop_interchange::map_inductions_to_loop(), match_simplify_replacement(), may_propagate_copy(), maybe_remove_writeonly_store(), maybe_replace_use_in_debug_stmt(), ipa_param_body_adjustments::modify_call_stmt(), or_comparisons_1(), output_ssa_names(), pack_ts_base_value_fields(), param_change_prob(), param_type_may_change_p(), parm_decl_cost(), partition_view_init(), crc_optimization::passes_checks_for_def_chain(), phi_rank(), populate_coalesce_list_for_outofssa(), gimple_ranger::prefill_stmt_dependencies(), ipa_param_body_adjustments::prepare_debug_expressions(), process_bb(), propagate_with_phi(), record_modified(), equiv_oracle::register_initial_def(), release_ssa_name_fn(), remap_ssa_name(), remove_unreachable::remove_and_update_globals(), remove_prop_source_from_use(), remove_unused_locals(), replace_ssa_name(), returning_call_p(), rewrite_debug_stmt_uses(), set_component_ssa_name(), dom_opt_dom_walker::set_global_ranges_from_unreachable_edges(), set_rtl(), set_ssa_default_def(), setup_one_parameter(), simple_dce_from_worklist(), ssa_propagation_engine::simulate_stmt(), single_trailing_store_in_bb(), sink_clobbers(), skip_a_safe_conversion_op(), slsr_process_phi(), split_part_set_ssa_name_p(), thread_private_new_memory(), unadjusted_ptr_and_unit_offset(), unmodified_parm(), unmodified_parm_1(), unmodified_parm_or_parm_agg_item(), unpack_ts_base_value_fields(), update_dep_bb(), update_range_test(), value_available_p(), vect_create_constant_vectors(), vect_get_and_check_slp_defs(), vect_get_external_def_edge(), vect_get_vec_defs_for_operand(), vect_is_simple_use(), vect_phi_first_order_recurrence_p(), vect_schedule_slp_node(), vect_slp_analyze_node_operations(), vect_transform_reduction(), vectorizable_live_operation(), verify_ssa_name(), verify_ssaname_freelists(), verify_use(), visit_loadstore(), ccp_propagate::visit_phi(), visit_phi(), visit_reference_op_call(), VN_INFO(), vn_reference_lookup_2(), vn_valueize_for_srt(), walk_ssa_copies(), and warn_uninit_phi_uses().
#define SSA_NAME_IS_VIRTUAL_OPERAND | ( | NODE | ) |
SSA_NAME accessors.
Whether SSA_NAME NODE is a virtual operand. This simply caches the information in the underlying SSA_NAME_VAR for efficiency.
Referenced by gimple_lower_bitint(), gimple_range_ssa_p(), mark_ssa_maybe_undefs(), neuter_worker_single(), virtual_operand_p(), visit_phi(), and worker_single_copy().
#define SSA_NAME_OCCURS_IN_ABNORMAL_PHI | ( | NODE | ) |
Nonzero if this SSA name occurs in an abnormal PHI. SSA_NAMES are never output, so we can safely use the ASM_WRITTEN_FLAG for this status bit.
Referenced by add_phi_arg(), associate_equivalences_with_edges(), rewrite_update_dom_walker::before_dom_children(), can_reassociate_op_p(), clean_up_loop_closed_phi(), combine_blocks(), compute_uninit_opnds_pos(), contains_abnormal_ssa_name_p_1(), convert_mult_to_widen(), create_expression_by_pieces(), create_new_def_for(), do_pre_regular_insertion(), dump_generic_node(), eliminate_dom_walker::eliminate_avail(), eliminate_redundant_comparison(), eliminate_redundant_computations(), evaluate_stmt(), execute_cse_conv_1(), expand_simple_operations(), final_value_replacement_loop(), find_basis_for_base_expr(), find_bivs(), back_threader::find_paths_to_names(), find_phi_def(), get_component_ssa_name(), get_stridx_plus_constant(), get_value_for_expr(), gimple_lower_bitint(), gimple_merge_blocks(), gimple_range_ssa_p(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_store(), if_convertible_gimple_assign_stmt_p(), ifcombine_ifandif(), init_range_entry(), instrument_object_size(), ipa_simd_modify_function_body(), match_arith_overflow(), may_propagate_copy(), may_propagate_copy_into_stmt(), maybe_push_res_to_seq(), movement_possibility_1(), new_stridx(), object_sizes_execute(), gimple_match_op::operands_occurs_in_abnormal_phi(), optimize_atomic_bit_test_and(), optimize_atomic_op_fetch_cmp_0(), optimize_vector_constructor(), print_node(), record_equivalences_from_phis(), remap_ssa_name(), remove_dead_phis(), replace_abnormal_ssa_names(), substitute_and_fold_engine::replace_phi_args_in(), ipa_param_body_adjustments::replace_removed_params_ssa_names(), replace_stmt_with_simplification(), replace_uses_by(), repropagate_negates(), rewrite_update_phi_arguments(), set_component_ssa_name(), set_ssa_val_to(), setup_one_parameter(), shrink_wrap_one_built_in_call_with_conds(), simplify_using_ranges::simplify_casted_compare(), simplify_conversion_using_ranges(), sink_clobbers(), spaceship_replacement(), split_constant_offset_1(), ssa_semi_invariant_p(), statement_sink_location(), stmt_may_generate_copy(), stmt_may_generate_copy(), stmt_references_abnormal_ssa_name(), stmt_semi_invariant_p_1(), unlink_stmt_vdef(), unsplit_eh(), update_ssa_across_abnormal_edges(), fvrp_folder::value_of_expr(), rvrp_folder::value_of_expr(), fvrp_folder::value_of_stmt(), rvrp_folder::value_of_stmt(), fvrp_folder::value_on_edge(), rvrp_folder::value_on_edge(), vectorizable_live_operation(), verify_use(), visit_nary_op(), complex_propagate::visit_phi(), copy_prop::visit_phi(), visit_phi(), complex_propagate::visit_stmt(), visit_stmt(), vn_reference_lookup_3(), vn_reference_maybe_forwprop_address(), and zero_length_string().
#define SSA_NAME_POINTS_TO_READONLY_MEMORY | ( | NODE | ) |
Nonzero if this SSA_NAME is known to point to memory that may not be written to. This is set for default defs of function parameters that have a corresponding r or R specification in the functions fn spec attribute. This is used by alias analysis.
Referenced by call_may_clobber_ref_p_1(), and refs_may_alias_p_2().
#define SSA_NAME_PTR_INFO | ( | N | ) |
Attributes for SSA_NAMEs for pointer-type variables.
Referenced by bump_vector_ptr(), call_may_clobber_ref_p_1(), copy_ref_info(), default_ref_may_alias_errno(), dr_analyze_alias(), dump_alias_info(), dump_points_to_info_for(), dump_ssaname_info(), duplicate_ssa_name_fn(), duplicate_ssa_name_ptr_info(), ipa_icf::sem_item_optimizer::fixup_points_to_sets(), fold_builtin_alloca_with_align(), get_nonzero_bits_1(), get_pointer_alignment_1(), get_ptr_info(), get_ssa_name_ptr_info_nonnull(), gimple_range_global(), issue_prefetch_ref(), make_ssa_name_fn(), maybe_duplicate_ssa_info_at_copy(), maybe_set_nonzero_bits(), ipa_icf::sem_item_optimizer::merge_classes(), predicate_load_or_store(), print_node(), ptr_deref_may_alias_decl_p(), ptr_deref_may_alias_global_p(), ptr_derefs_may_alias_p(), ptrs_compare_unequal(), ref_maybe_used_by_call_p_1(), remap_ssa_name(), reset_flow_sensitive_info(), flow_sensitive_info_storage::restore(), rewrite_use_nonlinear_expr(), same_addr_size_stores_p(), flow_sensitive_info_storage::save(), stmt_may_generate_copy(), update_alias_info_with_stack_vars(), vect_create_addr_base_for_vector_ref(), vect_duplicate_ssa_name_ptr_info(), and verify_ssa().
#define SSA_NAME_RANGE_INFO | ( | N | ) |
Value range info attributes for SSA_NAMEs of non pointer-type variables.
Referenced by dump_ssaname_info(), get_ssa_name_range_info(), gimple_range_global(), insert_into_preds_of_block(), make_ssa_name_fn(), maybe_duplicate_ssa_info_at_copy(), ipa_icf::sem_item_optimizer::merge_classes(), range_info_alloc(), range_info_fits_p(), range_info_free(), range_info_get_range(), range_info_p(), range_info_set_range(), remap_ssa_name(), replace_phi_edge_with_variable(), reset_flow_sensitive_info(), flow_sensitive_info_storage::restore(), flow_sensitive_info_storage::save(), stmt_may_generate_copy(), supportable_indirect_convert_operation(), value_replacement(), and verify_ssa().
#define SSA_NAME_VAR | ( | NODE | ) |
Returns the variable being referenced. This can be NULL_TREE for temporaries not associated with any user variable. Once released, this is the only field that can be relied upon.
Referenced by _loop_vec_info::_loop_vec_info(), add_mask_else_and_len_args(), add_new_name_mapping(), adjust_one_expanded_partition_var(), adjust_simduid_builtins(), rewrite_dom_walker::after_dom_children(), analyze_agg_content_value(), asan_expand_poison_ifn(), rewrite_dom_walker::before_dom_children(), rewrite_update_dom_walker::before_dom_children(), build_ssa_conflict_graph(), coalesce_bitint(), coalesce_partitions(), coalesce_with_default(), collect_object_sizes_for(), ipa_icf_gimple::func_checker::compare_ssa_name(), compute_complex_ancestor_jump_func(), compute_complex_assign_jump_func(), compute_dependence_clique(), compute_optimized_partition_bases(), consider_split(), copy_ssa_name_fn(), create_parallel_loop(), defer_stack_allocation(), determine_iv_cost(), dump_default_def(), dump_defs_stack(), dump_function_to_file(), dump_generic_node(), dump_variable(), eliminate_tail_call(), eliminate_temp_copies(), eliminated_by_inlining_prob(), ssa_name_var_hash::equal(), execute_load_motion(), expand_asm_stmt(), expand_call_inline(), expand_debug_expr(), expand_expr_real_1(), expand_fn_using_insn(), expand_omp_taskreg(), operands_scanner::finalize_ssa_defs(), operands_scanner::finalize_ssa_uses(), find_assumption_locals_r(), find_replaceable_in_bb(), find_what_p_points_to(), fold_builtin_next_arg(), get_ancestor_addr_info(), get_attr_nonstring_decl(), get_base_decl(), get_component_ssa_name(), get_constraint_for_ssa_var(), ana::state_purge_map::get_data_for_ssa_name(), get_default_value(), get_fi_for_callee(), get_reaching_def(), get_references_in_stmt(), get_ssa_base_param(), gimple_can_coalesce_p(), gimple_lower_bitint(), gimple_parm_array_size(), gimple_range_global(), ssa_name_var_hash::hash(), access_ref::inform_access(), initialize_argument_information(), initialize_inlined_parameters(), initialize_root_vars_store_elim_2(), input_ssa_names(), ipa_analyze_indirect_call_uses(), ipa_analyze_virtual_call_uses(), ipa_compute_jump_functions_for_edge(), ipa_get_stmt_member_ptr_load_param(), ipa_load_from_parm_agg(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_simd_modify_function_body(), is_parm(), load_or_store_of_ptr_parameter(), tree_loop_interchange::map_inductions_to_loop(), mark_all_vars_used_1(), mark_nonssa_use(), mark_virtual_operand_for_renaming(), may_propagate_copy(), maybe_register_def(), maybe_replace_use(), maybe_replace_use_in_debug_stmt(), maybe_warn_operand(), ipa_param_body_adjustments::modify_call_stmt(), move_block_to_fn(), note_simd_array_uses(), omp_extract_for_data(), output_ssa_names(), param_type_may_change_p(), parm_decl_cost(), parm_object_size(), partition_view_init(), populate_coalesce_list_for_outofssa(), prepare_block_for_update_1(), prepare_decl_rtl(), print_node(), process_replaceable(), promote_ssa_mode(), remap_gimple_stmt(), remap_ssa_name(), remove_unused_ivs(), remove_unused_locals(), replace_block_by(), replace_ref_with(), ipa_param_body_adjustments::replace_removed_params_ssa_names(), replace_ssa_name(), rewrite_add_phi_arguments(), rewrite_update_phi_arguments(), rewrite_use_compare(), separate_decls_in_region_name(), set_component_ssa_name(), set_rtl(), set_ssa_default_def(), ssa_defined_default_def_p(), target_for_debug_bind(), test_nonssa_use(), transform_to_exit_first_loop(), uninit_undefined_value_p(), unmodified_parm_1(), update_phi_components(), update_ssa(), use_register_for_decl(), vect_create_addr_base_for_vector_ref(), vect_find_stmt_data_reference(), vect_get_vec_defs_for_operand(), vect_simd_lane_linear(), vect_slp_analyze_node_operations(), vectorizable_call(), verify_def(), verify_gimple_call(), verify_gimple_phi(), verify_gimple_return(), verify_live_on_entry(), verify_ssa_name(), operands_scanner::verify_ssa_operands(), visit_loadstore(), VN_INFO(), vn_reference_lookup_2(), warn_uninit(), warn_uninit_phi_uses(), warn_uninitialized_phi(), and warn_uninitialized_vars().
#define SSA_NAME_VERSION | ( | NODE | ) |
Returns the SSA version number of this SSA name. Note that in tree SSA, version numbers are not per variable and may be recycled.
Referenced by add_dependence(), pcom_worker::add_looparound_copies(), add_new_name_mapping(), equiv_oracle::add_partial_equiv(), infer_range_manager::add_range(), path_range_query::add_to_exit_dependencies(), add_to_repl_tbl(), addr_object_size(), eliminate_dom_walker::after_dom_children(), alias_get_name(), alloc_expression_id(), temporal_cache::always_current_p(), analyze_function_body(), eliminate_dom_walker::before_dom_children(), strlen_pass::before_dom_children(), substitute_and_fold_dom_walker::before_dom_children(), build_bitint_stmt_ssa_conflicts(), build_new_reduction(), call_object_size(), range_def_chain::chain_import_p(), check_all_va_list_escapes(), strlen_pass::check_and_optimize_stmt(), check_for_plus_in_loops(), check_for_plus_in_loops_1(), check_reduction_path(), check_va_list_escapes(), cleanup_empty_eh_merge_phis(), ssa_cache::clear_range(), ssa_lazy_cache::clear_range(), coalesce_bitint(), coalesce_partitions(), coalesce_with_default(), collect_object_sizes_for(), ipa_icf_gimple::func_checker::compare_ssa_name(), compare_ssa_versions(), compute_builtin_object_size(), hybrid_jt_simplifier::compute_exit_dependencies(), path_range_query::compute_exit_dependencies(), cond_expr_object_size(), consider_split(), create_coalesce_list_for_region(), create_expression_by_pieces(), temporal_cache::current_p(), data_ref_compare_tree(), range_def_chain::depend1(), range_def_chain::depend2(), do_pre_regular_insertion(), dse_classify_store(), dump_copy_of(), dump_generic_node(), dynamic_object_size(), eliminate_dom_walker::eliminate_avail(), eliminate_dom_walker::eliminate_push_avail(), rpo_elim::eliminate_push_avail(), eliminate_dom_walker::eliminate_stmt(), eliminate_unnecessary_stmts(), equiv_oracle::equiv_set(), path_oracle::equiv_set(), path_range_query::exit_dependency_p(), expand_gimple_basic_block(), expand_gimple_cond(), expr_expected_value_1(), expr_object_size(), find_equal_ptrs(), equiv_oracle::find_equiv_dom(), find_lattice_value(), back_threader::find_paths_to_names(), infer_range_manager::exit_range_head::find_ptr(), relation_chain_head::find_relation(), dom_oracle::find_relation_block(), find_replaceable_in_bb(), crc_optimization::find_shift_after_xor(), find_tail_calls(), find_uses_to_rename_use(), find_va_list_reference(), find_var_scev_info(), find_vdef_in_loop(), fwprop_invalidate_lattice(), fwprop_set_lattice_val(), fwprop_ssa_val(), gather_ssa_name_hash_map_from(), get_component_ssa_name(), get_copy_of_val(), range_def_chain::get_def_chain(), pointer_equiv_analyzer::get_equiv(), get_gimple_for_ssa_name(), range_def_chain::get_imports(), get_instantiated_value_entry(), infer_range_manager::get_nonzero(), ssa_cache::get_range(), ssa_lazy_cache::get_range(), get_range_strlen(), get_range_strlen_phi(), get_rank(), pointer_query::get_ref(), pointer_query::get_ref(), ssa_equiv_stack::get_replacement(), get_rtx_for_ssa_name(), get_ssa_name_ann(), get_stridx(), get_stridx_plus_constant(), get_value(), gimple_lower_bitint(), gimplify_size_expressions(), phi_analyzer::group(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_strcpy(), remove_unreachable::handle_early(), strlen_pass::handle_pointer_plus(), range_def_chain::has_def_chain(), ssa_cache::has_range(), ssa_lazy_cache::has_range(), infer_range_manager::has_range_p(), has_VN_INFO(), pre_expr_d::hash(), tree_ssa_name_hash::hash(), vn_ssa_aux_hasher::hash(), operand_compare::hash_operand(), ifcombine_mark_ssa_name(), ifcombine_replace_cond(), range_def_chain::in_chain_p(), independent_of_stmt_p(), init_parameter_lattice_values(), insert_into_preds_of_block(), install_var_field(), tree_loop_interchange::interchange_loops(), gori_map::is_export_p(), gori_map::is_import_p(), phi_group::is_modifier_p(), is_new_name(), is_old_name(), path_oracle::killing_def(), ssa_equiv_stack::leave(), ssa_name_limit_t::leave_phi(), lookup_expression_id(), lto_indexable_tree_ref(), make_ssa_name_fn(), malloc_candidate_p_1(), tree_loop_interchange::map_inductions_to_loop(), mark_all_reaching_defs_necessary_1(), mark_lhs_in_seq_for_dce(), mark_operand_necessary(), mark_replaceable(), mark_ssa_maybe_undefs(), match_simplify_replacement(), gori_map::maybe_add_gori(), maybe_remove_writeonly_store(), maybe_skip_until(), back_threader::maybe_thread_block(), merge_object_sizes(), ssa_cache::merge_range(), ssa_lazy_cache::merge_range(), move_stmt(), name_info(), new_scev_info_str(), new_stridx(), oacc_entry_exit_ok_1(), oacc_entry_exit_single_gang(), object_sizes_execute(), phi_analyzer::operator[](), output_phi(), parm_object_size(), equiv_oracle::partial_equiv(), equiv_oracle::partial_equiv_set(), phi_dynamic_object_size(), phiprop_insert_phi(), phivn_valid_p(), plus_stmt_object_size(), populate_coalesce_list_for_outofssa(), predicate_for_phi_result(), prepare_def_site_for(), print_node(), phi_analyzer::process_phi(), process_replaceable(), propagate_rank(), propagate_unknowns(), propagate_with_phi(), uninit_analysis::prune_phi_opnds(), ssa_equiv_stack::push_replacement(), pointer_query::put_ref(), dom_oracle::query(), path_oracle::query(), block_range_cache::query_block_ranges(), range_entry_cmp(), dom_oracle::record(), equiv_oracle::record(), path_oracle::record(), record_invariant(), infer_range_manager::register_all_uses(), range_def_chain::register_dependency(), equiv_oracle::register_initial_def(), dom_oracle::register_transitives(), release_defs_bitset(), release_free_names_and_compact_live_names(), release_ssa_name_after_update_ssa(), release_ssa_name_fn(), remove_unused_ivs(), replace_mult_candidate(), replace_one_candidate(), scc_copy_prop::replace_scc_by_value(), rewrite_expr_tree_parallel(), separate_decls_in_region_debug(), separate_decls_in_region_name(), sese_build_liveouts_use(), temporal_cache::set_always_current(), block_range_cache::set_bb_range(), set_component_ssa_name(), set_copy_of_val(), crc_optimization::set_defs(), pointer_equiv_analyzer::set_global_equiv(), range_def_chain::set_import(), set_iv(), set_lattice_value(), dom_oracle::set_one_relation(), ssa_cache::set_range(), ssa_lazy_cache::set_range(), gori_map::set_range_invariant(), set_ssa_name_value(), temporal_cache::set_timestamp(), set_value_varying(), simple_dce_from_worklist(), pcom_worker::single_nonlooparound_use(), sm_seq_valid_bb(), sort_by_mach_mode(), sort_by_operand_rank(), sort_by_ssa_version_or_uid(), split_function(), SSA_VAL(), stack_var_cmp(), tree_swap_operands_p(), loop_cand::undo_simple_reduction(), unknown_object_size(), update_complex_assignment(), va_list_counter_bump(), va_list_counter_struct_op(), va_list_ptr_read(), va_list_ptr_write(), copy_folder::value_of_expr(), var_to_partition(), var_union(), vect_create_destination_var(), verify_def(), verify_phi_args(), verify_ssa(), verify_ssaname_freelists(), verify_use(), visit_bb(), complex_propagate::visit_phi(), ssa_name_limit_t::visit_phi(), visit_reference_op_call(), complex_propagate::visit_stmt(), VN_INFO(), vn_reference_compute_hash(), vn_reference_lookup_2(), vn_reference_lookup_3(), walk_aliased_vdefs_1(), will_be_nonconstant_expr_predicate(), will_be_nonconstant_predicate(), and zero_length_string().
#define SSA_VAR_P | ( | DECL | ) |
Define fields and accessors for nodes representing declared names.
Nonzero if DECL represents an SSA name or a variable that can possibly have an associated SSA name.
Referenced by operands_scanner::add_stmt_operand(), eliminate_local_variables_1(), expand_oacc_for(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_taskloop_for_outer(), force_expr_to_var_cost(), get_base_var(), gimple_call_nonnull_arg(), gimple_cond_get_ops_from_tree(), gimple_fold_builtin_memory_op(), gimple_switch_set_index(), instrument_object_size(), omp_extract_for_data(), optimize_atomic_compare_exchange_p(), replace_by_duplicate_decl(), same_addr_size_stores_p(), separate_decls_in_region_debug(), and volatile_lvalue_p().
#define ssize_int | ( | L | ) |
Referenced by c_strlen(), compute_argument_block_size(), create_waw_or_war_checks(), dr_analyze_innermost(), dr_known_forward_stride_p(), dr_step_indicator(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_builtin_strncpy(), get_range_strlen(), get_range_strlen_dynamic(), get_range_strlen_tree(), get_segment_min_max(), gimple_fold_builtin_strncpy(), locate_and_pad_parm(), pad_to_arg_alignment(), ref_at_iteration(), split_constant_offset(), split_constant_offset_1(), store_constructor(), ubsan_expand_ptr_ifn(), vect_create_addr_base_for_vector_ref(), vect_find_stmt_data_reference(), and vect_get_strided_load_store_ops().
#define ssizetype sizetype_tab[(int) stk_ssizetype] |
Referenced by c_strlen(), compute_distributive_range(), constant_byte_string(), create_waw_or_war_checks(), dr_analyze_indices(), dr_analyze_innermost(), dr_known_forward_stride_p(), dr_step_indicator(), expand_expr_real_2(), fold_comparison(), fold_to_nonsharp_ineq_using_bound(), get_segment_min_max(), get_stridx(), initialize_sizetypes(), layout_type(), lower_omp_target(), omp_get_for_step_from_incr(), omp_loop_number_of_iterations(), ref_at_iteration(), simd_clone_clauses_extract(), size_diffop_loc(), split_constant_offset_1(), store_constructor(), ubsan_expand_ptr_ifn(), unterminated_array(), and vect_gen_perm_mask_any().
#define STATEMENT_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents a statement expression.
#define STATEMENT_LIST_HEAD | ( | NODE | ) |
A STATEMENT_LIST chains statements together in GENERIC and GIMPLE. To reduce overhead, the nodes containing the statements are not trees. This avoids the overhead of tree_common on all linked list elements. Use the interface in tree-iterator.h to access this node.
Referenced by expr_first(), expr_single(), free_stmt_list(), tsi_delink(), tsi_link_after(), tsi_link_before(), and tsi_start().
#define STATEMENT_LIST_TAIL | ( | NODE | ) |
Referenced by expr_last(), free_stmt_list(), tsi_delink(), tsi_last(), tsi_link_after(), and tsi_link_before().
#define STMT_CHECK | ( | T | ) |
#define STRIP_ANY_LOCATION_WRAPPER | ( | EXP | ) |
Remove any VIEW_CONVERT_EXPR or NON_LVALUE_EXPR that's purely in use to provide a location_t.
Referenced by fixed_zerop(), operand_compare::hash_operand(), initializer_each_zero_or_onep(), integer_all_onesp(), integer_each_onep(), integer_minus_onep(), integer_nonzerop(), integer_onep(), integer_pow2p(), integer_truep(), integer_valued_real_p(), integer_zerop(), operand_compare::operand_equal_p(), real_minus_onep(), real_onep(), real_zerop(), tree_int_cst_equal(), and uniform_integer_cst_p().
#define STRIP_NOPS | ( | EXP | ) |
Given an expression as a tree, strip any conversion that generates no instruction. Accepts both tree and const_tree arguments since we are not modifying the tree itself.
Referenced by add_iv_candidate_for_use(), scev_dfs::add_to_evolution_1(), alloc_iv(), backtrace_base_for_ref(), bitwise_equal_p(), bitwise_inverted_equal_p(), c_strlen(), canonicalize_base_object_address(), canonicalize_constructor_val(), compute_objsize_r(), const_binop(), constant_byte_string(), contain_complex_addr_expr(), do_mpc_arg2(), do_mpfr_lgamma_r(), do_mpfr_remquo(), do_store_flag(), dr_analyze_indices(), dr_equal_offsets_p1(), dr_step_indicator(), dynamic_object_sizes_execute_one(), expand_builtin_atomic_fetch_op(), expand_builtin_object_size(), extract_base_bit_offset(), extract_bit_test_mask(), fold_binary_loc(), fold_builtin_constant_p(), fold_builtin_expect(), fold_builtin_frexp(), fold_builtin_modf(), fold_builtin_object_size(), fold_cond_expr_with_comparison(), fold_indirect_ref_1(), fold_ternary_loc(), fold_unary_loc(), force_expr_to_var_cost(), get_alias_set(), get_callee_fndecl(), get_initializer_for(), get_loop_invariant_expr(), get_name(), get_pointer_alignment_1(), get_shiftadd_cost(), gimple_fold_builtin(), gimple_fold_indirect_ref(), gimple_fold_stmt_to_constant_1(), gimple_get_virt_method_for_vtable(), gimplify_asm_expr(), operand_compare::hash_operand(), initializer_zerop(), loc_list_for_address_of_addr_expr_of_indirect_ref(), loc_list_from_tree_1(), symtab_node::maybe_create_reference(), maybe_warn_nonstring_arg(), native_encode_initializer(), no_evolution_in_loop_p(), omp_build_struct_sibling_lists(), omp_containing_struct(), omp_get_base_pointer(), omp_addr_tokenizer::omp_parse_access_method(), omp_addr_tokenizer::omp_parse_pointer(), operand_equal_for_comparison_p(), operand_compare::operand_equal_p(), optimize_bitfield_assignment_op(), optimize_range_tests_to_bit_test(), output_constructor(), output_ttype(), parm_decl_cost(), ptr_deref_may_alias_decl_p(), ptr_derefs_may_alias_p(), range_binop(), readonly_data_expr(), record_type_list(), rtl_for_decl_init(), simple_operand_p(), split_address_to_core_and_offset(), strip_offset_1(), tree_add_const_value_attribute(), tree_swap_operands_p(), tree_to_aff_combination(), vect_analyze_scalar_cycles_1(), vect_check_gather_scatter(), vect_find_stmt_data_reference(), and walk_ssa_copies().
#define STRIP_SIGN_NOPS | ( | EXP | ) |
Like STRIP_NOPS, but don't let the signedness change either.
Referenced by bound_difference(), fold_binary_loc(), fold_comparison(), fold_negate_expr(), fold_unary_loc(), gimplify_conversion(), negate_expr(), negate_expr_p(), refine_bounds_using_guard(), refine_value_range_using_guard(), and split_tree().
#define STRIP_TYPE_NOPS | ( | EXP | ) |
Like STRIP_NOPS, but don't alter the TREE_TYPE either.
Referenced by copy_tree_body_r(), gimplify_cond_expr(), remap_gimple_op_r(), and remap_gimple_stmt().
#define STRIP_USELESS_TYPE_CONVERSION | ( | EXP | ) |
Remove unnecessary type conversions according to tree_ssa_useless_type_conversion.
Referenced by build_ref_for_offset(), data_ref_compare_tree(), declare_return_variable(), dr_analyze_indices(), eliminate_redundant_comparison(), fold_ctor_reference(), fold_gimple_assign(), scev_dfs::follow_ssa_edge_expr(), fully_constant_vn_reference_p(), gimplify_compound_lval(), gimplify_expr(), gimplify_modify_expr(), goa_lhs_expr_p(), increment_start_addr(), maybe_create_ssa_name(), new_strinfo(), setup_one_parameter(), and simplify_builtin_call().
#define SUBSTITUTE_IN_EXPR | ( | EXP, | |
F, | |||
R ) |
This macro calls the above function but short-circuits the common case of a constant to save time and also checks for NULL.
Referenced by substitute_in_expr().
#define SUBSTITUTE_PLACEHOLDER_IN_EXPR | ( | EXP, | |
OBJ ) |
This macro calls the above function but short-circuits the common case of a constant to save time and also checks for NULL.
Referenced by array_ref_element_size(), array_ref_low_bound(), array_ref_up_bound(), component_ref_field_offset(), expr_size(), gimplify_variable_sized_compare(), maybe_with_size_expr(), and substitute_placeholder_in_expr().
#define SWITCH_ALL_CASES_P | ( | NODE | ) |
True if there are case labels for all possible values of SWITCH_COND, either because there is a default: case label or because the case label ranges cover all values.
Referenced by block_may_fallthru().
#define SWITCH_BODY | ( | NODE | ) |
Referenced by block_may_fallthru(), contains_label_1(), dump_generic_node(), and gimplify_switch_expr().
#define SWITCH_BREAK_LABEL_P | ( | NODE | ) |
Set on the artificial label created for break; stmt from a switch. This is used to implement -Wimplicit-fallthrough.
Referenced by collect_fallthrough_labels(), and gimplify_switch_expr().
#define SWITCH_COND | ( | NODE | ) |
SWITCH_EXPR accessors. These give access to the condition and body.
Referenced by contains_label_1(), dump_generic_node(), and gimplify_switch_expr().
#define ta_type_node global_trees[TI_TA_TYPE] |
#define TARGET_EXPR_CLEANUP | ( | NODE | ) |
Referenced by gimplify_target_expr().
#define TARGET_EXPR_INITIAL | ( | NODE | ) |
Referenced by computable_teams_clause(), dump_generic_node(), gimplify_arg(), gimplify_modify_expr_rhs(), gimplify_target_expr(), goa_stabilize_expr(), and tree_invalid_nonnegative_warnv_p().
#define TARGET_EXPR_NO_ELIDE | ( | NODE | ) |
Don't elide the initialization of TARGET_EXPR_SLOT for this TARGET_EXPR on rhs of MODIFY_EXPR.
Referenced by gimplify_modify_expr_rhs().
#define TARGET_EXPR_SLOT | ( | NODE | ) |
In a TARGET_EXPR node.
Referenced by computable_teams_clause(), dump_generic_node(), gimplify_target_expr(), operand_compare::hash_operand(), tree_invalid_nonnegative_warnv_p(), and tree_single_nonzero_warnv_p().
#define target_option_current_node global_trees[TI_TARGET_OPTION_CURRENT] |
Referenced by decl_attributes().
#define target_option_default_node global_trees[TI_TARGET_OPTION_DEFAULT] |
Default/current target options (TARGET_OPTION_NODE).
Referenced by cgraph_build_static_cdtor(), decl_attributes(), default_target_can_inline_p(), and target_opts_for_fn().
#define TMR_BASE | ( | NODE | ) |
The operands of a TARGET_MEM_REF. Operands 0 and 1 have to match corresponding MEM_REF operands.
Referenced by ao_ref_from_mem(), expand_debug_expr(), find_interesting_uses_address(), for_each_index(), get_address_description(), get_ref_base_and_extent(), operands_scanner::get_tmr_operands(), gimplify_expr(), mark_all_vars_used_1(), requires_barrier(), tree_mem_ref_addr(), and verify_types_in_gimple_reference().
#define TMR_INDEX | ( | NODE | ) |
Referenced by copy_reference_ops_from_ref(), dump_mem_ref(), find_interesting_uses_address(), for_each_index(), get_addr_base_and_unit_offset_1(), get_address_description(), get_object_alignment_2(), get_ref_base_and_extent(), operands_scanner::get_tmr_operands(), gimplify_expr(), indirect_ref_may_alias_decl_p(), indirect_refs_may_alias_p(), mark_all_vars_used_1(), tree_could_trap_p(), and tree_mem_ref_addr().
#define TMR_INDEX2 | ( | NODE | ) |
Referenced by copy_reference_ops_from_ref(), dump_mem_ref(), find_interesting_uses_address(), for_each_index(), get_addr_base_and_unit_offset_1(), get_address_description(), get_object_alignment_2(), get_ref_base_and_extent(), operands_scanner::get_tmr_operands(), gimplify_expr(), indirect_ref_may_alias_decl_p(), indirect_refs_may_alias_p(), mark_all_vars_used_1(), rewrite_use_address(), tree_could_trap_p(), and tree_mem_ref_addr().
#define TMR_OFFSET | ( | NODE | ) |
Referenced by copy_reference_ops_from_ref(), expand_call_mem_ref(), get_addr_base_and_unit_offset_1(), get_address_description(), reference_alias_ptr_type_1(), tree_mem_ref_addr(), and verify_types_in_gimple_reference().
#define TMR_STEP | ( | NODE | ) |
Referenced by copy_reference_ops_from_ref(), dump_mem_ref(), find_interesting_uses_address(), get_address_description(), get_object_alignment_2(), indirect_refs_may_alias_p(), and tree_mem_ref_addr().
#define tq_type_node global_trees[TI_TQ_TYPE] |
#define TRANSACTION_EXPR_BODY | ( | NODE | ) |
TM directives and accessors.
Referenced by dump_generic_node(), gimplify_transaction(), and voidify_wrapper_expr().
#define TRANSACTION_EXPR_OUTER | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_transaction().
#define TRANSACTION_EXPR_RELAXED | ( | NODE | ) |
Referenced by dump_generic_node(), and gimplify_transaction().
#define TRANSLATION_UNIT_LANGUAGE | ( | NODE | ) |
The source language of the translation-unit.
Referenced by build_translation_unit_decl(), hash_tree(), is_cxx(), is_fortran(), pack_ts_translation_unit_decl_value_fields(), and unpack_ts_translation_unit_decl_value_fields().
#define TRANSLATION_UNIT_WARN_EMPTY_P | ( | NODE | ) |
Nonzero if we should warn about the change in empty class parameter passing ABI in this TU.
#define TREE_ADDRESSABLE | ( | NODE | ) |
Define many boolean fields that all tree nodes have.
In VAR_DECL, PARM_DECL and RESULT_DECL nodes, nonzero means address of this is needed. So it cannot be in a register. In a FUNCTION_DECL it has no meaning. In LABEL_DECL nodes, it means a goto for this label has been seen from a place outside all binding contours that restore stack levels. In an artificial SSA_NAME that points to a stack partition with at least two variables, it means that at least one variable has TREE_ADDRESSABLE. In ..._TYPE nodes, it means that objects of this type must be fully addressable. This means that pieces of this object cannot go into register parameters, for example. If this a function type, this means that the value must be returned in memory. In CONSTRUCTOR nodes, it means object constructed must be in memory. In IDENTIFIER_NODEs, this means that some extern decl for this name had its address taken. That matters for inline functions. In a STMT_EXPR, it means we want the result of the enclosed expression.
Referenced by nontrapping_dom_walker::add_or_mark_expr(), add_stack_protection_conflicts(), aggregate_value_p(), asan_add_global(), asan_emit_stack_protection(), asan_protect_stack_decl(), assign_parms(), assign_parms_unsplit_complex(), assign_temp(), assumption_copy_decl(), avoid_type_punning_on_regs(), build_constant_desc(), build_var(), builtin_save_expr(), rt_bb_visited::check(), clear_addressable_bit(), convert_local_reference_op(), copy_decl_no_change(), copy_decl_to_var(), copy_result_decl_to_var(), copy_var_decl(), symtab_node::copy_visibility_from(), create_field_for_decl(), create_odr_indicator(), create_omp_child_function(), create_tmp_var(), create_tmp_var_for(), create_vop_var(), cgraph_node::create_wrapper(), declare_return_variable(), default_is_empty_record(), discover_nonconstant_array_refs_r(), dse_optimize_stmt(), dump_variable(), execute_update_addresses_taken(), expand_asm_stmt(), expand_assign_tm(), expand_call(), expand_constructor(), expand_debug_expr(), expand_debug_parm_decl(), expand_expr_real_1(), expand_expr_real_2(), expand_omp_build_assign(), expand_omp_for_generic(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_source_sink(), expand_omp_sections(), expand_omp_simd(), expand_omp_taskloop_for_inner(), expand_thunk(), extract_omp_for_update_vars(), finalize_must_preallocate(), finalize_nesting_tree_1(), gen_emutls_addr(), get_asan_shadow_memory_dynamic_address_decl(), get_debug_decl(), get_frame_type(), get_nl_goto_field(), get_target_arguments(), gimple_add_tmp_var(), gimple_expand_vec_set_extract_expr(), gimple_fold_builtin_memory_op(), gimple_regimplify_operands(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_compound_literal_expr(), gimplify_cond_expr(), gimplify_decl_expr(), gimplify_init_constructor(), gimplify_init_ctor_preeval(), gimplify_init_ctor_preeval_1(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), gimplify_omp_depend(), gimplify_parameters(), gimplify_scan_omp_clauses(), handle_rhs_call(), handle_simd_reference(), hash_tree(), immediate_const_ctor_p(), initialize_argument_information(), instrument_derefs(), instrument_object_size(), ipa_discover_variable_flags(), ipa_tm_create_version_alias(), is_asan_mark_p(), is_improper(), local_variable_can_escape(), lookup_field_for_decl(), lower_assumption(), lower_builtin_posix_memalign(), lower_depend_clauses(), lower_oacc_private_marker(), lower_omp_for_scan(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_omp_taskreg(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), symtab_node::make_decl_local(), mark_address_taken(), mark_addressable_1(), may_be_aliased(), maybe_add_sra_candidate(), maybe_build_inner_data_region(), maybe_instrument_pointer_overflow(), maybe_optimize_var(), maybe_rewrite_mem_ref_base(), ipa_icf::sem_variable::merge(), must_pass_in_stack_var_size(), must_pass_in_stack_var_size_or_pad(), needs_to_live_in_memory(), non_mem_decl_p(), oacc_privatization_candidate_p(), odr_types_equivalent_p(), omp_add_variable(), omp_copy_decl_2(), omp_oacc_kernels_decompose_1(), omp_resolve_clause_dependencies(), omp_shared_to_firstprivate_optimizable_decl_p(), ompdevlow_adjust_simt_enter(), optimize_compound_literals_in_ctor(), pack_ts_base_value_fields(), pass_by_reference(), precompute_arguments(), print_node(), reference_callee_copied(), remove_exit_barrier(), ipa_param_body_adjustments::reset_debug_stmts(), scan_sharing_clauses(), ipa_icf::set_addressable(), setup_one_parameter(), should_remove_lhs_p(), simd_clone_adjust(), simple_operand_p(), split_complex_args(), store_field(), suitable_for_tail_call_opt_p(), tm_log_add(), ubsan_encode_value(), unpack_ts_base_value_fields(), update_alias_info_with_stack_vars(), use_pointer_for_field(), use_register_for_decl(), vect_bb_slp_scalar_cost(), vector_element(), verify_address(), verify_phi_args(), walk_regimplify_phi(), and walk_stmt_load_store_addr_ops().
#define TREE_ASM_WRITTEN | ( | NODE | ) |
Nonzero in a VAR_DECL or STRING_CST means assembler code has been written. Nonzero in a FUNCTION_DECL means that the function has been compiled. This is interesting in an inline function, since it might not need to be compiled separately. Nonzero in a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ENUMERAL_TYPE or TYPE_DECL if the debugging info for the type has been written. In a BLOCK node, nonzero if reorder_blocks has already seen this block. In an SSA_NAME node, nonzero if the SSA_NAME occurs in an abnormal PHI node.
Referenced by add_string_csts(), all_blocks(), asan_emit_stack_protection(), asan_finish_file(), assemble_alias(), assemble_crc_table(), varpool_node::assemble_decl(), cgraph_node::assemble_thunks_and_aliases(), assemble_variable(), symtab_node::can_increase_alignment_p(), clear_block_marks(), copy_node(), count_string_csts(), cst_pool_loc_descr(), declare_inline_vars(), declare_weak(), do_assemble_alias(), symtab_node::dump_base(), dump_block_node(), execute_oacc_loop_designation(), cgraph_node::expand(), expand_thunk(), final_scan_insn_1(), final_start_function_1(), cgraph_node::finalize_function(), varpool_node::finalize_named_section_flags(), function_called_by_processed_nodes_p(), lookup_type_die(), lower_function_body(), lower_gimple_bind(), mark_constants_in_pattern(), mark_functions_to_output(), maybe_output_constant_def_contents(), ipa_icf::sem_variable::merge(), merge_weak(), output_constant_def_contents(), symbol_table::output_weakrefs(), pack_ts_base_value_fields(), print_node(), reference_to_unused(), cgraph_node::remove(), reorder_blocks_1(), cgraph_node::rtl_info(), unpack_ts_base_value_fields(), cgraph_node::verify_node(), and wrapup_global_declaration_2().
#define TREE_BLOCK | ( | NODE | ) |
Referenced by clear_unused_block_pointer_1(), copy_tree_body_r(), DFS::DFS_write_tree_body(), gimple_build_call_from_tree(), gimplify_expr(), mark_all_vars_used_1(), move_stmt_op(), remap_gimple_op_r(), tree_inlined_location(), tree_nonartificial_location(), and write_ts_exp_tree_pointers().
#define TREE_CHAIN | ( | NODE | ) |
Referenced by add_ehspec_entry(), alloc_object_size(), any_nonignored_attribute_p(), assemble_asm(), assemble_name_resolve(), assign_filter_values(), assign_parms_unsplit_complex(), attribute_list_contained(), attribute_value_equal(), bit_value_assume_aligned(), block_move_libcall_safe_for_call_parm(), build_adjusted_function_type(), build_builtin_expect_predicate(), build_constructor_from_list(), build_function_type_list_1(), build_method_type_directly(), ipa_param_adjustments::build_new_function_type(), build_tm_store(), build_tree_list_vec(), builtin_mathfn_code(), chain_index(), chainon(), symbol_table::change_decl_assembler_name(), rt_bb_visited::check(), check_fnspec(), check_unique_operand_names(), collect_one_action_chain(), comp_type_attributes(), ipa_icf_gimple::func_checker::compare_asm_inputs_outputs(), symbol_table::compile(), compute_fn_summary(), contains_placeholder_p(), copy_list(), copy_node(), copy_tree_r(), count_num_arguments(), create_omp_child_function(), cgraph_node::create_wrapper(), debug_find_var_in_block_tree(), debug_tree_chain(), decl_attributes(), decompose_kernels_region_body(), dequeue_and_dump(), DFS::DFS_write_tree_body(), diagnose_sb_0(), do_assemble_alias(), dump_block_node(), dump_function_declaration(), dump_function_to_file(), dump_generic_node(), dump_omp_clause(), dump_omp_context_selector(), dump_omp_iterators(), duplicate_one_attribute(), ipa_icf::sem_function::equals_wpa(), expand_call_inline(), expand_oacc_collapse_init(), expand_omp_atomic_store(), expand_omp_ordered_sink(), expand_omp_target(), expand_simd_clones(), field_at_offset(), find_param_by_name(), find_placeholder_in_expr(), finish_taskreg_scan(), first_field(), flatten_binds(), fndecl_alloc_p(), fndecl_dealloc_argno(), fold_builtin_atomic_compare_exchange(), ccp_folder::fold_stmt(), attr_access::free_lang_data(), function_args_iter_next(), function_attribute_inlinable_p(), function_to_dwarf_procedure(), gen_eh_region_allowed(), gen_eh_region_catch(), gen_generic_params_dies(), get_attr_str(), get_call_args(), get_nonnull_args(), get_parm_access(), get_target_clone_attr_len(), gimple_builtin_call_types_compatible_p(), gimple_call_alloc_size(), gimple_canonical_types_compatible_p(), gimple_infer_range::gimple_infer_range(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_init_ctor_preeval_1(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_ordered(), gimplify_scan_omp_clauses(), globalize_decl(), go_format_type(), go_output_typedef(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strcpy(), ehspec_hasher::hash(), operand_compare::hash_operand(), hash_tree(), infer_nonnull_range_by_attribute(), init_attr_rdwr_indices(), init_eh(), input_eh_region(), install_var_field(), instrument_builtin_call(), ipa_get_callee_param_type(), ipa_odr_summary_write(), last_field(), list_length(), loc_list_from_tree_1(), lookup_attribute_by_prefix(), lookup_ident_attribute(), lower_eh_dispatch(), lower_omp_ordered_clauses(), lto_input_eh_catch_list(), lto_input_ts_list_tree_pointers(), symtab_node::make_decl_local(), mark_transaction_restart_calls(), matching_alloc_calls_p(), maybe_build_inner_data_region(), maybe_canonicalize_argtypes(), maybe_warn_read_write_only(), merge_attributes(), merge_weak(), ipa_param_body_adjustments::modify_formal_parameters(), nonnull_arg_p(), nreverse(), oacc_do_neutering(), oacc_fn_attrib_level(), oacc_get_fn_dim_size(), oacc_replace_fn_attrib_attr(), oacc_validate_dims(), odr_or_derived_type_p(), odr_types_equivalent_p(), ok_for_auto_simd_clone(), omp_apply_tile(), omp_check_context_selector(), omp_construct_traits_to_codes(), omp_context_compute_score(), omp_context_selector_compare(), omp_context_selector_matches(), omp_context_selector_props_compare(), omp_context_selector_set_compare(), omp_discover_declare_target_tgt_fn_r(), omp_get_context_selector(), omp_get_context_selector_list(), omp_lto_input_declare_variant_alt(), omp_lto_output_declare_variant_alt(), omp_mark_declare_variant(), omp_resolve_declare_variant(), optimize_atomic_compare_exchange_p(), optimize_weakref(), parm_object_size(), prepare_call_arguments(), print_node(), private_lookup_attribute(), private_lookup_attribute(), process_pending_assemble_externals(), process_symver_attribute(), purpose_member(), push_function_arg_types(), rt_bb_visited::push_rtcfg_pair(), reconstruct_complex_type(), record_common_node(), record_type_list(), register_odr_type(), remove_attribute(), remove_attribute(), remove_attributes_matching(), remove_named_attribute_unsharing(), resolve_asm_operand_names(), resolve_operand_name_1(), restrict_type_identity_attributes_to(), rt_bb_visited::rt_bb_visited(), safe_from_p(), scan_omp_for(), set_strub_mode_to(), simd_clone_adjust_argument_types(), simple_cst_list_equal(), sorted_attr_string(), split_complex_types(), stack_protect_classify_type(), streamer_read_chain(), streamer_read_chain(), streamer_write_chain(), streamer_write_chain(), strub_set_fndt_mode_to(), substitute_in_expr(), substitute_placeholder_in_expr(), task_copyfn_remap_type(), tree_builtin_call_types_compatible_p(), tree_cons(), tree_function_versioning(), tree_last(), type_hash_canon_hash(), type_list_equal(), type_num_arguments(), ultimate_transparent_alias_target(), ultimate_transparent_alias_target(), useless_type_conversion_p(), validate_arglist(), value_member(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), verify_type(), verify_type_variant(), walk_tree_1(), walk_type_fields(), warn_types_mismatch(), weak_finish(), and write_ts_list_tree_pointers().
#define TREE_CLOBBER_P | ( | NODE | ) |
True if NODE is a clobber right hand side, an expression of indeterminate value that clobbers the LHS in a copy instruction. We use a volatile empty CONSTRUCTOR for this, as it matches most of the necessary semantic. In particular the volatile flag causes us to not prematurely remove such clobber instructions.
Referenced by const_with_all_bytes_same(), dump_generic_node(), expand_debug_expr(), expand_gimple_stmt_1(), find_func_aliases(), fold_gimple_assign(), gimple_clobber_p(), gimplify_modify_expr(), initialize_root_vars_store_elim_2(), initializer_zerop(), is_gimple_mem_rhs_or_call(), is_inv_store_elimination_chain(), ipa_icf_gimple::func_checker::operand_equal_p(), optimize_va_list_gpr_fpr_size(), vn_walk_cb_data::push_partial_def(), and replace_ref_with().
#define TREE_CODE | ( | NODE | ) |
Define accessors for the fields that all tree nodes have (though some fields are not used for all kinds of nodes).
The tree-code says what kind of node it is. Codes are defined in tree.def.
Referenced by _loop_vec_info::_loop_vec_info(), acceptable_pow_call(), access_and_field_type_match_p(), access_fn_component_p(), access_fn_components_comparable_p(), add_abstract_origin_attribute(), add_calling_convention_attribute(), add_data_member_location_attribute(), gcc_rich_location::add_fixit_misspelled_id(), add_iv_candidate_for_doloop(), add_iv_candidate_for_use(), add_location_or_const_value_attribute(), add_mask_else_and_len_args(), add_multivariate_self_dist(), nontrapping_dom_walker::add_or_mark_expr(), add_other_self_distances(), add_pubtype(), add_scope_conflicts_2(), add_stack_var(), operands_scanner::add_stmt_operand(), add_stores(), add_string_csts(), add_subscript_strides(), add_taskreg_looptemp_clauses(), scev_dfs::add_to_evolution(), scev_dfs::add_to_evolution_1(), path_range_query::add_to_exit_dependencies(), add_to_predicate_list(), add_type_duplicate(), add_type_for_runtime(), add_var_loc_to_decl(), addr_object_size(), address_compare(), adjacent_dr_p(), adjust_assumption_stmt_op(), adjust_context_and_scope(), adjust_debug_stmts(), adjust_imagpart_expr(), adjust_iv_update_pos(), strlen_pass::adjust_last_stmt(), adjust_offset_for_component_ref(), adjust_offsets_for_equal_base_address(), adjust_phi_and_debug_stmts(), adjust_pointer_diff_expr(), adjust_realpart_expr(), adjust_references_in_caller(), adjust_simduid_builtins(), autofdo::afdo_propagate_circuit(), autofdo::afdo_vpt_for_early_inline(), aff_combination_expand(), rewrite_dom_walker::after_dom_children(), aggregate_value_p(), alias_get_name(), aliasing_component_refs_walk(), align_local_variable(), align_variable(), all_uses_feed_or_dominated_by_stmt(), all_zeros_p(), alloc_iv(), alloca_call_p(), alloca_call_type(), analyze_access_subtree(), analyze_agg_content_value(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), analyze_candidates_and_replace(), analyze_evolution_in_loop(), analyze_function_body(), analyze_functions(), loop_cand::analyze_iloop_reduction_var(), analyze_increments(), loop_cand::analyze_induction_var(), analyze_initial_condition(), loop_cand::analyze_oloop_reduction_var(), analyze_ref(), analyze_scalar_evolution_1(), analyze_siv_subscript_cst_affine(), analyze_ziv_subscript(), and_comparisons_1(), and_var_with_comparison_1(), ao_ref_base_alias_ptr_type(), ao_ref_base_alias_set(), ao_ref_from_mem(), ao_ref_init_from_ptr_and_range(), ao_ref_init_from_vn_reference(), append_to_statement_list(), append_to_statement_list_1(), apply_binop_and_append_stmt(), apply_opt_in_copies(), apply_return_prediction(), arith_cast_equal_p(), arith_overflow_arg_kind(), arith_overflow_check_p(), array_elt_at_offset(), array_ref_flexible_size_p(), array_size_for_constructor(), tree_switch_conversion::switch_conversion::array_value_type(), asan_expand_mark_ifn(), asan_protect_global(), assemble_alias(), assemble_asm(), assert_no_overflow_lt(), assign_calc_vals_to_header_phis(), assign_known_vals_to_header_phis(), assign_parm_find_data_types(), assign_parms_unsplit_complex(), assign_temp(), assign_vals_to_header_phis(), associate_equivalences_with_edges(), associate_trees(), assumption_copy_decl(), attempt_builtin_copysign(), attempt_builtin_powi(), attribute_value_equal(), auto_var_in_fn_p(), auto_var_p(), avail_expr_hash(), avoid_deep_ter_for_debug(), back_propagate_equivalences(), backtrace_base_for_ref(), base_supports_access_fn_components_p(), base_type_die(), base_type_for_mode(), bb_no_side_effects_p(), eliminate_dom_walker::before_dom_children(), find_candidates_dom_walker::before_dom_children(), ipcp_modif_dom_walker::before_dom_children(), substitute_and_fold_dom_walker::before_dom_children(), bit_value_assume_aligned(), bit_value_binop(), bit_value_unop(), bitfields_to_lower_p(), bitmask_inv_cst_vector_p(), bitwise_equal_p(), bitwise_inverted_equal_p(), block_may_fallthru(), block_nonartificial_location(), build2(), build_access_from_call_arg(), build_access_from_expr_1(), build_all_ones_cst(), build_and_add_sum(), build_array_type_1(), tree_switch_conversion::switch_conversion::build_arrays(), build_bitint_stmt_ssa_conflicts(), build_call_internal(), build_classic_dist_vector_1(), build_common_tree_nodes(), build_constant_desc(), build_debug_ref_for_model(), build_each_one_cst(), build_fold_addr_expr_with_type_loc(), build_function_type(), build_method_type(), build_minus_one_cst(), build_one_cst(), build_pointer_type_for_mode(), build_printable_array_type(), build_range_check(), build_range_type_1(), build_reconstructed_reference(), build_ref_for_model(), build_ref_for_offset(), build_ref_type_for(), build_reference_type_for_mode(), build_simple_mem_ref_loc(), build_ssa_conflict_graph(), build_tm_load(), build_tm_store(), build_type_attribute_qual_variant(), build_type_inheritance_graph(), build_user_friendly_ref_for_offset(), build_vec_series(), build_vector_from_ctor(), build_word_mode_vector_type(), build_zero_cst(), builtin_mathfn_code(), builtin_save_expr(), builtin_setjmp_setup_bb(), bump_vector_ptr(), bundle_sizes(), byte_from_pos(), c_strlen(), cache_integer_cst(), calculate_live_on_exit(), call_expr_flags(), call_may_clobber_ref_p_1(), can_be_nonlocal(), can_blend_vec_perm_simplify_seqs_p(), loop_cand::can_interchange_p(), can_native_interpret_type_p(), can_reassociate_op_p(), can_remove_asan_check(), can_skip_redundant_opnd(), cand_value_at(), canonical_type_used_p(), canonicalize_addr_expr(), canonicalize_base_object_address(), canonicalize_bool(), canonicalize_component_ref(), canonicalize_cond_expr_cond(), canonicalize_constructor_val(), canonicalize_loop_induction_variables(), ipa_param_body_adjustments::carry_over_param(), categorize_ctor_elements_1(), categorize_decl_for_section(), ccmp_candidate_p(), ccmp_tree_comparison_p(), ccp_finalize(), ccp_lattice_meet(), symbol_table::change_decl_assembler_name(), check_access(), array_bounds_checker::check_addr_expr(), check_all_va_list_escapes(), strlen_pass::check_and_optimize_stmt(), array_bounds_checker::check_array_bounds(), array_bounds_checker::check_array_ref(), check_ctz_array(), check_exit_phi(), check_for_plus_in_loops(), check_for_plus_in_loops_1(), check_forbidden_calls(), check_global_declaration(), check_lang_type(), check_loadstore(), check_loadstore(), array_bounds_checker::check_mem_ref(), check_name(), check_out_of_bounds_and_warn(), check_pow(), check_reduction_path(), check_scan_store(), check_stmt_for_type_change(), check_va_list_escapes(), checks_return_value_of_removable_allocation_p(), chk_uses(), chrec_apply(), chrec_component_in_loop_num(), chrec_contains_symbols(), chrec_contains_symbols_defined_in_loop(), chrec_convert_1(), chrec_convert_aggressive(), chrec_evaluate(), chrec_fold_multiply(), chrec_fold_multiply_poly_poly(), chrec_fold_plus_1(), chrec_fold_plus_poly_poly(), chrec_is_positive(), chrec_replace_initial_condition(), chrec_zerop(), classify_builtin_st(), loop_cand::classify_simple_reduction(), cleanup_control_flow_bb(), clear_dependence_clique(), clear_padding_flush(), clear_padding_type(), clear_padding_type_may_have_padding_p(), clear_padding_union(), clear_tree_used(), clear_unused_block_pointer(), cmp_attrib_identifiers(), coalesce_bitint(), coalesce_partitions(), collect_object_sizes_for(), uninit_analysis::collect_phi_def_edges(), combine_cond_expr_cond(), ipa_polymorphic_call_context::combine_with(), comes_initialized_p(), common_function_versions(), ipa_param_body_adjustments::common_initialization(), compare_access_positions(), ao_compare::compare_ao_refs(), ipa_icf_gimple::func_checker::compare_asm_inputs_outputs(), compare_constant(), ipa_icf_gimple::func_checker::compare_decl(), ipa_icf_gimple::func_checker::compare_gimple_goto(), ipa_icf_gimple::func_checker::compare_gimple_switch(), compare_nonzero_chars(), compare_nonzero_chars(), ipa_icf_gimple::func_checker::compare_ssa_name(), compare_type_sizes(), compare_values_warnv(), compare_virtual_tables(), compatible_complex_nodes_p(), ipa_icf::sem_function::compatible_parm_types_p(), ipa_icf_gimple::func_checker::compatible_polymorphic_types_p(), ipa_icf_gimple::func_checker::compatible_types_p(), complete_ctor_at_level_p(), complete_or_array_type_p(), complex_cst_p(), component_ref_sam_type(), component_ref_size(), component_ref_to_zero_sized_trailing_array_p(), compound_type_base(), computable_teams_clause(), compute_access_range(), compute_access_stride(), compute_added_num_insns(), compute_array_mode(), compute_builtin_object_size(), compute_complex_ancestor_jump_func(), compute_complex_assign_jump_func(), compute_dependence_clique(), compute_discriminator(), compute_doloop_base_on_mode(), hybrid_jt_simplifier::compute_exit_dependencies(), path_range_query::compute_exit_dependencies(), compute_invariantness(), compute_object_offset(), compute_objsize_r(), gori_compute::compute_operand1_range(), gori_compute::compute_operand2_range(), compute_optimized_partition_bases(), compute_overall_effect_of_inner_loop(), compute_record_mode(), compute_reloc_for_constant(), compute_trims(), compute_uninit_opnds_pos(), computed_goto_p(), cond_expr_object_size(), cond_if_else_store_replacement_1(), cond_removal_in_builtin_zero_pattern(), cond_store_replacement(), fold_using_range::condexpr_adjust(), connect_loop_phis(), consider_split(), const_binop(), const_binop(), const_hash_1(), const_unop(), const_vector_from_tree(), const_vector_mask_from_tree(), const_with_all_bytes_same(), constant_after_peeling(), constant_alignment_word_strings(), constant_byte_string(), constant_for_folding(), constant_pointer_difference(), constructor_static_from_elts_p(), contain_complex_addr_expr(), contains_abnormal_ssa_name_p_1(), contains_bitfld_component_ref_p(), contains_label_1(), tree_switch_conversion::switch_conversion::contains_linear_function_p(), contains_placeholder_p(), contains_pointers_p(), contains_polymorphic_type_p(), contains_vce_or_bfcref_p(), contains_view_convert_expr_p(), convert_atomic_bit_not(), convert_expand_mult_copysign(), convert_local_omp_clauses(), convert_local_reference_op(), convert_local_reference_stmt(), convert_mult_to_fma(), convert_mult_to_fma_1(), convert_mult_to_highpart(), convert_mult_to_widen(), convert_nl_goto_reference(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), convert_nonlocal_reference_stmt(), convert_plusminus_to_widen(), convert_to_complex_1(), convert_to_fixed(), convert_to_integer_1(), convert_to_pointer_1(), convert_to_real_1(), convert_to_vector(), convert_tramp_reference_op(), copy_arguments_nochange(), copy_debug_stmt(), copy_decl_maybe_to_var(), copy_decl_no_change(), copy_decl_to_var(), copy_fn(), copy_if_shared_r(), copy_loop_before(), copy_node(), copy_phi_args(), copy_phis_for_bb(), copy_prop_visit_assignment(), copy_ref_info(), copy_reference_ops_from_call(), copy_reference_ops_from_ref(), copy_result_decl_to_var(), copy_self_referential_tree_r(), copy_statement_list(), copy_tree_body_r(), copy_tree_r(), symtab_node::copy_visibility_from(), strlen_pass::count_nonzero_bytes(), strlen_pass::count_nonzero_bytes_addr(), count_string_csts(), count_type_elements(), cprop_into_stmt(), cprop_into_successor_phis(), cprop_operand(), cgraph_node::create(), create_access(), create_access_replacement(), create_add_imm_cand(), create_add_ssa_cand(), cgraph_node::create_alias(), create_coalesce_list_for_region(), create_component_ref_by_pieces_1(), create_expression_by_pieces(), cgraph_node::create_indirect_edge(), create_intersect_range_checks(), create_intersect_range_checks_index(), create_iv(), create_mem_ref_raw(), create_mul_imm_cand(), create_mul_ssa_cand(), create_specialized_node(), create_task_copyfn(), create_tmp_var_for(), create_variable_info_for(), cgraph_node::create_virtual_clone(), cst_and_fits_in_hwi(), ctor_for_folding(), ctor_single_nonzero_element(), varpool_node::ctor_useable_for_folding_p(), cxx11_attribute_p(), data_ref_compare_tree(), debug_body(), decide_whether_version_node(), decl_address_invariant_p(), decl_address_ip_invariant_p(), decl_attributes(), decl_by_reference_p(), decl_class_context(), decl_for_component_ref(), decl_function_context(), decl_in_symtab_p(), decl_init_size(), decl_maybe_in_construction_p(), decl_overlaps_hard_reg_set_p(), decl_quals(), decl_type_context(), decl_ultimate_origin(), declare_return_variable(), declare_vars(), declare_weak(), decls_mismatched_attributes(), decode_addr_const(), decode_field_reference(), decompose_kernels_region_body(), decompose_param_expr(), decrement_count(), default_binds_local_p_3(), default_elf_asm_named_section(), default_elf_select_rtx_section(), default_encode_section_info(), default_function_arg_padding(), default_ref_may_alias_errno(), default_section_type_flags(), default_select_section(), default_tree_printer(), defcodefor_name(), defer_stack_allocation(), degenerate_phi_result(), delegitimize_mem_from_attrs(), delete_vta_debug_insn(), dequeue_and_dump(), derive_constant_upper_bound_ops(), edge_info::derive_equivalences(), derive_simple_iv_with_niters(), dest_safe_for_nrv_p(), destroy_loop(), detach_value(), detect_type_change(), detect_type_change_from_memory_writes(), detect_type_change_ssa(), determine_base_object_1(), determine_block_size(), determine_group_iv_cost_cond(), determine_known_aggregate_parts(), determine_max_movement(), determine_value_range(), DFS::DFS(), DFS::DFS_write_tree_body(), diag_attr_exclusions(), diagnose_sb_2(), diagnose_tm_1(), difference_cannot_overflow_p(), discover_nonconstant_array_refs_r(), distinctify_node_type(), do_assemble_alias(), do_compare_and_jump(), do_jump(), do_mpc_arg2(), do_mpfr_lgamma_r(), do_mpfr_remquo(), do_narrow(), do_niy(), do_store_flag(), do_type_align(), do_valueize(), do_valueize(), do_warn_aggressive_loop_optimizations(), do_warn_nonnull_compare(), dom_valueize(), dr_analyze_alias(), dr_analyze_indices(), dr_analyze_innermost(), dr_equal_offsets_p1(), dr_may_alias_p(), dr_step_indicator(), drop_tree_overflow(), dse_optimize_call(), dse_optimize_stmt(), symtab_node::dump_base(), dump_candidate(), dump_copy_of(), dump_decl_name(), dump_function_to_file(), dump_generic_node(), dump_gimple_call(), dump_gimple_call_args(), dump_gimple_omp_for(), dump_immediate_uses_for(), dump_lattice_value(), dump_mem_ref(), dump_omp_clause(), dump_omp_loop_non_rect_expr(), dump_ssaname_info(), dump_strlen_info(), dump_tree_via_hooks(), dump_type_inheritance_graph(), dump_var(), dump_variable(), duplicate_insn_chain(), dv_as_rtx(), dv_onepart_p(), dw_loc_list(), dwarf2out_die_ref_for_decl(), dwarf2out_inline_entry(), dynamic_object_size(), early_object_sizes_execute_one(), easy_exit_values(), edge_forwards_cmp_to_conditional_jump_through_empty_bb_p(), element_mode(), element_precision(), eliminate_dom_walker::eliminate_avail(), rpo_elim::eliminate_avail(), eliminate_dom_walker::eliminate_cleanup(), eliminate_dom_walker::eliminate_insert(), eliminate_local_variables_1(), eliminate_not_pairs(), eliminate_plus_minus_pair(), eliminate_dom_walker::eliminate_push_avail(), eliminate_redundant_comparison(), eliminate_redundant_computations(), eliminate_dom_walker::eliminate_stmt(), eliminate_tail_call(), eliminate_temp_copies(), eliminate_unnecessary_stmts(), eliminated_by_inlining_prob(), tree_switch_conversion::bit_test_cluster::emit(), tree_switch_conversion::jump_table_cluster::emit(), emit_call_1(), emit_phi_nodes(), emit_warn_switch_unreachable(), empty_bb_or_one_feeding_into_p(), ends_tbaa_access_path_p(), pointer_equiv_analyzer::enter(), eq_evolutions_p(), cl_option_hasher::equal(), gimplify_hasher::equal(), mem_ref_hasher::equal(), type_cache_hasher::equal(), symtab_node::equal_address_to(), equal_mem_array_ref_p(), ipa_icf::sem_variable::equals(), ipa_icf::sem_function::equals_wpa(), error_unavailable_use(), estimate_local_effects(), estimate_num_insns(), estimate_numbers_of_iterations(), estimate_operator_cost(), eval_subst(), evaluate_conditions_for_known_args(), evaluate_control_stmt_using_entry_checks(), evaluate_properties_for_edge(), evaluate_stmt(), evolution_function_is_affine_in_loop(), evolution_function_is_affine_multivariate_p(), evolution_function_is_affine_p(), evolution_function_is_invariant_rec_p(), evolution_function_is_univariate_p(), evolution_function_right_is_integer_cst(), exact_inverse(), excess_precision_type(), crc_symbolic_execution::execute_assign_statement(), execute_cse_conv_1(), execute_cse_reciprocals_1(), execute_lower_omp(), execute_oacc_device_lower(), execute_omp_device_lower(), execute_omp_oacc_neuter_broadcast(), execute_update_addresses_taken(), exist_non_indexing_operands_for_use_p(), path_range_query::exit_dependency_p(), cgraph_node::expand(), expand_asm_stmt(), expand_assign_tm(), expand_assignment(), expand_bitquery(), expand_block_edges(), expand_builtin_atomic_always_lock_free(), expand_builtin_crc_table_based(), expand_builtin_eh_return_data_regno(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_init_trampoline(), expand_builtin_memory_chk(), expand_builtin_memset_args(), expand_builtin_object_size(), expand_builtin_prefetch(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strlen(), expand_builtin_strncmp(), expand_builtin_strnlen(), expand_builtin_va_copy(), expand_call(), expand_call_inline(), expand_call_mem_ref(), expand_call_stmt(), expand_case(), expand_complex_asm(), expand_complex_div_wide(), expand_complex_move(), expand_complex_multiplication(), expand_complex_operations_1(), expand_cond_expr_using_cmove(), expand_crc_optab_fn(), expand_debug_expr(), expand_debug_locations(), expand_debug_source_expr(), expand_DEFERRED_INIT(), expand_DIVMOD(), expand_expr_addr_expr_1(), expand_expr_force_mode(), expand_expr_real(), expand_expr_real_1(), expand_expr_real_2(), expand_fn_using_insn(), expand_gimple_basic_block(), expand_gimple_cond(), expand_gimple_stmt_1(), expand_HWASAN_MARK(), expand_omp_atomic_cas(), expand_omp_for(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_regimplify_p(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_omp_taskreg(), expand_one_register_var(), expand_one_stack_var(), expand_one_stack_var_1(), expand_one_stack_var_at(), expand_one_var(), expand_pow_as_sqrts(), expand_return(), expand_simple_operations(), expand_single_bit_test(), expand_stack_vars(), expand_thunk(), expand_ubsan_result_store(), expand_used_vars_for_block(), expand_vec_cmp_expr(), expand_vector_divmod(), expand_vector_operation(), expand_vector_operations_1(), expand_vector_ubsan_overflow(), expr_callee_abi(), expr_coherent_p(), expr_expected_value_1(), expr_first(), expr_invariant_in_loop_p(), expr_invariant_in_region_p(), expr_last(), expr_not_equal_to(), expr_object_size(), expr_single(), expr_size(), expr_to_aff_combination(), expr_with_var_bounded_array_refs_p(), expression_expensive_p(), expressions_equal_p(), extr_type_from_vtbl_ptr_store(), extract_bit_test_mask(), extract_component(), extract_cond_operands(), extract_mem_content(), extract_muldiv_1(), extract_object_class_type(), extract_ops_from_tree(), extract_single_var_from_expr(), factor_out_conditional_operation(), field_at_offset(), field_byte_offset(), field_type(), fields_length(), final_range_test_p(), cgraph_node::finalize_function(), finalize_must_preallocate(), finalize_nesting_tree_1(), finalize_record_size(), operands_scanner::finalize_ssa_defs(), operands_scanner::finalize_ssa_uses(), finalize_type_size(), pcom_worker::find_associative_operation_root(), find_assumption_locals_r(), find_basis_for_base_expr(), find_closest_identifier(), find_combined_omp_for(), find_conditions(), find_constructor_constant_at_offset(), find_decl_expr(), find_deriving_biv_for_expr(), find_equal_ptrs(), find_foldable_builtin_expect(), find_func_aliases(), find_func_aliases_for_builtin_call(), find_func_clobbers(), find_gang_private_vars(), find_givs_in_stmt_scev(), find_goto(), find_goto_label(), find_ifn_gomp_dispatch(), find_insert_point(), find_interesting_uses_address(), find_interesting_uses_op(), find_interesting_uses_stmt(), find_inv_vars_cb(), find_lattice_value(), find_loop_niter(), pcom_worker::find_looparound_phi(), find_necessary_statements(), find_nested_loop_xform(), find_non_realpart_uses(), find_omp_teams(), find_or_generate_expression(), back_threader::find_paths_to_names(), find_phi_def(), find_placeholder_in_expr(), find_reduc_addr(), find_released_ssa_name(), crc_optimization::find_shift_after_xor(), find_single_drs(), find_ssa_names_to_propagate(), find_ssa_undef(), find_standalone_omp_ordered(), find_subloop_latch_edge_by_ivs(), find_tail_calls(), find_taken_edge(), find_taken_edge_cond_expr(), find_taken_edge_switch_expr(), find_trapping_overflow(), find_unswitching_predicates_for_bb(), pcom_worker::find_use_stmt(), find_uses_to_rename_use(), find_va_list_reference(), find_var_cmp_const(), find_what_p_points_to(), fini_copy_prop(), finish_bitfield_layout(), finish_bitfield_representative(), finish_taskreg_scan(), finish_update_gimple_call(), first_field(), wi::fits_to_tree_p(), fixed_zerop(), fixup_noreturn_call(), flexible_array_member_p(), flexible_array_type_p(), fndecl_abi(), fold(), fold_abs_const(), fold_addr_of_array_ref_difference(), fold_array_ctor_reference(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_bit_and_mask(), fold_build_cleanup_point_expr(), fold_build_cond_expr(), fold_builtin_1(), fold_builtin_alloca_with_align(), fold_builtin_arith_overflow(), fold_builtin_atomic_always_lock_free(), fold_builtin_bit_query(), fold_builtin_call_array(), fold_builtin_constant_p(), fold_builtin_expect(), fold_builtin_frexp(), fold_builtin_iseqsig(), fold_builtin_modf(), fold_builtin_next_arg(), fold_builtin_object_size(), fold_builtin_sincos(), fold_builtin_unordered_cmp(), fold_call_expr(), fold_call_stmt(), fold_comparison(), simplify_using_ranges::fold_cond(), fold_cond_expr_with_comparison(), fold_const_aggregate_ref_1(), fold_const_call(), fold_const_call(), fold_const_call_ss(), fold_const_fold_left(), fold_const_reduction(), fold_const_vec_convert(), fold_convert_const(), fold_convert_loc(), fold_convertible_p(), fold_ctor_reference(), fold_gimple_assign(), fold_ignored_result(), fold_indirect_ref_1(), fold_mult_zconjz(), fold_negate_const(), fold_negate_expr_1(), fold_nonarray_ctor_reference(), fold_not_const(), fold_plusminus_mult_expr(), fold_read_from_constant_string(), fold_read_from_vector(), fold_real_zero_addition_p(), fold_relational_const(), ccp_folder::fold_stmt(), fold_stmt_1(), fold_strstr_to_strncmp(), fold_ternary_loc(), fold_to_nonsharp_ineq_using_bound(), fold_truth_andor(), fold_truth_andor_1(), fold_truth_andor_for_ifcombine(), fold_truth_not_expr(), fold_unary_ignore_overflow_loc(), fold_unary_loc(), fold_vec_perm(), fold_view_convert_expr(), follow_copies_to_constant(), follow_outer_ssa_edges(), follow_single_use_edges(), scev_dfs::follow_ssa_edge_binary(), scev_dfs::follow_ssa_edge_expr(), scev_dfs::follow_ssa_edge_in_condition_phi_branch(), for_each_index(), for_each_scev_op(), force_expr_to_var_cost(), force_gimple_operand_1(), force_into_ssa_name(), force_labels_r(), force_move_till(), force_move_till_op(), force_value_to_type(), fortran_common(), forward_propagate_addr_expr(), forward_propagate_addr_expr_1(), forward_propagate_into_comparison(), forward_propagate_into_comparison_1(), forward_propagate_into_gimple_cond(), free_node(), vec_info::free_stmt_vec_info(), fully_constant_expression(), fully_constant_vn_reference_p(), function_to_dwarf_procedure(), fuse_memset_builtins(), fwprop_invalidate_lattice(), fwprop_set_lattice_val(), fwprop_ssa_val(), gather_chrec_stats(), gather_context_independent_values(), gather_mem_refs_stmt(), gather_ssa_name_hash_map_from(), gcd_of_steps_may_divide_p(), gen_conditions_for_pow(), gen_eh_region_catch(), gen_generic_params_dies(), gen_lsm_tmp_name(), gen_phi_arg_condition(), gen_simplified_condition(), gen_subprogram_die(), gen_variable_die(), generate_memset_builtin(), generic_parameter_die(), cgraph_node::get(), symtab_node::get(), varpool_node::get(), get_access_for_expr(), get_addr_base_and_unit_offset_1(), get_address_description(), get_alias_set(), get_ancestor_addr_info(), ana::state_purge_map::get_any_data_for_decl(), get_array_ctor_element_at_index(), get_attr_nonstring_decl(), get_attrs_for(), get_base_address(), get_base_constructor(), get_base_decl(), get_base_for(), get_base_for_alignment(), get_base_for_alignment_1(), get_base_loadstore(), get_base_value(), get_base_var(), get_binfo_at_offset(), get_bit_field_ref_def(), get_bit_range(), get_bitfield_rep(), get_call_combined_fn(), get_callee_fndecl(), symtab_node::get_comdat_group_id(), get_common_info(), scalar_cond_masked_key::get_cond_ops_from_tree(), get_constant_size(), get_constant_value(), get_constraint_for_1(), get_constraint_for_component_ref(), get_constraint_for_ptr_offset(), get_constraint_for_ssa_var(), get_crc_val(), get_cst_init_from_scev(), ana::state_purge_map::get_data_for_ssa_name(), get_debug_decl(), get_def_for_expr(), get_def_for_expr_class(), get_default_value(), ipa_polymorphic_call_context::get_dynamic_type(), get_edit_distance(), operands_scanner::get_expr_operands(), ipa_param_body_adjustments::get_expr_replacement(), get_fi_for_callee(), get_function_part_constraint(), get_initializer_for(), autofdo::get_inline_stack(), get_inner_reference(), compiler_logical_location::get_kind_for_tree(), get_known_nonzero_bits(), get_known_nonzero_bits_1(), strlen_pass::get_len_or_size(), edit_distance_traits< tree >::get_length(), get_loop_invariant_expr(), get_mem_align_offset(), get_memmodel(), get_memory_rtx(), get_min_precision(), get_multi_vector_move(), get_name(), get_name_for_bit_test(), get_narrower(), get_nonnull_args(), get_nonzero_bits(), get_nonzero_bits_1(), get_object_alignment_1(), get_object_alignment_2(), get_odr_name_for_type(), get_odr_type(), get_offset_range(), fur_list::get_operand(), get_ops(), ipcp_transformation::get_param_index(), get_pointer_alignment_1(), get_range_pos_neg(), get_range_strlen(), get_range_strlen_dynamic(), get_range_strlen_phi(), get_range_strlen_tree(), get_rank(), get_reassociation_width(), access_ref::get_ref(), pointer_query::get_ref(), get_ref_base_and_extent(), get_ref_size(), get_references_in_stmt(), get_related_vectype_for_scalar_type(), autofdo::get_relative_location_for_stmt(), ipa_param_body_adjustments::get_replacement_ssa_base(), get_scalar_evolution(), get_scev_info(), get_shiftadd_cost(), get_single_immediate_use(), get_single_symbol(), get_size_range(), get_ssa_base_param(), get_ssa_def_if_simple_copy(), get_ssa_name_range_info(), get_stridx(), get_stridx_plus_constant(), edit_distance_traits< tree >::get_string(), get_strub_mode_from_attr(), get_symbol_initial_value(), range_query::get_tree_range(), get_type_static_bounds(), get_ultimate_context(), get_unary_op(), get_unwidened(), get_up_bounds_for_array_ref(), get_upper_bound_based_on_builtin_expr_with_prob(), get_val_for(), ipcp_bits_lattice::get_value_and_mask(), get_value_for_expr(), get_value_from_alignment(), get_vec_alignment_for_array_type(), get_vec_alignment_for_record_type(), get_vec_alignment_for_type(), gimple_add_tmp_var(), gimple_asm_set_clobber_op(), gimple_asm_set_input_op(), gimple_asm_set_label_op(), gimple_asm_set_output_op(), gimple_assign_load_p(), gimple_assign_rhs_code(), gimple_assign_set_lhs(), gimple_assign_ssa_name_copy_p(), gimple_bind_set_block(), gimple_binop_def_p(), gimple_bitwise_equal_p(), gimple_boolify(), gimple_build_call(), gimple_build_call_1(), gimple_build_call_from_tree(), gimple_build_call_valist(), gimple_build_eh_must_not_throw(), gimple_call_addr_fndecl(), gimple_call_alloc_size(), gimple_call_nonnull_result_p(), gimple_call_set_lhs(), gimple_canonical_types_compatible_p(), gimple_compare_field_offset(), gimple_cond_get_ops_from_tree(), gimple_convert_def_p(), gimple_decl_printable_name(), gimple_divmod_values_to_profile(), gimple_duplicate_bb(), gimple_equal_p(), gimple_expand_builtin_pow(), gimple_expand_vec_cond_expr(), gimple_expand_vec_set_extract_expr(), gimple_extract(), gimple_fold_builtin_clear_padding(), gimple_fold_builtin_fputs(), gimple_fold_builtin_memchr(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_stpcpy(), gimple_fold_builtin_strlen(), gimple_fold_builtin_strncat(), gimple_fold_builtin_strncpy(), gimple_fold_call(), gimple_fold_indirect_ref(), gimple_fold_partial_load_store_mem_ref(), gimple_fold_stmt_to_constant_1(), gimple_get_alias_set(), gimple_get_virt_method_for_vtable(), gimple_ic(), gimple_lower_bitint(), gimple_merge_blocks(), gimple_move_vops(), gimple_parm_array_size(), gimple_phi_set_result(), gimple_range_global(), gimple_range_ssa_p(), gimple_regimplify_operands(), gimple_simplify(), gimple_stringop_fixed_value(), gimple_stringops_transform(), gimple_stringops_values_to_profile(), gimple_switch_set_label(), gimplify_addr(), gimplify_addr_expr(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_arg(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_compound_expr(), gimplify_compound_lval(), gimplify_cond_expr(), gimplify_conversion(), gimplify_decl_expr(), gimplify_expr(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_init_ctor_eval_range(), gimplify_init_ctor_preeval(), gimplify_init_ctor_preeval_1(), gimplify_modify_expr(), gimplify_modify_expr_complex_part(), gimplify_modify_expr_rhs(), gimplify_modify_expr_to_memset(), gimplify_oacc_declare(), gimplify_omp_affinity(), gimplify_omp_atomic(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), gimplify_omp_ordered(), gimplify_omp_target_update(), gimplify_omp_taskloop_expr(), gimplify_omp_workshare(), gimplify_parameters(), gimplify_pure_cond_expr(), gimplify_return_expr(), gimplify_save_expr(), gimplify_scalar_mode_aggregate_compare(), gimplify_scan_omp_clauses(), gimplify_self_mod_expr(), gimplify_switch_expr(), gimplify_transaction(), gimplify_type_sizes(), gimplify_variable_sized_compare(), go_early_global_decl(), go_finish(), go_format_type(), go_output_typedef(), go_output_var(), go_type_decl(), goa_lhs_expr_p(), goa_stabilize_expr(), phi_analyzer::group(), grow_tree_vec(), gsi_replace_with_seq_vops(), gt_pch_nx(), gvn_uses_equal(), handle_alias_pairs(), handle_array_ref(), strlen_pass::handle_assign(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_memset(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_builtin_stxncpy_strncat(), handle_component_ref(), handle_decl(), remove_unreachable::handle_early(), strlen_pass::handle_integral_assign(), handle_mem_ref(), strlen_pass::handle_pointer_plus(), handle_printf_call(), handle_ssa_name(), strlen_pass::handle_store(), handle_warn_if_not_align(), handled_component_p(), hardcfr_sibcall_search_preds(), has_dominating_ubsan_ptr_check(), autofdo::has_indirect_call(), cl_option_hasher::hash(), tm_memop_hasher::hash(), ao_compare::hash_ao_ref(), operand_compare::hash_operand(), hash_tree(), hashable_expr_equal_p(), hide_evolution_in_other_loops_than_loop(), hoist_adjacent_loads(), idx_analyze_ref(), idx_find_step(), idx_infer_loop_bounds(), idx_record_use(), idx_within_array_bound(), if_convertible_gimple_assign_stmt_p(), if_convertible_loop_p_1(), ifcombine_ifandif(), ifcombine_mark_ssa_name(), ifcombine_replace_cond(), ifcvt_available_on_edge_p(), ifcvt_local_dce(), immediate_const_ctor_p(), implicit_ptr_descriptor(), in_array_bounds_p(), inbounds_memaccess_p(), increment_start_addr(), independent_of_stmt_p(), indirect_ref_may_alias_decl_p(), indirect_refs_may_alias_p(), infer_loop_bounds_from_pointer_arith(), infer_loop_bounds_from_signedness(), access_ref::inform_access(), init_attr_rdwr_indices(), init_dont_simulate_again(), init_range_entry(), initial_condition(), initialize_ao_ref_for_dse(), initialize_argument_information(), initialize_data_dependence_relation(), initialize_expr_from_cond(), initialize_inlined_parameters(), initialize_matrix_A(), initializer_constant_valid_for_bitfield_p(), initializer_constant_valid_p_1(), initializer_each_zero_or_onep(), initializer_zerop(), inline_forbidden_p_stmt(), inlined_polymorphic_ctor_dtor_block_p(), optrecord_json_writer::inlining_chain_to_json(), input_gimple_stmt(), input_offload_tables(), insert_backedge_copies(), insert_debug_temp_for_var_def(), insert_debug_temps_for_defs(), insert_init_stmt(), insert_into_preds_of_block(), insert_phi_nodes_for(), insert_predicates_for_cond(), insert_updated_phi_nodes_for(), install_var_field(), install_var_field(), instantiate_decls(), instantiate_expr(), instantiate_scev_name(), instantiate_scev_r(), instrument_bool_enum_load(), instrument_derefs(), instrument_expr(), instrument_null(), instrument_object_size(), instrument_si_overflow(), int_expr_size(), int_fits_type_p(), integer_all_onesp(), integer_cst_p(), integer_each_onep(), integer_minus_onep(), integer_nonzerop(), integer_onep(), integer_pow2p(), integer_truep(), integer_valued_real_invalid_p(), integer_valued_real_p(), integer_valued_real_single_p(), integer_valued_real_unary_p(), integer_zerop(), tree_vector_builder::integral_p(), internal_get_tmp_var(), path_range_query::internal_range_of_expr(), interpret_expr(), interpret_rhs_expr(), inverse_conditions_p(), invert_truthvalue_loc(), ipa_analyze_call_uses(), ipa_analyze_indirect_call_uses(), ipa_analyze_virtual_call_uses(), ipa_comdats(), ipa_compute_jump_functions_for_edge(), ipa_find_agg_cst_from_init(), ipa_get_indirect_edge_target_1(), ipa_get_jf_ancestor_result(), ipa_get_param(), ipa_get_range_from_ip_invariant(), ipa_get_stmt_member_ptr_load_param(), ipa_get_type(), ipa_is_ssa_with_stmt_def(), ipa_load_from_parm_agg(), ipa_make_edge_direct_to_target(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_print_constant_value(), ipa_set_jf_constant(), ipa_simd_modify_function_body(), ipa_simd_modify_stmt_ops(), ipa_sra_summarize_function(), ipa_tm_create_version_alias(), ipa_tm_insert_gettmclone_call(), ipa_tm_scan_irr_block(), ipa_write_jump_function(), is_access_with_size_p(), is_addr_local(), is_aligning_offset(), is_asan_mark_p(), is_base_type(), is_char_type(), is_combined_permutation_identity(), is_comparison_with_loop_invariant_p(), is_complex_reg(), is_cond_scalar_reduction(), crc_optimization::is_crc_checked(), is_cxa_pure_virtual_p(), is_degenerate_phi(), is_division_by_square(), is_empty_type(), is_factor_profitable(), is_feasible_trace(), is_function_default_version(), is_gimple_address(), is_gimple_addressable(), is_gimple_call_addr(), is_gimple_condexpr_1(), is_gimple_constant(), is_gimple_id(), is_gimple_invariant_address(), is_gimple_ip_invariant(), is_gimple_ip_invariant_address(), is_gimple_lvalue(), is_gimple_mem_ref_addr(), is_gimple_mem_rhs_or_call(), is_gimple_min_invariant(), is_gimple_min_lval(), is_gimple_reg(), is_gimple_reg_rhs(), is_gimple_reg_rhs_or_call(), is_gimple_stmt(), is_gimple_variable(), is_handled_procedure_type(), is_inv_store_elimination_chain(), is_lang_specific(), is_multivariate_chrec(), is_multivariate_chrec_rec(), is_neq_zero_form_p(), is_nonwrapping_integer_induction(), is_oacc_declared(), is_parm(), is_redundant_typedef(), is_removable_cxa_atexit_call(), is_strlen_related_p(), is_tagged_type(), is_tm_irrevocable(), is_tm_pure(), is_truth_type_for(), is_typedef_decl(), is_ubsan_builtin_p(), is_value_included_in(), is_var_need_auto_init(), is_vptr_store(), is_vtable_assignment_stmt(), is_widening_mult_p(), is_widening_mult_rhs_p(), isra_get_ref_base_and_offset(), issue_prefetch_ref(), iv_elimination_compare_lt(), iv_period(), jump_function_from_stmt(), ana::label_region::label_region(), label_rtx(), last_field(), layout_decl(), layout_type(), lhd_incomplete_type_error(), lhd_omp_scalar_p(), lhd_print_error_function(), lhd_set_decl_assembler_name(), lhd_warn_unused_global_decl(), likely_target_p(), likely_value(), linearize_expr(), linearize_expr_tree(), link_imm_use(), load_from_dereferenced_name(), load_from_unmodified_param(), load_from_unmodified_param_or_agg(), load_or_store_of_ptr_parameter(), loc_list_from_tree_1(), cgraph_node::local_info_node(), local_tree_p(), local_var_based_p(), location_wrapper_p(), long_double_as_float128(), lookup_attribute_spec(), avail_exprs_stack::lookup_avail_expr(), vec_info::lookup_def(), lookup_field_for_decl(), lookup_ident_attribute(), lookup_type_for_runtime(), loop_closed_phi_def(), loop_exits_before_overflow(), loop_has_phi_with_address_arg(), loop_iter_phi_semi_invariant_p(), loop_niters_no_overflow(), lower_assumption(), lower_builtin_assume_aligned(), lower_builtin_posix_memalign(), lower_builtin_setjmp(), lower_coro_builtin(), lower_emutls_1(), lower_emutls_phi_arg(), lower_lastprivate_clauses(), lower_omp_1(), lower_omp_for(), lower_omp_for_lastprivate(), lower_omp_ordered_clauses(), lower_omp_regimplify_p(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), lower_send_shared_vars(), lower_stmt(), lower_vec_perm(), lto_indexable_tree_ref(), lto_input_fn_decl_ref(), lto_input_ts_block_tree_pointers(), lto_input_ts_common_tree_pointers(), lto_input_ts_decl_common_tree_pointers(), lto_input_ts_decl_with_vis_tree_pointers(), lto_input_ts_raw_data_cst_tree_pointers(), lto_input_ts_type_non_common_tree_pointers(), lto_is_streamable(), lto_output_fn_decl_ref(), lto_output_toplevel_asms(), lto_output_tree_1(), lto_read_body_or_constructor(), lto_read_tree_1(), lto_write_tree(), lto_write_tree_1(), make_bit_field_load(), make_bit_field_ref(), symtab_node::make_decl_local(), make_decl_rtl(), make_fancy_name_1(), make_forwarders_with_degenerate_phis(), make_new_ssa_for_all_defs(), make_node(), make_phi_node(), make_range(), make_range_step(), make_ssa_name_fn(), make_tree(), malloc_candidate_p(), malloc_candidate_p_1(), tree_loop_interchange::map_inductions_to_loop(), mark_address(), mark_address_taken(), mark_addressable(), mark_aliased_reaching_defs_necessary_1(), mark_all_vars_used_1(), ipa_param_body_adjustments::mark_dead_statements(), mark_decl_referenced(), mark_def_interesting(), mark_def_sites(), mark_lhs_in_seq_for_dce(), mark_load(), mark_nonssa_use(), mark_stmt_if_obviously_necessary(), mark_transaction_restart_calls(), maskable_range_p(), match_arith_overflow(), match_saturation_add(), match_simplify_replacement(), match_single_bit_test(), match_uaddc_usubc(), max_int_size_in_bytes(), may_be_aliased(), may_be_nonaddressable_p(), may_be_unaligned_p(), may_eliminate_iv(), may_move_till(), may_negate_without_overflow_p(), may_propagate_copy(), may_propagate_copy_into_stmt(), maybe_add_asan_poison_write(), maybe_add_sra_candidate(), maybe_build_inner_data_region(), maybe_canonicalize_comparison_1(), maybe_canonicalize_mem_ref_addr(), maybe_complain_about_tail_call(), maybe_create_die_with_external_ref(), symtab_node::maybe_create_reference(), maybe_create_ssa_name(), maybe_dead_abnormal_edge_p(), maybe_diag_incompatible_alias(), maybe_diag_stxncpy_trunc(), maybe_fold_reference(), maybe_fold_tmr(), maybe_get_single_definition(), maybe_inline_call_in_expr(), maybe_instrument_pointer_overflow(), maybe_lvalue_p(), maybe_make_indirect(), maybe_nonzero_address(), maybe_optimize_arith_overflow(), maybe_optimize_asan_check_ifn(), maybe_optimize_guarding_check(), maybe_optimize_mod_cmp(), maybe_optimize_range_tests(), maybe_optimize_ubsan_null_ifn(), maybe_optimize_ubsan_ptr_ifn(), maybe_optimize_var(), maybe_push_res_to_seq(), maybe_record_nested_function(), maybe_record_node(), remove_unreachable::maybe_register(), maybe_remove_omp_member_access_dummy_vars(), maybe_remove_writeonly_store(), maybe_rewrite_mem_ref_base(), maybe_set_dependence_info(), maybe_set_nonzero_bits(), maybe_set_strlen_range(), maybe_set_vectorized_backedge_value(), maybe_special_function_p(), maybe_trim_partially_dead_store(), maybe_warn_nonstring_arg(), maybe_warn_operand(), maybe_with_size_expr(), maybe_wrap_with_location(), ipa_polymorphic_call_context::meet_with(), mem_expr_equal_p(), mem_ref_refers_to_non_mem_p(), member_declared_type(), merge_ranges(), access_ref::merge_ref(), merge_truthop_with_opposite_arm(), mergeable_string_section(), ipa_param_adjustments::method2func_p(), minmax_from_comparison(), minmax_replacement(), modified_type_die(), ipa_param_body_adjustments::modify_assignment(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_call_stmt(), ipa_param_body_adjustments::modify_expression(), mostly_copy_tree_r(), mostly_zeros_p(), move_block_to_fn(), move_computations_worker(), move_fixed_address_to_symbol(), move_stmt_op(), movement_possibility(), movement_possibility_1(), multi_vector_optab_supported_p(), multiple_of_p(), must_pass_in_stack_var_size_or_pad(), name_for_ref(), narrowing_initializer_constant_valid_p(), native_encode_expr(), native_encode_initializer(), native_encode_int(), native_encode_string(), native_encode_vector_part(), native_interpret_aggregate(), native_interpret_expr(), native_interpret_int(), symtab_node::native_rtl_p(), nb_vars_in_chrec(), need_assembler_name_p(), symtab_node::needed_p(), needs_to_live_in_memory(), negate_expr_p(), negate_value(), nesting_copy_decl(), neuter_worker_single(), new_die(), new_label_mapper(), new_stridx(), new_var_info(), no_side_effect_bb(), non_null_loadstore(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), noncall_stmt_may_be_vtbl_ptr_store(), symtab_node::noninterposable_alias(), symtab_node::noninterposable_alias(), nonnull_arg_p(), nonoverlapping_array_refs_p(), nonoverlapping_component_refs_p(), nonoverlapping_component_refs_p_1(), nonoverlapping_memrefs_p(), nonoverlapping_refs_since_match_p(), nonwrapping_chrec_p(), predicate::normalize(), note_nonlocal_vla_type(), notice_global_symbol(), nreverse(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_cond(), number_of_iterations_exit_assumptions(), number_of_iterations_lt_to_ne(), number_of_iterations_ne(), number_of_iterations_ne_max(), number_of_iterations_popcount(), number_of_iterations_until_wrap(), oacc_entry_exit_ok_1(), oacc_privatization_candidate_p(), oacc_resolve_clause_dependencies(), oacc_rewrite_var_decl(), oacc_set_fn_attrib(), obj_type_ref_class(), object_address_invariant_in_loop_p(), object_sizes_execute(), object_sizes_get(), object_sizes_set(), odr_or_derived_type_p(), odr_subtypes_equivalent_p(), odr_type_p(), odr_types_equivalent_p(), offset_int_type_size_in_bits(), old_insns_match_p(), omit_two_operands_loc(), omp_accumulate_sibling_list(), omp_adjust_for_condition(), omp_apply_tile(), omp_build_struct_sibling_lists(), omp_check_context_selector(), omp_containing_struct(), omp_context_compute_score(), omp_context_name_list_prop(), omp_copy_decl(), omp_declare_target_fn_p(), omp_default_clause(), omp_discover_declare_target_fn_r(), omp_discover_declare_target_tgt_fn_r(), omp_discover_declare_target_var_r(), omp_extract_for_data(), omp_find_stores_op(), omp_firstprivatize_type_sizes(), omp_get_base_pointer(), omp_get_for_step_from_incr(), omp_index_mapping_groups_1(), omp_loop_number_of_iterations(), omp_mapped_by_containing_struct(), omp_maybe_apply_loop_xforms(), omp_member_access_dummy_var(), omp_notice_variable(), omp_addr_tokenizer::omp_parse_access_method(), omp_addr_tokenizer::omp_parse_access_methods(), omp_addr_tokenizer::omp_parse_component_selector(), omp_addr_tokenizer::omp_parse_pointer(), omp_addr_tokenizer::omp_parse_ref(), omp_addr_tokenizer::omp_parse_structured_expr(), omp_resolve_clause_dependencies(), omp_resolve_declare_variant(), omp_runtime_api_call(), omp_sese_split_blocks(), omp_shared_to_firstprivate_optimizable_decl_p(), omp_task_reduction_iterate(), omp_tsort_mapping_groups_1(), ompdevlow_adjust_simt_enter(), op1_range(), op_iter_next_def(), op_iter_next_tree(), op_prio(), op_symbol(), op_valid_in_sets(), simplify_using_ranges::op_with_boolean_value_range_p(), operand_equal_for_phi_arg_p(), operand_equal_for_value_replacement(), ipa_icf_gimple::func_checker::operand_equal_p(), operand_compare::operand_equal_p(), gimple_match_op::operands_occurs_in_abnormal_phi(), operation_could_trap_helper_p(), phi_analyzer::operator[](), operator_is_linear(), ops_equal_values_p(), optimize_atomic_bit_test_and(), optimize_atomic_compare_exchange_p(), optimize_atomic_op_fetch_cmp_0(), optimize_bit_field_compare(), optimize_bitfield_assignment_op(), optimize_compound_literals_in_ctor(), optimize_count_trailing_zeroes(), optimize_mask_stores(), optimize_memcpy_to_memset(), optimize_omp_library_calls(), optimize_pow_to_exp(), optimize_range_tests(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_diff(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_range_tests_xor(), optimize_recip_sqrt(), optimize_spaceship(), optimize_stack_restore(), dom_opt_dom_walker::optimize_stmt(), optimize_target_teams(), optimize_va_list_gpr_fpr_size(), optimize_vector_constructor(), optimize_vector_load(), or_comparisons_1(), or_var_with_comparison_1(), outermost_invariant_loop(), outermost_invariant_loop_for_expr(), output_addressed_constants(), output_constant(), output_constant_def_contents(), output_constructor(), output_constructor_bitfield(), output_constructor_regular_field(), output_gimple_stmt(), output_object_block(), symtab_node::output_to_lto_symbol_table_p(), output_ttype(), ovce_extract_ops(), overflow_comparison_p_1(), pack_ts_base_value_fields(), pack_ts_decl_common_value_fields(), pack_ts_decl_with_vis_value_fields(), pack_ts_type_common_value_fields(), pad_below(), param_change_prob(), param_type_may_change_p(), parameter_ref_descriptor(), parloops_is_simple_reduction(), parm_decl_cost(), parm_preserved_before_stmt_p(), ipa_icf_gimple::func_checker::parse_labels(), parse_predicate(), pass_by_reference(), crc_optimization::passes_checks_for_def_chain(), path_comparable_for_same_access(), permute_vec_elements(), access_ref::phi(), phi_rank(), phi_translate_1(), phiprop_insert_phi(), place_block_symbol(), place_field(), place_union_field(), plus_stmt_object_size(), pointer_may_wrap_p(), points_to_local_or_readonly_memory_p(), points_to_possible_sra_candidate_p(), poly_int_binop(), poly_int_tree_p(), polymorphic_ctor_dtor_p(), populate_coalesce_list_for_outofssa(), pos_from_bit(), possible_placement_new(), possible_polymorphic_call_targets(), possible_vector_mask_operation_p(), pre_expr_DFS(), precompute_arguments(), predicate_for_phi_result(), predicate_load_or_store(), predicate_scalar_phi(), predicate_statements(), predict_extra_loop_exits(), predict_loops(), prepare_block_for_update_1(), prepare_call_address(), prepare_call_arguments(), ipa_param_body_adjustments::prepare_debug_expressions(), prepare_decl_rtl(), pcom_worker::prepare_finalizers_chain(), inlining_iterator::prepare_iteration(), prepare_iteration_over_array_elts(), prepare_target_mem_ref_lvalue(), prepare_target_option_nodes_for_pch(), preprocess_case_label_vec_for_gimple(), print_call_name(), print_declaration(), print_insn(), print_node(), print_node_brief(), rtx_writer::print_rtx(), print_struct_decl(), process_bb(), phi_analyzer::process_phi(), process_symver_attribute(), promote_decl_mode(), promote_function_mode(), promote_mode(), promote_ssa_mode(), propagate_bias_p(), propagate_controlled_uses(), substitute_and_fold_engine::propagate_into_phi_args(), propagate_necessity(), propagate_op_to_single_use(), propagate_rank(), propagate_subaccesses_from_rhs(), propagate_tree_value(), propagate_unknowns(), propagate_with_phi(), protected_set_expr_location(), protected_set_expr_location_unshare(), uninit_analysis::prune_phi_opnds(), prune_runtime_alias_test_list(), ptr_deref_may_alias_decl_p(), ptr_deref_may_alias_global_p(), ptr_deref_may_alias_ref_p_1(), ptr_derefs_may_alias_p(), ptrdiff_tree_p(), ptrs_compare_unequal(), purge_all_uses(), push_fields_onto_fieldstack(), vn_walk_cb_data::push_partial_def(), relation_oracle::query(), relation_oracle::query(), jt_fur_source::query_relation(), queue_phi_copy_p(), range_binop(), range_check_type(), range_entry_cmp(), range_in_array_bounds_p(), fold_using_range::range_of_address(), fold_using_range::range_of_ssa_name_with_loop_info(), rank_ops_for_fma(), read_complex_part(), read_vector_array(), readonly_data_expr(), real_cst_p(), real_maybe_zerop(), real_minus_onep(), real_onep(), real_zerop(), really_constant_p(), reassociate_bb(), recalculate_side_effects(), recognise_vec_perm_simplify_seq(), recognize_bits_test(), recognize_single_bit_test(), recompute_tree_invariant_for_addr_expr(), reconstruct_complex_type(), relation_oracle::record(), relation_oracle::record(), record_common_node(), record_component_aliases(), record_conditions(), const_and_copies::record_const_or_copy(), record_edge_info(), record_equality(), record_equivalences_from_phis(), record_equivalences_from_stmt(), record_estimate(), record_in_goto_queue_label(), record_invariant(), record_known_type(), record_nonwrapping_iv(), record_reference(), edge_info::record_simple_equiv(), record_target_from_binfo(), record_targets_from_bases(), record_temporary_equivalences(), jump_threader::record_temporary_equivalences_from_phis(), jump_threader::record_temporary_equivalences_from_stmts_at_dest(), record_type_list(), cgraph_edge::redirect_call_stmt_to_callee(), reduce_vector_comparison_to_scalar_comparison(), ref_at_iteration(), ref_contains_union_access_p(), ref_may_alias_global_p_1(), ref_may_be_aliased(), ref_maybe_used_by_call_p_1(), ref_maybe_used_by_stmt_p(), reference_alias_ptr_type(), reference_alias_ptr_type_1(), reference_to_unused(), refine_bounds_using_guard(), gori_compute::refine_using_relation(), refine_value_range_using_guard(), refs_local_or_readonly_memory_p(), refs_may_alias_p_2(), reg_is_parm_p(), jt_state::register_equivs_stmt(), register_odr_type(), fur_source::register_outgoing_edges(), fold_using_range::relation_fold_and_or(), release_defs(), remap_decl(), remap_gimple_op_r(), remap_gimple_stmt(), remap_ssa_name(), remap_type_1(), remap_type_2(), remap_vla_decls(), ipa_param_body_adjustments::remap_with_debug_expressions(), remove_dead_phis(), remove_dead_stmt(), remove_exit_barrier(), remove_forwarder_block_with_phi(), remove_gimple_phi_args(), remove_indirect_clobbers(), remove_prop_source_from_use(), remove_redundant_iv_tests(), pcom_worker::remove_stmt(), symbol_table::remove_unreachable_nodes(), remove_unused_ivs(), remove_unused_locals(), remove_unused_scope_block_p(), remove_visited_stmt_chain(), rename_use_op(), reorder_operands(), replace_abnormal_ssa_names(), replace_block_vars_by_duplicates(), replace_block_vars_by_duplicates_1(), replace_by_duplicate_decl(), replace_call_with_value(), replace_exp(), replace_function_decl(), replace_locals_op(), replace_mult_candidate(), replace_one_candidate(), substitute_and_fold_engine::replace_phi_args_in(), replace_phi_edge_with_variable(), replace_ref_with(), ipa_param_body_adjustments::replace_removed_params_ssa_names(), replace_stmt_with_simplification(), replace_trapping_overflow(), replace_uses_by(), substitute_and_fold_engine::replace_uses_in(), replace_with_mapped_expr(), repropagate_negates(), requires_barrier(), ipa_param_body_adjustments::reset_debug_stmts(), reset_debug_uses(), reset_evolution_in_loop(), rest_of_decl_compilation(), ipa_polymorphic_call_context::restrict_to_inner_class(), restructure_reference(), result_of_phi(), return_prediction(), returning_call_p(), reverse_storage_order_for_component_p(), rewrite_bittest(), rewrite_debug_stmt_uses(), rewrite_expr_tree_parallel(), rewrite_stmt(), rewrite_trees(), rewrite_update_phi_arguments(), rewrite_use_address(), rewrite_use_nonlinear_expr(), rexpr_location(), rhs_is_fed_for_value_replacement(), round_down_loc(), round_up_loc(), rpo_vn_valueize(), rtl_for_decl_init(), rtl_for_decl_location(), cgraph_node::rtl_info(), rtx_addr_can_trap_p_1(), run_rpo_vn(), safe_from_p(), same_access_path_p(), same_addr_size_stores_p(), same_bool_comparison_p(), same_bool_result_p(), same_type_for_tbaa(), same_value_p(), save_expr(), scalar_evolution_in_region(), scan_insn(), scan_omp_1_op(), scan_operand_equal_p(), scan_sharing_clauses(), scan_store_can_perm_p(), scev_analyzable_p(), scev_direction(), scev_is_linear_expression(), scev_probably_wraps_p(), scev_var_range_cant_overflow(), self_inlining_addr_expr(), self_referential_component_ref_p(), self_referential_size(), self_reuse_distance(), separate_decls_in_region_debug(), separate_decls_in_region_name(), separate_decls_in_region_stmt(), sese_build_liveouts_use(), irange::set(), set_bb_predicate(), ipa_polymorphic_call_context::set_by_invariant(), symtab_node::set_comdat_group(), set_component_ref_size(), set_component_ssa_name(), set_cond_stmt_execution_predicate(), set_decl_origin_self(), set_inlining_locations(), set_lattice_value(), set_mem_attributes_minus_bitpos(), set_parm_rtl(), value_relation::set_relation(), set_rtl(), set_scalar_evolution(), set_ssa_default_def(), set_ssa_val_to(), set_strlen_range(), set_uids_in_ptset(), gimple_match_op::set_value(), set_value_id_for_result(), setjmp_or_longjmp_p(), setup_one_parameter(), shortcut_cond_expr(), shortcut_cond_r(), should_break_up_subtract(), should_interchange_loops(), should_remove_lhs_p(), sign_bit_p(), sign_mask_for(), signed_or_unsigned_type_for(), simd_clone_adjust(), simd_clone_clauses_extract(), simd_clone_compute_base_data_type(), simd_clone_linear_addend(), simple_condition_p(), simple_cst_equal(), simple_dce_from_worklist(), simple_decl_align_in_bits(), simple_goto_p(), simple_iv_increment_p(), simple_iv_with_niters(), simple_mem_ref_in_stmt(), simple_operand_p(), simple_type_align_in_bits(), simple_type_size_in_bits(), simplify_using_ranges::simplify(), simplify_1b(), simplify_using_ranges::simplify_bit_ops_using_ranges(), simplify_bitfield_ref(), simplify_builtin_call(), simplify_using_ranges::simplify_casted_compare(), simplify_using_ranges::simplify_compare_using_ranges_1(), simplify_const_binop(), jump_threader::simplify_control_stmt_condition(), simplify_conversion_using_ranges(), simplify_count_trailing_zeroes(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), simplify_using_ranges::simplify_float_conversion_using_ranges(), simplify_gimple_switch(), simplify_using_ranges::simplify_internal_call_using_ranges(), simplify_peeled_chrec(), simplify_permutation(), simplify_replace_tree(), simplify_rotate(), simplify_using_ranges::simplify_switch_using_ranges(), simplify_using_ranges::simplify_truth_ops_using_ranges(), simplify_using_initial_conditions(), simplify_using_outer_evolutions(), simplify_vector_constructor(), simulate_builtin_function_decl(), ssa_propagation_engine::simulate_stmt(), single_use(), sink_clobbers(), siv_subscript_p(), size_diffop_loc(), size_for_offset(), size_must_be_zero_p(), size_usable_p(), size_valid_p(), skip_a_safe_conversion_op(), skip_in_fields_list_p(), skip_simple_arithmetic(), skip_simple_constant_arithmetic(), slpeel_tree_duplicate_loop_to_edge_cfg(), slsr_process_add(), slsr_process_mul(), slsr_process_phi(), slsr_process_ref(), some_nonzerop(), sort_and_splice_var_accesses(), sort_by_operand_rank(), sort_by_ssa_version_or_uid(), spaceship_replacement(), split_address_to_core_and_offset(), split_at_bb_p(), split_bb_make_tm_edge(), split_complex_args(), split_complex_types(), split_constant_offset(), split_constant_offset_1(), split_function(), split_loop_exit_edge(), split_part_set_ssa_name_p(), split_to_var_and_offset(), split_tree(), sra_modify_assign(), sra_modify_call_arg(), sra_modify_expr(), ssa_default_def(), ssa_defined_by_minus_one_stmt_p(), ssa_defined_default_def_p(), path_range_query::ssa_defined_in_bb(), ssa_name_has_boolean_range(), ssa_name_maybe_undef_p(), ssa_name_set_maybe_undef(), path_range_query::ssa_range_in_phi(), ssa_undefined_value_p(), ssa_uniform_vector_p(), stabilize_reference(), stabilize_reference_1(), stabilize_va_list_loc(), stack_protect_classify_type(), stack_var_cmp(), stack_var_conflict_p(), staticp(), std_canonical_va_list_type(), std_gimplify_va_arg_expr(), stmt_cost(), stmt_kills_ref_p(), stmt_local_def(), stmt_may_be_vtbl_ptr_store(), stmt_may_clobber_global_p(), stmt_may_clobber_ref_p_1(), stmt_may_generate_copy(), stmt_semi_invariant_p_1(), storage_order_barrier_p(), store_constructor(), store_constructor_field(), store_expr(), store_field(), store_kills_ref_p(), store_one_arg(), strdup_object_size(), streamer_read_tree_bitfields(), streamer_read_tree_body(), streamer_write_tree_bitfields(), streamer_write_tree_body(), streamer_write_tree_header(), strip_array_types(), strip_bit_not(), strip_conversion(), strip_float_extensions(), strip_invariant_refs(), strip_naming_typedef(), strip_nop_cond_scalar_reduction(), strip_offset_1(), strip_zero_offset_components(), strips_small_constant(), strub_comptypes(), strub_validate_fn_attr_parm(), subrange_type_for_debug_p(), subset_of(), substitute_in_expr(), substitute_placeholder_in_expr(), subtract_estimated_size(), pcom_worker::suitable_component_p(), supportable_indirect_convert_operation(), supported_pointer_equiv_p(), switch_to_comdat_section(), symtab_node_for_jfunc(), tag_shortcut_cond(), tail_merge_valueize(), target_align(), target_char_cast(), target_for_debug_bind(), dom_opt_dom_walker::test_for_singularity(), test_nonssa_use(), jump_threader::thread_around_empty_blocks(), thread_private_new_memory(), jump_threader::thread_through_normal_block(), threadedge_valueize(), tidy_after_forward_propagate_addr(), tm_log_emit_stmt(), tm_malloc_replacement(), tm_memopt_transform_stmt(), gdbhooks.TreePrinter::to_string(), totally_scalarizable_type_p(), totally_scalarize_subtree(), track_expr_p(), tracked_record_parameter_p(), trailing_array(), transaction_invariant_address_p(), loop_distribution::transform_reduction_loop(), tree_add_const_value_attribute(), tree_add_const_value_attribute_for_decl(), tree_binary_nonnegative_warnv_p(), tree_block(), tree_call_nonnegative_warnv_p(), tree_could_throw_p(), tree_could_trap_p(), tree_ctz(), tree_estimate_loop_size(), tree_expr_finite_p(), tree_expr_infinite_p(), tree_expr_maybe_infinite_p(), tree_expr_maybe_nan_p(), tree_expr_maybe_real_minus_zero_p(), tree_expr_maybe_signaling_nan_p(), tree_expr_nan_p(), tree_expr_nonnegative_warnv_p(), tree_expr_nonzero_warnv_p(), tree_expr_signaling_nan_p(), tree_fits_poly_int64_p(), tree_fits_poly_uint64_p(), tree_fits_shwi_p(), tree_fits_uhwi_p(), tree_floor_log2(), tree_fold_divides_p(), tree_function_versioning(), tree_inlined_location(), tree_int_cst_equal(), tree_invalid_nonnegative_warnv_p(), tree_invariant_p_1(), tree_is_chrec(), tree_is_indexable(), tree_log2(), tree_lower_complex(), tree_node_can_be_shared(), tree_node_structure(), tree_nonzero_bits(), tree_nop_conversion(), tree_nop_conversion_p(), tree_operand_length(), tree_predict_by_opcode(), tree_simplify_using_condition_1(), tree_single_nonnegative_warnv_p(), tree_single_nonzero_warnv_p(), tree_size(), tree_ssa_useless_type_conversion(), tree_swap_operands_p(), tree_to_aff_combination(), tree_transform_and_unroll_loop(), truth_type_for(), try_catch_may_fallthru(), try_create_reduction_list(), try_peel_loop(), try_special_add_to_ops(), try_to_simplify(), try_transform_to_exit_first_loop_alt(), try_unroll_loop_completely(), tsi_link_after(), tsi_link_before(), twoval_comparison_p(), type_all_derivations_known_p(), type_can_have_subvars(), type_contains_placeholder_1(), type_has_components_p(), type_has_padding_at_level_p(), type_hash_canon(), type_hash_canon_hash(), type_internals_preclude_sra_p_1(), type_like_member_ptr_p(), type_main_variant(), type_must_have_pointers(), type_possibly_instantiated_p(), type_to_class(), type_with_alias_set_p(), type_with_interoperable_signedness(), type_with_linkage_p(), uaddc_cast(), uaddc_is_cplxpart(), uaddc_ne0(), ubsan_encode_value(), ubsan_expand_objsize_ifn(), ubsan_expand_ptr_ifn(), ubsan_type_descriptor(), unadjusted_ptr_and_unit_offset(), undistribute_bitref_for_vector(), undistribute_ops_list(), uniform_integer_cst_p(), uniform_vector_p(), unlink_stmt_vdef(), unmodified_parm(), unmodified_parm_1(), unmodified_parm_or_parm_agg_item(), unpack_ts_base_value_fields(), unpack_ts_decl_common_value_fields(), unpack_ts_decl_with_vis_value_fields(), unpack_ts_type_common_value_fields(), unterminated_array(), update_alignment_for_field(), update_dep_bb(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), update_ops(), update_parameter_components(), update_phi_components(), update_range_test(), update_ssa(), use_blocks_for_decl_p(), use_in_zero_equality(), use_pointer_for_field(), use_pointer_in_frame(), use_register_for_decl(), used_types_insert(), useless_type_conversion_p(), va_list_counter_bump(), va_list_counter_struct_op(), va_list_ptr_read(), va_list_ptr_write(), valid_constant_size_p(), valid_gimple_call_p(), valid_gimple_rhs_p(), valid_lattice_transition(), valid_mem_ref_cand_p(), validate_arg(), validate_test_and_branch(), value_available_p(), fvrp_folder::value_of_expr(), rvrp_folder::value_of_expr(), fvrp_folder::value_of_stmt(), rvrp_folder::value_of_stmt(), fvrp_folder::value_on_edge(), rvrp_folder::value_on_edge(), value_replacement(), value_to_wide_int(), valueize_op(), valueize_op_1(), valueize_refs_1(), valueize_val(), valueized_wider_op(), values_equal_for_ipcp_p(), var_decl_component_p(), var_is_used_for_virtual_call_p(), var_union(), variably_modified_type_p(), vec_cst_ctor_to_array(), vec_slp_has_scalar_use(), vect_analyze_data_ref_access(), vect_analyze_data_ref_dependence(), vect_analyze_data_refs(), vect_analyze_scalar_cycles_1(), vect_analyze_slp(), vect_bb_slp_mark_live_stmts(), vect_build_all_ones_mask(), vect_build_loop_niters(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_build_zero_merge_argument(), vect_can_peel_nonlinear_iv_p(), vect_check_gather_scatter(), vect_compute_data_ref_alignment(), vect_convert_input(), vect_copy_ref_info(), vect_create_addr_base_for_vector_ref(), vect_create_constant_vectors(), vect_create_data_ref_ptr(), vect_create_destination_var(), vect_create_epilog_for_reduction(), vect_create_nonlinear_iv_vec_step(), vect_determine_min_output_precision(), vect_determine_precisions_from_range(), vect_determine_precisions_from_users(), vect_do_peeling(), vect_find_reusable_accumulator(), vect_find_stmt_data_reference(), vect_finish_stmt_generation(), vect_get_and_check_slp_defs(), vect_get_datarefs_in_loop(), vect_get_loop_niters(), vect_get_operand_map(), vect_get_vec_defs_for_operand(), vect_is_nonlinear_iv_evolution(), vect_is_simple_cond(), vect_is_simple_iv_evolution(), vect_is_simple_reduction(), vect_is_simple_use(), vect_iv_limit_for_partial_vectors(), vect_look_through_possible_promotion(), vect_loop_versioning(), vect_mark_slp_stmts(), vect_mark_stmts_to_be_vectorized(), vect_peel_nonlinear_iv_init(), vect_phi_first_order_recurrence_p(), vect_prune_runtime_alias_test_list(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_cond_store_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_mask_conversion_pattern(), vect_recog_mod_var_pattern(), vect_recog_mulhs_pattern(), vect_recog_mult_pattern(), vect_recog_over_widening_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_pow_pattern(), vect_recog_rotate_pattern(), vect_recog_sat_add_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_sum_pattern(), vect_schedule_slp_node(), vect_setup_realignment(), vect_simd_lane_linear(), vect_slp_analyze_node_operations(), vect_slp_check_for_roots(), vect_transform_cycle_phi(), vect_transform_reduction(), vect_truncate_gather_scatter_offset(), vect_widened_op_tree(), vector_const_binop(), vector_element(), vector_type_mode(), vectorizable_assignment(), vectorizable_call(), vectorizable_condition(), vectorizable_conversion(), vectorizable_induction(), vectorizable_live_operation(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_recurr(), vectorizable_reduction(), vectorizable_scan_store(), vectorizable_shift(), vectorizable_simd_clone_call(), vectorizable_store(), verify_address(), symtab_node::verify_base(), verify_bb_vtables(), verify_def(), verify_expr_location_1(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_call(), verify_gimple_comparison(), verify_gimple_cond(), verify_gimple_goto(), verify_gimple_label(), verify_gimple_phi(), verify_gimple_return(), verify_gimple_transaction(), verify_imm_links(), verify_node_partition(), verify_non_ssa_vars(), verify_phi_args(), verify_ssa_name(), operands_scanner::verify_ssa_operands(), verify_ssaname_freelists(), verify_type(), verify_type_variant(), verify_types_in_gimple_reference(), verify_vssa(), view_converted_memref_p(), virtual_method_call_p(), virtual_operand_p(), visit_assignment(), visit_bb(), pointer_equiv_analyzer::visit_edge(), visit_loadstore(), visit_nary_op(), scc_copy_prop::visit_op(), ccp_propagate::visit_phi(), complex_propagate::visit_phi(), copy_prop::visit_phi(), visit_phi(), visit_ref_for_mod_analysis(), visit_reference_op_call(), visit_reference_op_load(), visit_reference_op_store(), complex_propagate::visit_stmt(), copy_prop::visit_stmt(), pointer_equiv_analyzer::visit_stmt(), visit_stmt(), vn_get_stmt_kind(), VN_INFO(), vn_lookup_simplify_result(), vn_nary_build_or_lookup_1(), vn_nary_op_eq(), vn_nary_op_insert_into(), vn_nary_op_lookup_1(), vn_phi_insert(), vn_phi_lookup(), vn_reference_compute_hash(), vn_reference_eq(), vn_reference_fold_indirect(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup_2(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), vn_reference_may_trap(), vn_reference_maybe_forwprop_address(), voidify_wrapper_expr(), vt_add_function_parameter(), vt_add_function_parameters(), vtable_pointer_value_to_vtable(), vtbl_map_get_node(), walk_polymorphic_call_targets(), walk_polymorphic_call_targets(), walk_regimplify_addr_expr(), walk_regimplify_phi(), walk_ssa_copies(), walk_stmt_load_store_addr_ops(), walk_tree_1(), walk_type_fields(), warn_dealloc_offset(), warn_deprecated_use(), warn_odr(), warn_types_mismatch(), warn_uninit(), warn_uninit_phi_uses(), warn_uninitialized_phi(), weak_finish(), wide_int_to_tree_1(), widen_memory_access(), widening_mult_conversion_strippable_p(), will_be_nonconstant_expr_predicate(), will_be_nonconstant_predicate(), worker_single_copy(), workshare_safe_to_combine_p(), wrap_refs(), write_symbol(), write_symbol_extension_info(), write_ts_common_tree_pointers(), write_ts_decl_common_tree_pointers(), write_ts_decl_minimal_tree_pointers(), write_ts_type_non_common_tree_pointers(), crc_optimization::xor_calculates_crc(), zero_length_string(), zero_one_minusone(), and zero_one_operation().
#define TREE_CODE_CLASS | ( | CODE | ) |
Referenced by aff_combination_expand(), analyze_agg_content_value(), and_var_with_comparison_1(), arith_overflow_check_p(), build2(), build3(), build_and_record_new_cond(), build_nt(), build_vl_exp(), can_propagate_from(), ccmp_tree_comparison_p(), chain_of_csts_start(), check_retval_uses(), combine_cond_expr_cond(), compute_complex_assign_jump_func(), fold_using_range::condexpr_adjust(), const_binop(), contains_placeholder_p(), convert_to_integer_1(), copy_if_shared_r(), copy_node(), copy_self_referential_tree_r(), copy_tree_r(), data_ref_compare_tree(), dequeue_and_dump(), edge_info::derive_equivalences(), dump_generic_node(), dump_unary_rhs(), edge_forwards_cmp_to_conditional_jump_through_empty_bb_p(), eliminate_redundant_comparison(), eval_subst(), expand_complex_operations_1(), expand_debug_expr(), expand_expr_real_1(), expand_gimple_cond(), expand_simple_operations(), expand_vector_operation(), expand_vector_operations_1(), expression_expensive_p(), extract_muldiv_1(), extract_single_var_from_expr(), final_range_test_p(), find_deriving_biv_for_expr(), find_interesting_uses_stmt(), find_placeholder_in_expr(), fold(), fold_binary_loc(), fold_build3_loc(), fold_cond_expr_with_comparison(), fold_ignored_result(), fold_stmt_1(), fold_ternary_loc(), fold_truth_andor_1(), fold_truth_andor_for_ifcombine(), fold_truth_not_expr(), fold_unary_loc(), forward_propagate_into_comparison_1(), forward_propagate_into_gimple_cond(), fully_constant_vn_reference_p(), scalar_cond_masked_key::get_cond_ops_from_tree(), get_constraint_for_1(), get_def_for_expr_class(), operands_scanner::get_expr_operands(), get_expr_type(), get_stats_node_kind(), gimple_build_cond(), gimple_cond_get_ops_from_tree(), gimple_could_trap_p_1(), gimple_expand_vec_cond_expr(), gimple_fold_stmt_to_constant_1(), gimple_omp_for_set_cond(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimple_simplify(), gimple_simplify(), gimplify_expr(), goa_stabilize_expr(), operand_compare::hash_operand(), ifcombine_ifandif(), insert_predicates_for_cond(), integer_valued_real_p(), interpret_rhs_expr(), ipa_get_jf_arith_result(), ipa_read_jump_function(), ipa_vr_intersect_with_arith_jfunc(), ipa_write_jump_function(), crc_optimization::is_acceptable_stmt_code(), is_degenerate_phi(), is_feasible_trace(), lower_lastprivate_clauses(), lto_is_streamable(), make_node(), make_range(), mark_all_vars_used_1(), maybe_fold_comparisons_from_match_pd(), maybe_optimize_range_tests(), ipcp_bits_lattice::meet_with(), merge_truthop_with_opposite_arm(), mostly_copy_tree_r(), predicate::normalize(), predicate::normalize(), operand_compare::operand_equal_p(), operation_could_trap_p(), optimize_atomic_bit_test_and(), optimize_atomic_op_fetch_cmp_0(), optimize_bitfield_assignment_op(), or_var_with_comparison_1(), ovce_extract_ops(), parloops_is_simple_reduction(), parse_predicate(), possible_vector_mask_operation_p(), pred_equal_p(), predicate_bbs(), print_node(), print_node_brief(), print_vn_reference_ops(), propagate_bias_p(), range_binop(), recalculate_side_effects(), recognise_vec_perm_simplify_seq(), replace_stmt_with_simplification(), safe_from_p(), same_bool_comparison_p(), simple_condition_p(), simple_cst_equal(), simplify_using_ranges::simplify(), simplify_using_ranges::simplify_compare_assign_using_ranges_1(), stabilize_reference_1(), stmt_cost(), stmt_could_throw_1_p(), substitute_in_expr(), substitute_placeholder_in_expr(), tree_block(), tree_code_size(), tree_could_trap_p(), tree_expr_nonnegative_warnv_p(), tree_expr_nonzero_warnv_p(), tree_node_structure_for_code(), tree_size(), truth_value_p(), twoval_comparison_p(), update_jump_functions_after_inlining(), valid_gimple_rhs_p(), value_replacement(), vect_build_slp_tree_1(), vect_comparison_type(), vect_determine_mask_precision(), vect_get_operand_map(), vect_mark_stmts_to_be_vectorized(), vect_recog_mask_conversion_pattern(), vector_compare_rtx(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_load(), vectorizable_operation(), verify_gimple_cond(), vn_get_stmt_kind(), vn_nary_may_trap(), vn_nary_op_compute_hash(), vn_nary_op_insert_pieces_predicated(), walk_tree_1(), and zero_one_minusone().
#define TREE_CODE_CLASS_STRING | ( | CLASS | ) |
Returns the string representing CLASS.
#define TREE_CODE_LENGTH | ( | CODE | ) |
Referenced by build0(), build2(), build3(), build_nt(), check_scan_store(), contains_placeholder_p(), expand_expr_real_1(), expand_widen_pattern_expr(), find_placeholder_in_expr(), fold(), fold_binary_loc(), fold_ternary_loc(), fold_unary_loc(), for_each_scev_op(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimple_simplified_result_is_gimple_val(), scev_is_linear_expression(), simple_cst_equal(), substitute_in_expr(), substitute_placeholder_in_expr(), tree_code_size(), tree_operand_length(), vectorizable_conversion(), vectorizable_operation(), vectorizable_scan_store(), and vectorize_fold_left_reduction().
#define TREE_CONSTANT | ( | NODE | ) |
Value of expression is constant. Always on in all ..._CST nodes. May also appear in an expression or decl where the value is constant.
Referenced by addr_object_size(), autofdo::afdo_propagate_circuit(), asan_add_global(), asan_finish_file(), assign_parms_augmented_arg_list(), build2(), build_new_poly_int_cst(), tree_switch_conversion::switch_conversion::build_one_array(), build_string(), build_string_literal(), categorize_decl_for_section(), constructor_static_from_elts_p(), copy_tree_body_r(), create_odr_indicator(), default_select_section(), detach_value(), evaluate_control_stmt_using_entry_checks(), expand_constructor(), expand_expr_real_2(), expr_expected_value(), expr_expected_value_1(), finalize_record_size(), finish_taskreg_scan(), fixup_remapped_decl(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_binary_to_constant(), fold_builtin_constant_p(), fold_builtin_expect(), fold_comparison(), fold_unary_loc(), fold_unary_to_constant(), gimplify_init_constructor(), gimplify_init_ctor_preeval(), gimplify_modify_expr_complex_part(), handle_simd_reference(), hash_tree(), immediate_const_ctor_p(), initializer_constant_valid_p_1(), is_variable_sized(), lower_oacc_reductions(), lower_omp_target(), lower_rec_input_clauses(), make_int_cst(), make_node(), make_vector(), omp_extract_for_data(), omp_finish_file(), omp_task_reduction_iterate(), operand_compare::operand_equal_p(), operation_could_trap_helper_p(), pack_ts_base_value_fields(), place_field(), predict_extra_loop_exits(), print_node(), really_constant_p(), recompute_constructor_flags(), recompute_tree_invariant_for_addr_expr(), remap_gimple_stmt(), return_prediction(), rtl_for_decl_init(), skip_simple_constant_arithmetic(), split_tree(), staticp(), tree_invariant_p_1(), tree_swap_operands_p(), ubsan_create_data(), ubsan_source_location(), ubsan_type_descriptor(), unpack_ts_base_value_fields(), variable_size(), verify_address(), verify_constructor_flags(), and verify_gimple_assign_ternary().
#define tree_decl_map_eq tree_map_base_eq |
Referenced by tree_decl_map_cache_hasher::equal().
#define tree_decl_map_marked_p tree_map_base_marked_p |
#define TREE_DEPRECATED | ( | NODE | ) |
Nonzero in a _DECL if the use of the name is defined as a deprecated feature by __attribute__((deprecated)).
Referenced by decls_mismatched_attributes(), hash_tree(), pack_ts_base_value_fields(), print_node(), and unpack_ts_base_value_fields().
#define TREE_FIXED_CST | ( | NODE | ) |
Referenced by compare_constant(), const_binop(), const_vector_from_tree(), ipa_icf::sem_variable::equals(), expand_expr_real_1(), fixed_zerop(), fold_convert_const_fixed_from_fixed(), fold_convert_const_int_from_fixed(), fold_convert_const_real_from_fixed(), fold_negate_const(), hash_tree(), native_encode_fixed(), operand_compare::operand_equal_p(), pack_ts_fixed_cst_value_fields(), print_node(), print_node_brief(), simple_cst_equal(), and tree_single_nonnegative_warnv_p().
#define TREE_FIXED_CST_PTR | ( | NODE | ) |
Referenced by build_fixed(), const_hash_1(), dequeue_and_dump(), dump_generic_node(), fold_relational_const(), operand_compare::hash_operand(), and unpack_ts_fixed_cst_value_fields().
#define TREE_HASH | ( | NODE | ) |
A simple hash function for an arbitrary tree node. This must not be used in hash tables which are saved to a PCH.
Referenced by add_ttypes_entry(), ehspec_hasher::hash(), tree_hash::hash(), and ttypes_filter_hasher::hash().
#define TREE_IMAGPART | ( | NODE | ) |
Referenced by adjust_imagpart_expr(), build_complex(), categorize_ctor_elements_1(), compare_constant(), const_binop(), const_hash_1(), const_unop(), const_with_all_bytes_same(), DFS::DFS_write_tree_body(), do_mpc_arg2(), drop_tree_overflow(), dump_generic_node(), ipa_icf::sem_variable::equals(), expand_debug_expr(), expand_expr_real_1(), extract_component(), find_lattice_value(), fold_binary_loc(), fold_const_call_1(), fold_const_call_1(), fold_mult_zconjz(), fold_negate_expr_1(), fold_relational_const(), operand_compare::hash_operand(), hash_tree(), initializer_zerop(), integer_all_onesp(), integer_each_onep(), integer_minus_onep(), integer_nonzerop(), integer_onep(), integer_pow2p(), integer_zerop(), lto_input_ts_complex_tree_pointers(), maybe_trim_complex_store(), native_encode_complex(), negate_expr_p(), operand_compare::operand_equal_p(), output_constant(), print_node(), read_complex_part(), real_maybe_zerop(), real_minus_onep(), real_onep(), real_zerop(), tree_expr_finite_p(), valid_lattice_transition(), walk_tree_1(), and write_ts_complex_tree_pointers().
#define TREE_INT_CST_ELT | ( | NODE, | |
I ) |
Referenced by build_new_int_cst(), cache_integer_cst(), const_hash_1(), int_cst_hasher::equal(), fold_convert_const_fixed_from_int(), wi::extended_tree< N >::get_val(), wi::unextended_tree::get_val(), int_cst_hasher::hash(), operand_compare::hash_operand(), output_constant(), pack_ts_int_cst_value_fields(), streamer_write_integer_cst(), wi::to_wide(), type_hash_canon_hash(), unpack_ts_int_cst_value_fields(), and wide_int_to_tree_1().
#define TREE_INT_CST_EXT_NUNITS | ( | NODE | ) |
Referenced by int_cst_hasher::equal(), wi::extended_tree< N >::get_len(), operand_compare::hash_operand(), make_int_cst(), output_constant(), pack_ts_int_cst_value_fields(), streamer_write_tree_header(), tree_size(), unpack_ts_int_cst_value_fields(), and wide_int_to_tree_1().
#define TREE_INT_CST_LOW | ( | NODE | ) |
Referenced by access_with_size_object_size(), alloc_object_size(), analyze_ref(), apply_binop_and_append_stmt(), build_vector_type_for_mode(), calc_perm_vec_perm_simplify_seqs(), ccp_finalize(), collect_one_action_chain(), compare_tree_int(), copy_reference_ops_from_ref(), decode_addr_const(), decrement_count(), decrement_power(), default_goacc_reduction(), edge_info::derive_equivalences(), do_jump(), dr_alignment(), dr_analyze_innermost(), dr_misalignment(), dump_generic_node(), dump_gimple_call(), dump_oacc_loop_part(), eliminate_dom_walker::eliminate_stmt(), emit_warn_switch_unreachable(), evaluate_stmt(), execute_early_expand_coro_ifns(), execute_oacc_device_lower(), execute_omp_oacc_neuter_broadcast(), cgraph_node::expand(), expand_block_edges(), expand_builtin_alloca(), expand_builtin_crc_table_based(), expand_builtin_goacc_parlevel_id_size(), expand_crc_optab_fn(), expand_DEFERRED_INIT(), expand_expr_real_1(), expand_expr_real_2(), expand_omp_target(), expand_UNIQUE(), expand_vector_divmod(), find_gang_private_vars(), fndecl_dealloc_argno(), fold_builtin_alloca_with_align(), cfn_goacc_dim::fold_range(), fold_read_from_constant_string(), ccp_folder::fold_stmt(), get_addr_base_and_unit_offset_1(), get_misalign_in_elems(), get_negative_load_store_type(), get_nonnull_args(), get_object_alignment_2(), get_pointer_alignment_1(), gimple_boolify(), gimple_call_alloc_size(), gimple_compare_field_offset(), gimple_fold_builtin_clear_padding(), gimple_fold_builtin_memset(), gimple_infer_range::gimple_infer_range(), go_format_type(), handle_printf_call(), infer_nonnull_range_by_attribute(), int_cst_value(), int_size_in_bytes(), is_combined_permutation_identity(), locate_and_pad_parm(), lower_builtin_assume_aligned(), lower_coro_builtin(), lower_vec_perm(), make_fancy_name_1(), neuter_worker_single(), new_oacc_loop(), oacc_get_fn_dim_size(), oacc_get_ifn_dim_arg(), oacc_loop_discover_walk(), oacc_loop_xform_head_tail(), oacc_validate_dims(), oacc_xform_loop(), omp_sese_find_par(), omp_sese_split_blocks(), optimize_vector_load(), pad_below(), place_field(), vn_walk_cb_data::push_partial_def(), recognise_vec_perm_simplify_seq(), simd_clone_clauses_extract(), simplify_bitfield_ref(), simplify_permutation(), simplify_vector_constructor(), target_char_cast(), tree_call_nonnegative_warnv_p(), tree_to_shwi(), tree_to_uhwi(), validate_arglist(), vect_analyze_data_ref_access(), vect_analyze_data_ref_accesses(), vect_analyze_group_access_1(), vect_can_peel_nonlinear_iv_p(), vect_create_cond_for_align_checks(), vect_describe_gather_scatter_call(), vect_determine_precisions_from_users(), vect_dissolve_slp_only_groups(), vect_dr_misalign_for_aligned_access(), vect_enhance_data_refs_alignment(), vect_get_peeling_costs_all_drs(), vect_get_smallest_scalar_type(), vect_joust_widened_integer(), vect_peel_nonlinear_iv_init(), vect_peeling_supportable(), vect_recog_divmod_pattern(), vect_supportable_dr_alignment(), vect_update_misalignment_for_peel(), vector_element(), vn_reference_eq(), vn_reference_lookup_3(), and write_symbol().
#define TREE_INT_CST_NUNITS | ( | NODE | ) |
Define additional fields and accessors for nodes representing constants.
Referenced by const_hash_1(), int_cst_hasher::equal(), fold_convert_const_fixed_from_int(), wi::extended_tree< N >::get_len(), wi::unextended_tree::get_len(), int_cst_hasher::hash(), make_int_cst(), streamer_write_integer_cst(), streamer_write_tree_header(), wi::to_wide(), type_hash_canon_hash(), and wide_int_to_tree_1().
#define tree_int_map_eq tree_map_base_eq |
#define tree_int_map_hash tree_map_base_hash |
#define tree_int_map_marked_p tree_map_base_marked_p |
#define TREE_LANG_FLAG_0 | ( | NODE | ) |
These flags are available for each language front end to use internally.
Referenced by print_node().
#define TREE_LANG_FLAG_1 | ( | NODE | ) |
Referenced by print_node().
#define TREE_LANG_FLAG_2 | ( | NODE | ) |
Referenced by print_node().
#define TREE_LANG_FLAG_3 | ( | NODE | ) |
Referenced by print_node().
#define TREE_LANG_FLAG_4 | ( | NODE | ) |
Referenced by print_node().
#define TREE_LANG_FLAG_5 | ( | NODE | ) |
Referenced by print_node().
#define TREE_LANG_FLAG_6 | ( | NODE | ) |
Referenced by print_node().
#define tree_map_eq tree_map_base_eq |
Referenced by tm_clone_hasher::equal(), and move_sese_region_to_fn().
#define tree_map_marked_p tree_map_base_marked_p |
#define TREE_NO_TRAMPOLINE | ( | NODE | ) |
In an ADDR_EXPR, nonzero means do not use a trampoline.
Referenced by build_instrumentation_call(), convert_tramp_reference_op(), and initializer_constant_valid_p_1().
#define TREE_NO_WARNING | ( | NODE | ) |
In an expr node (usually a conversion) this means the node was made implicitly and should not lead to any sort of warning. In a decl node, warnings concerning the decl should be suppressed. This is used at least for used-before-set warnings, and it set after one warning is emitted.
Referenced by hash_tree(), pack_ts_base_value_fields(), unpack_ts_base_value_fields(), and vect_get_mask_load_else().
#define TREE_NOTHROW | ( | NODE | ) |
In a FUNCTION_DECL, nonzero means a call to the function cannot throw an exception. In a CALL_EXPR, nonzero means the call cannot throw. We can't easily check the node type here as the C++ frontend also uses this flag (for AGGR_INIT_EXPR).
Referenced by cgraph_node::analyze(), analyze_function(), build_fn_decl(), build_info(), cgraph_node::create_wrapper(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), expand_builtin_fork_or_exec(), expand_call(), expand_call_stmt(), flags_from_decl_or_type(), gimple_build_call_from_tree(), gimple_call_nonnull_result_p(), gimple_init_gcov_profiler(), gimplify_call_expr(), gimplify_modify_expr(), gsi_insert_finally_seq_after_call(), has_attribute(), hash_tree(), ignore_edge_for_nothrow(), cgraph_edge::make_speculative(), optimize_omp_library_calls(), pack_ts_base_value_fields(), print_node(), propagate_nothrow(), rt_bb_visited::rt_bb_visited(), self_referential_size(), set_call_expr_flags(), set_nothrow_flag_1(), set_nothrow_function_flags(), tm_malloc_replacement(), tree_expr_nonzero_warnv_p(), unpack_ts_base_value_fields(), and weak_finish().
#define TREE_OPERAND | ( | NODE, | |
I ) |
Referenced by access_fn_component_p(), access_fn_components_comparable_p(), add_decls_addresses_to_decl_constructor(), add_iv_candidate_for_use(), add_scope_conflicts_2(), add_to_predicate_list(), add_type_duplicate(), add_var_loc_to_decl(), addr_object_size(), address_compare(), adjacent_dr_p(), adjust_imagpart_expr(), adjust_offset_for_component_ref(), adjust_offsets_for_equal_base_address(), adjust_realpart_expr(), adjust_references_in_caller(), aff_combination_expand(), aliasing_component_refs_p(), aliasing_component_refs_walk(), alloc_iv(), analyze_access_subtree(), analyze_function_body(), analyze_ref(), ao_ref_base_alias_ptr_type(), ao_ref_base_alias_set(), ao_ref_from_mem(), ao_ref_init_from_ptr_and_range(), ao_ref_init_from_vn_reference(), arith_overflow_check_p(), array_ref_element_size(), array_ref_flexible_size_p(), array_ref_low_bound(), array_ref_up_bound(), array_size_for_constructor(), asan_expand_mark_ifn(), assemble_asm(), associate_trees(), backtrace_base_for_ref(), ipcp_modif_dom_walker::before_dom_children(), bit_field_offset(), bit_field_size(), bitfields_to_lower_p(), bitwise_inverted_equal_p(), block_may_fallthru(), build2(), build_access_from_call_arg(), build_access_from_expr_1(), build_debug_ref_for_model(), build_fold_addr_expr_with_type_loc(), build_nt(), build_outer_var_ref(), build_reconstructed_reference(), build_ref_for_model(), build_ref_for_offset(), build_simple_mem_ref_loc(), builtin_setjmp_setup_bb(), byte_from_pos(), c_strlen(), call_may_clobber_ref_p_1(), cand_value_at(), canonicalize_addr_expr(), canonicalize_base_object_address(), canonicalize_bool(), canonicalize_component_ref(), canonicalize_cond_expr_cond(), canonicalize_constructor_val(), categorize_ctor_elements_1(), cheap_array_ref_low_bound(), array_bounds_checker::check_addr_expr(), check_all_va_list_escapes(), array_bounds_checker::check_array_ref(), gimple_infer_range::check_assume_func(), check_loadstore(), check_loadstore(), check_out_of_bounds_and_warn(), check_scan_store(), check_stmt_for_type_change(), check_va_list_escapes(), chrec_apply(), chrec_contains_symbols(), chrec_contains_symbols_defined_in_loop(), chrec_contains_undetermined(), chrec_convert_1(), chrec_fold_multiply(), chrec_fold_plus_1(), cleanup_control_flow_bb(), collect_object_sizes_for(), ao_compare::compare_ao_refs(), compare_constant(), component_ref_field_offset(), component_ref_sam_type(), component_ref_size(), component_ref_to_zero_sized_trailing_array_p(), component_uses_parent_alias_set_from(), compute_access_stride(), compute_complex_ancestor_jump_func(), compute_complex_assign_jump_func(), compute_object_offset(), compute_objsize_r(), compute_reloc_for_constant(), cond_store_replacement(), const_hash_1(), constant_after_peeling(), constant_byte_string(), constant_for_folding(), constant_pointer_difference(), contain_complex_addr_expr(), contains_bitfld_component_ref_p(), contains_placeholder_p(), contains_vce_or_bfcref_p(), contains_view_convert_expr_p(), convert_local_omp_clauses(), convert_local_reference_op(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), convert_to_complex_1(), convert_to_integer_1(), convert_to_real_1(), convert_tramp_reference_op(), copy_ref_info(), copy_reference_ops_from_ref(), copy_self_referential_tree_r(), copy_tree_body_r(), strlen_pass::count_nonzero_bytes(), strlen_pass::count_nonzero_bytes_addr(), create_access_replacement(), create_component_ref_by_pieces_1(), create_iv(), create_specialized_node(), create_task_copyfn(), cgraph_node::create_virtual_clone(), data_ref_compare_tree(), decl_for_component_ref(), decode_addr_const(), default_ref_may_alias_errno(), dequeue_and_dump(), derive_simple_iv_with_niters(), detect_type_change(), determine_base_object_1(), determine_common_wider_type(), determine_known_aggregate_parts(), DFS::DFS_write_tree_body(), diagnose_tm_1(), difference_cannot_overflow_p(), discover_nonconstant_array_refs_r(), distinctify_node_type(), do_jump(), do_niy(), do_warn_nonnull_compare(), dr_analyze_alias(), dr_analyze_indices(), dr_analyze_innermost(), dr_equal_offsets_p1(), dr_may_alias_p(), dr_step_indicator(), dump_function_name(), dump_generic_node(), dump_gimple_call(), dump_mem_address(), dump_mem_ref(), duplicate_insn_chain(), eliminate_dom_walker::eliminate_insert(), eliminate_local_variables_1(), eliminate_dom_walker::eliminate_stmt(), eliminated_by_inlining_prob(), ends_tbaa_access_path_p(), eq_evolutions_p(), mem_ref_hasher::equal(), ipa_icf::sem_variable::equals(), eval_subst(), evaluate_control_stmt_using_entry_checks(), evolution_function_is_invariant_rec_p(), evolution_function_right_is_integer_cst(), execute_early_expand_coro_ifns(), execute_oacc_device_lower(), execute_omp_device_lower(), execute_omp_oacc_neuter_broadcast(), execute_update_addresses_taken(), expand_asm_stmt(), expand_assignment(), expand_builtin(), expand_builtin_atomic_fetch_op(), expand_builtin_init_trampoline(), expand_call_mem_ref(), expand_complex_operations_1(), expand_cond_expr_using_cmove(), expand_debug_expr(), expand_DEFERRED_INIT(), expand_expr_addr_expr(), expand_expr_addr_expr_1(), expand_expr_real_1(), expand_expr_real_2(), expand_function_start(), expand_omp_atomic_cas(), expand_omp_atomic_mutex(), expand_omp_ordered_sink(), expand_omp_target(), expand_omp_taskreg(), expand_return(), expand_simple_operations(), expand_vec_cmp_expr(), expr_expected_value_1(), expr_first(), expr_invariant_in_loop_p(), expr_last(), expr_object_size(), expr_size(), expr_to_aff_combination(), expr_with_var_bounded_array_refs_p(), expression_expensive_p(), extr_type_from_vtbl_ptr_store(), extract_bit_test_mask(), extract_component(), extract_mem_content(), extract_muldiv_1(), extract_object_class_type(), extract_ops_from_tree(), extract_single_var_from_expr(), find_constructor_constant_at_offset(), find_deriving_biv_for_expr(), find_equal_ptrs(), find_func_aliases_for_builtin_call(), find_func_clobbers(), find_gang_private_vars(), find_interesting_uses_address(), find_placeholder_in_expr(), find_reduc_addr(), find_single_drs(), find_taken_edge(), finish_bitfield_representative(), fixup_vla_decls(), fold(), fold_addr_of_array_ref_difference(), fold_array_ctor_reference(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_build_cleanup_point_expr(), fold_build_cond_expr(), fold_builtin_atomic_always_lock_free(), fold_builtin_atomic_compare_exchange(), fold_builtin_call_array(), fold_builtin_constant_p(), fold_builtin_expect(), fold_builtin_next_arg(), fold_call_stmt(), fold_comparison(), fold_cond_expr_with_comparison(), fold_const_aggregate_ref_1(), fold_convert_loc(), fold_gimple_assign(), fold_ignored_result(), fold_indirect_ref_1(), fold_indirect_ref_loc(), fold_mult_zconjz(), fold_negate_expr_1(), fold_plusminus_mult_expr(), fold_read_from_constant_string(), ccp_folder::fold_stmt(), fold_stmt_1(), fold_strstr_to_strncmp(), fold_ternary_loc(), fold_to_nonsharp_ineq_using_bound(), fold_truth_andor(), fold_truth_andor_1(), fold_truth_not_expr(), fold_unary_loc(), scev_dfs::follow_ssa_edge_expr(), for_each_index(), for_each_scev_op(), force_expr_to_var_cost(), force_move_till(), forward_propagate_addr_expr_1(), forward_propagate_into_comparison_1(), fully_constant_vn_reference_p(), function_to_dwarf_procedure(), gather_mem_refs_stmt(), gen_lsm_tmp_name(), gen_phi_arg_condition(), generic_expr_could_trap_p(), get_access_for_expr(), get_addr_base_and_unit_offset_1(), get_ancestor_addr_info(), get_array_ctor_element_at_index(), get_attr_nonstring_decl(), get_base_address(), get_base_constructor(), get_base_decl(), get_base_for_alignment(), get_base_loadstore(), get_base_value(), get_base_var(), get_bit_range(), get_bitfield_rep(), get_callee_fndecl(), get_computation_aff_1(), scalar_cond_masked_key::get_cond_ops_from_tree(), get_constraint_for_1(), get_constraint_for_component_ref(), ipa_polymorphic_call_context::get_dynamic_type(), operands_scanner::get_expr_operands(), get_inner_reference(), get_known_nonzero_bits(), get_mem_align_offset(), operands_scanner::get_mem_ref_operands(), get_memory_rtx(), get_min_precision(), get_name(), get_narrower(), get_nonzero_bits(), get_object_alignment_1(), get_object_alignment_2(), get_offset_range(), get_pointer_alignment_1(), get_range_pos_neg(), get_range_strlen_dynamic(), get_range_strlen_tree(), get_ref_base_and_extent(), get_ref_size(), get_shiftadd_cost(), get_single_symbol(), get_stridx(), get_stridx_plus_constant(), range_query::get_tree_range(), get_unwidened(), get_up_bounds_for_array_ref(), gimple_add_padding_init_for_auto_var(), gimple_assign_load_p(), gimple_boolify(), gimple_call_addr_fndecl(), gimple_convert_def_p(), gimple_duplicate_bb(), gimple_equal_p(), gimple_expand_vec_set_extract_expr(), gimple_extract(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_indirect_ref(), gimple_fold_stmt_to_constant_1(), gimple_get_virt_method_for_vtable(), gimple_lower_bitint(), gimple_range_base_of_assignment(), gimple_simplify(), gimplify_addr_expr(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_cleanup_point_expr(), gimplify_compound_expr(), gimplify_compound_lval(), gimplify_cond_expr(), gimplify_conversion(), gimplify_exit_expr(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_modify_expr(), gimplify_modify_expr_complex_part(), gimplify_modify_expr_rhs(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), gimplify_oacc_declare(), gimplify_omp_affinity(), gimplify_omp_atomic(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), gimplify_return_expr(), gimplify_save_expr(), gimplify_scalar_mode_aggregate_compare(), gimplify_scan_omp_clauses(), gimplify_self_mod_expr(), gimplify_target_expr(), gimplify_va_arg_expr(), gimplify_variable_sized_compare(), goa_lhs_expr_p(), goa_stabilize_expr(), handle_array_ref(), strlen_pass::handle_assign(), handle_component_ref(), strlen_pass::handle_integral_assign(), handle_mem_ref(), strlen_pass::handle_store(), tm_memop_hasher::hash(), ao_compare::hash_ao_ref(), operand_compare::hash_operand(), hash_tree(), hoist_adjacent_loads(), idx_analyze_ref(), idx_record_use(), if_convertible_loop_p_1(), ifcombine_replace_cond(), in_array_bounds_p(), inbounds_memaccess_p(), indirect_ref_may_alias_decl_p(), indirect_refs_may_alias_p(), access_ref::inform_access(), init_dont_simulate_again(), init_vn_nary_op_from_stmt(), initialize_data_dependence_relation(), initialize_expr_from_cond(), initialize_matrix_A(), initializer_constant_valid_for_bitfield_p(), initializer_constant_valid_p_1(), initializer_zerop(), input_gimple_stmt(), instantiate_scev_r(), instrument_derefs(), instrument_expr(), instrument_mem_ref(), instrument_null(), instrument_object_size(), int_expr_size(), integer_valued_real_invalid_p(), integer_valued_real_p(), integer_valued_real_single_p(), interpret_rhs_expr(), inverse_conditions_p(), ipa_analyze_virtual_call_uses(), ipa_find_agg_cst_from_init(), ipa_get_indirect_edge_target_1(), ipa_get_range_from_ip_invariant(), ipa_get_stmt_member_ptr_load_param(), ipa_load_from_parm_agg(), ipa_make_edge_direct_to_target(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_print_constant_value(), ipa_pta_execute(), ipa_set_jf_constant(), ipa_simd_modify_stmt_ops(), ipa_tm_insert_gettmclone_call(), ipa_tm_scan_irr_block(), ipa_write_jump_function(), is_addr_local(), is_aligning_offset(), is_asan_mark_p(), is_gimple_address(), is_gimple_condexpr_1(), is_gimple_invariant_address(), is_gimple_ip_invariant_address(), is_gimple_mem_ref_addr(), is_oacc_declared(), is_removable_cxa_atexit_call(), is_tm_irrevocable(), is_vptr_store(), is_vtable_assignment_stmt(), isra_get_ref_base_and_offset(), iv_elimination_compare_lt(), jump_function_from_stmt(), load_from_dereferenced_name(), load_from_unmodified_param_or_agg(), load_or_store_of_ptr_parameter(), loc_list_for_address_of_addr_expr_of_indirect_ref(), loc_list_from_tree_1(), local_var_based_p(), lower_coro_builtin(), lower_emutls_1(), lower_lastprivate_clauses(), lower_omp_1(), lower_omp_for(), lower_omp_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_send_clauses(), lower_stmt(), lto_input_ts_exp_tree_pointers(), make_bit_field_ref(), make_fancy_name_1(), make_range(), mark_addressable(), mark_nonssa_use(), match_uaddc_usubc(), may_be_nonaddressable_p(), may_move_till(), maybe_canonicalize_comparison_1(), maybe_canonicalize_mem_ref_addr(), maybe_dead_abnormal_edge_p(), maybe_diag_stxncpy_trunc(), maybe_fold_reference(), maybe_fold_tmr(), maybe_inline_call_in_expr(), maybe_instrument_pointer_overflow(), maybe_make_indirect(), maybe_optimize_arith_overflow(), maybe_optimize_ubsan_ptr_ifn(), maybe_rewrite_mem_ref_base(), maybe_set_dependence_info(), maybe_set_strlen_range(), maybe_warn_nonstring_arg(), maybe_warn_operand(), mem_ref_offset(), mem_ref_refers_to_non_mem_p(), merge_truthop_with_opposite_arm(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_expression(), move_fixed_address_to_symbol(), move_stmt(), multiple_of_p(), narrowing_initializer_constant_valid_p(), native_encode_initializer(), negate_expr_p(), new_stridx(), non_null_loadstore(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), noncall_stmt_may_be_vtbl_ptr_store(), nonoverlapping_array_refs_p(), nonoverlapping_component_refs_p(), nonoverlapping_refs_since_match_p(), number_of_iterations_until_wrap(), oacc_entry_exit_ok_1(), oacc_resolve_clause_dependencies(), oacc_rewrite_var_decl(), object_address_invariant_in_loop_p(), object_sizes_get(), omp_accumulate_sibling_list(), omp_add_variable(), omp_apply_tile(), omp_build_struct_sibling_lists(), omp_containing_struct(), omp_discover_declare_target_tgt_fn_r(), omp_extract_for_data(), omp_find_stores_op(), omp_finish_file(), omp_get_base_pointer(), omp_get_for_step_from_incr(), omp_index_mapping_groups_1(), omp_loop_number_of_iterations(), omp_mapped_by_containing_struct(), omp_maybe_apply_loop_xforms(), omp_member_access_dummy_var(), omp_notice_variable(), omp_addr_tokenizer::omp_parse_access_method(), omp_addr_tokenizer::omp_parse_component_selector(), omp_addr_tokenizer::omp_parse_pointer(), omp_addr_tokenizer::omp_parse_ref(), omp_addr_tokenizer::omp_parse_structured_expr(), omp_resolve_clause_dependencies(), omp_sese_split_blocks(), ompdevlow_adjust_simt_enter(), op1_range(), op_prio(), operand_equal_for_comparison_p(), operand_compare::operand_equal_p(), optimize_atomic_bit_test_and(), optimize_atomic_compare_exchange_p(), optimize_atomic_op_fetch_cmp_0(), optimize_count_trailing_zeroes(), optimize_memcpy_to_memset(), optimize_range_tests_to_bit_test(), optimize_va_list_gpr_fpr_size(), optimize_vector_load(), outermost_invariant_loop_for_expr(), output_addressed_constants(), output_constant(), output_constructor_array_range(), output_constructor_bitfield(), output_gimple_stmt(), output_ttype(), param_change_prob(), parloops_is_simple_reduction(), parse_predicate(), path_comparable_for_same_access(), phiprop_insert_phi(), plus_stmt_object_size(), pointer_may_wrap_p(), points_to_local_or_readonly_memory_p(), points_to_possible_sra_candidate_p(), pos_from_bit(), predicate_scalar_phi(), predicate_statements(), prepare_call_arguments(), prepare_decl_rtl(), prepare_gimple_addressable(), prepare_target_mem_ref_lvalue(), preserve_any_location_wrapper(), print_call_name(), print_node(), process_call_operands(), propagate_controlled_uses(), propagate_necessity(), propagate_unknowns(), propagate_with_phi(), ptr_deref_may_alias_decl_p(), ptr_deref_may_alias_ref_p_1(), ptr_derefs_may_alias_p(), ptrs_compare_unequal(), fold_using_range::range_of_address(), readonly_data_expr(), really_constant_p(), recalculate_side_effects(), recompute_tree_invariant_for_addr_expr(), record_conditions(), record_reference(), record_target_from_binfo(), record_type_list(), ref_at_iteration(), ref_contains_union_access_p(), ref_may_alias_global_p_1(), ref_may_be_aliased(), ref_maybe_used_by_call_p_1(), ref_maybe_used_by_stmt_p(), reference_alias_ptr_type(), reference_alias_ptr_type_1(), refs_local_or_readonly_memory_p(), refs_may_alias_p_2(), remap_gimple_op_r(), remap_gimple_stmt(), remap_vla_decls(), remove_indirect_clobbers(), remove_unused_locals(), replace_locals_op(), replace_ref(), replace_stmt_with_simplification(), replace_trapping_overflow(), requires_barrier(), restructure_reference(), reverse_storage_order_for_component_p(), rewrite_use_address(), rtl_for_decl_init(), safe_from_p(), same_access_path_p(), same_addr_size_stores_p(), same_bool_comparison_p(), same_bool_result_p(), scan_omp_1_op(), scan_operand_equal_p(), scan_sharing_clauses(), scev_is_linear_expression(), self_inlining_addr_expr(), self_referential_component_ref_p(), self_referential_size(), self_reuse_distance(), set_bb_predicate(), ipa_polymorphic_call_context::set_by_invariant(), set_component_ref_size(), set_mem_attributes_minus_bitpos(), set_ssa_val_to(), shortcut_cond_expr(), shortcut_cond_r(), sign_bit_p(), simd_clone_adjust(), simd_clone_call_p(), simple_condition_p(), simple_cst_equal(), simple_iv_with_niters(), simplify_1b(), simplify_bitfield_ref(), simplify_builtin_call(), simplify_using_ranges::simplify_casted_compare(), jump_threader::simplify_control_stmt_condition_1(), simplify_count_trailing_zeroes(), simplify_permutation(), simplify_replace_tree(), simplify_using_outer_evolutions(), simplify_vector_constructor(), sink_clobbers(), skip_simple_arithmetic(), skip_simple_constant_arithmetic(), slsr_process_ref(), sort_and_splice_var_accesses(), spaceship_replacement(), split_address_to_core_and_offset(), split_constant_offset_1(), split_to_var_and_offset(), split_tree(), sra_modify_call_arg(), sra_modify_expr(), ssa_undefined_value_p(), stabilize_reference(), stabilize_reference_1(), staticp(), stmt_kills_ref_p(), stmt_may_be_vtbl_ptr_store(), storage_order_barrier_p(), store_constructor(), store_expr(), store_field(), store_kills_ref_p(), strdup_object_size(), strip_float_extensions(), strip_invariant_refs(), strip_offset_1(), strip_zero_offset_components(), substitute_in_expr(), substitute_placeholder_in_expr(), pcom_worker::suitable_component_p(), symtab_node_for_jfunc(), tag_shortcut_cond(), take_address_of(), target_align(), test_nonssa_use(), tm_memopt_transform_stmt(), track_expr_p(), trailing_array(), transaction_invariant_address_p(), loop_distribution::transform_reduction_loop(), tree_add_const_value_attribute(), tree_binary_nonnegative_warnv_p(), tree_contains_chrecs(), tree_could_throw_p(), tree_could_trap_p(), tree_ctz(), tree_expr_finite_p(), tree_expr_infinite_p(), tree_expr_maybe_infinite_p(), tree_expr_maybe_nan_p(), tree_expr_maybe_real_minus_zero_p(), tree_expr_maybe_signaling_nan_p(), tree_expr_nan_p(), tree_expr_nonnegative_warnv_p(), tree_expr_nonzero_warnv_p(), tree_expr_signaling_nan_p(), tree_invalid_nonnegative_warnv_p(), tree_invariant_p_1(), tree_nonzero_bits(), tree_nop_conversion(), tree_sign_nop_conversion(), tree_simplify_using_condition_1(), tree_single_nonnegative_warnv_p(), tree_single_nonzero_warnv_p(), tree_ssa_strip_useless_type_conversions(), tree_ssa_useless_type_conversion(), tree_strip_any_location_wrapper(), tree_strip_nop_conversions(), tree_strip_sign_nop_conversions(), tree_to_aff_combination(), try_catch_may_fallthru(), twoval_comparison_p(), type_possibly_instantiated_p(), typed_binop_from_tree(), uaddc_is_cplxpart(), unadjusted_ptr_and_unit_offset(), undistribute_bitref_for_vector(), uniform_vector_p(), unterminated_array(), update_range_test(), use_in_zero_equality(), va_list_counter_bump(), va_list_counter_struct_op(), valid_gimple_rhs_p(), valid_mem_ref_cand_p(), values_equal_for_ipcp_p(), var_decl_component_p(), var_is_used_for_virtual_call_p(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_check_gather_scatter(), vect_copy_ref_info(), vect_embedded_comparison_type(), vect_find_stmt_data_reference(), vect_get_and_check_slp_defs(), vect_get_datarefs_in_loop(), vect_is_simple_cond(), vect_is_simple_use(), vect_mark_stmts_to_be_vectorized(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vectorizable_condition(), vectorizable_load(), vectorizable_scan_store(), vectorizable_simd_clone_call(), vectorizable_store(), verify_address(), verify_bb_vtables(), verify_gimple_assign_single(), verify_gimple_call(), verify_phi_args(), verify_types_in_gimple_reference(), view_converted_memref_p(), visit_loadstore(), visit_phi(), visit_reference_op_call(), visit_stmt(), vn_get_stmt_kind(), vn_reference_compute_hash(), vn_reference_eq(), vn_reference_fold_indirect(), vn_reference_lookup_2(), vn_reference_lookup_3(), vn_reference_may_trap(), vn_reference_maybe_forwprop_address(), voidify_wrapper_expr(), vt_add_function_parameters(), vtable_pointer_value_to_vtable(), walk_gimple_omp_for(), walk_stmt_load_store_addr_ops(), walk_tree_1(), warn_switch_unreachable_and_auto_init_r(), warn_uninit(), widen_memory_access(), will_be_nonconstant_expr_predicate(), wrap_refs(), and write_ts_exp_tree_pointers().
#define TREE_OPERAND_LENGTH | ( | NODE | ) |
In ordinary expression nodes.
Referenced by chrec_contains_symbols(), chrec_contains_symbols_defined_in_loop(), chrec_contains_undetermined(), data_ref_compare_tree(), DFS::DFS_write_tree_body(), do_niy(), evolution_function_is_invariant_rec_p(), expand_simple_operations(), expr_invariant_in_loop_p(), extract_single_var_from_expr(), find_deriving_biv_for_expr(), find_placeholder_in_expr(), generic_expr_could_trap_p(), get_base_value(), operand_compare::hash_operand(), hash_tree(), lto_input_ts_exp_tree_pointers(), make_range(), outermost_invariant_loop_for_expr(), print_node(), process_call_operands(), recalculate_side_effects(), replace_trapping_overflow(), safe_from_p(), simplify_replace_tree(), substitute_in_expr(), substitute_placeholder_in_expr(), tree_contains_chrecs(), walk_tree_1(), and write_ts_exp_tree_pointers().
#define TREE_OPTIMIZATION | ( | NODE | ) |
Referenced by build_optimization_node(), copy_node(), cl_option_hasher::equal(), free_node(), ipa_icf::sem_function::get_hash(), cl_option_hasher::hash(), hash_tree(), invoke_set_current_function_hook(), lto_input_ts_function_decl_tree_pointers(), make_node(), opts_for_fn(), print_node(), streamer_read_tree_bitfields(), streamer_write_tree_bitfields(), and target_reinit().
#define TREE_OPTIMIZATION_BASE_OPTABS | ( | NODE | ) |
Referenced by init_tree_optimization_optabs().
#define TREE_OPTIMIZATION_OPTABS | ( | NODE | ) |
Referenced by init_tree_optimization_optabs(), and invoke_set_current_function_hook().
#define TREE_OVERFLOW | ( | NODE | ) |
In an INTEGER_CST, REAL_CST, or COMPLEX_CST, this means there was an overflow in folding.
Referenced by build_complex(), build_range_check(), build_real(), build_real_from_int_cst(), cache_integer_cst(), tree_vector_builder::can_elide_p(), chrec_convert_1(), compare_values_warnv(), const_binop(), const_binop(), convert_to_integer_1(), DFS::DFS(), do_mpc_arg2(), do_mpfr_lgamma_r(), do_mpfr_remquo(), drop_tree_overflow(), dump_generic_node(), expand_case(), extract_bit_test_mask(), extract_muldiv_1(), factor_out_conditional_operation(), fold_abs_const(), fold_binary_loc(), fold_builtin_arith_overflow(), fold_builtin_frexp(), fold_builtin_modf(), fold_comparison(), fold_const_call(), fold_const_call(), fold_convert_const_fixed_from_fixed(), fold_convert_const_fixed_from_int(), fold_convert_const_fixed_from_real(), fold_convert_const_int_from_fixed(), fold_convert_const_int_from_int(), fold_convert_const_int_from_real(), fold_convert_const_real_from_fixed(), fold_convert_const_real_from_real(), fold_div_compare(), fold_negate_const(), fold_negate_expr_1(), fold_not_const(), fold_unary_ignore_overflow_loc(), fold_unary_loc(), force_fit_type(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), int_const_binop(), integer_cst_p(), layout_type(), lto_output_tree_1(), make_range_step(), maybe_canonicalize_comparison_1(), maybe_optimize_arith_overflow(), tree_vector_builder::note_representative(), optimize_vector_constructor(), place_field(), pointer_may_wrap_p(), print_node(), print_node_brief(), print_real_cst(), real_cst_p(), round_up_loc(), sign_bit_p(), size_binop_loc(), streamer_write_integer_cst(), valid_constant_size_p(), and value_replacement().
#define TREE_OVERFLOW_P | ( | EXPR | ) |
TREE_OVERFLOW can only be true for EXPR of CONSTANT_CLASS_P.
Referenced by canonicalize_constructor_val(), canonicalize_value(), fold_binary_loc(), get_single_symbol(), range_query::get_tree_range(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimplify_expr(), tree_vector_builder::note_representative(), set_ssa_name_value(), split_tree(), and valid_constant_size_p().
#define TREE_PRIVATE | ( | NODE | ) |
Used in classes in C++.
Referenced by add_accessibility_attribute(), gimplify_omp_for(), gimplify_omp_loop_xform(), hash_tree(), omp_apply_tile(), pack_ts_base_value_fields(), print_node(), and unpack_ts_base_value_fields().
#define TREE_PROTECTED | ( | NODE | ) |
Used in classes in C++.
Referenced by add_accessibility_attribute(), hash_tree(), pack_ts_base_value_fields(), print_node(), and unpack_ts_base_value_fields().
#define TREE_PUBLIC | ( | NODE | ) |
In a VAR_DECL, FUNCTION_DECL, NAMESPACE_DECL or TYPE_DECL, nonzero means name is to be accessible from outside this translation unit. In an IDENTIFIER_NODE, nonzero means an external declaration accessible from outside this translation unit was previously seen for this name in an inner scope.
Referenced by cgraph_node::add_new_function(), add_pubname(), add_pubtype(), asan_add_global(), asan_emit_stack_protection(), asan_finish_file(), asan_needs_odr_indicator_p(), asan_protect_global(), assemble_alias(), assemble_crc_table(), assemble_external(), assemble_start_function(), assemble_variable(), build_builtin_function(), build_cxa_atexit_decl(), build_dso_handle_decl(), build_fn_decl(), build_gcov_exit_decl(), build_info(), build_init_ctor(), build_libfunc_function_visibility(), build_personality_function(), can_refer_decl_in_current_unit_p(), cgraph_build_static_cdtor_1(), cgraph_externally_visible_p(), check_decl(), check_global_declaration(), comdat_can_be_unshared_p_1(), symtab_node::comdat_local_p(), compare_base_symbol_refs(), symtab_node::copy_visibility_from(), coverage_compute_profile_id(), create_assumption_fn(), create_loop_fn(), create_odr_indicator(), create_omp_child_function(), cgraph_node::create_version_clone_with_body(), cgraph_node::create_virtual_clone(), ctor_for_folding(), decl_binds_to_current_def_p(), decl_replaceable_p(), declare_weak(), decls_mismatched_attributes(), default_binds_local_p_3(), default_elf_select_rtx_section(), default_encode_section_info(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_stack_protect_guard(), default_use_anchors_for_symbol_p(), dequeue_and_dump(), symtab_node::dissolve_same_comdat_group_list(), do_assemble_alias(), symtab_node::dump_base(), dw2_force_const_mem(), dw2_output_indirect_constant_1(), expand_builtin_fork_or_exec(), expand_omp_target(), expand_simd_clones(), varpool_node::externally_visible_p(), symtab_node::fixup_same_cpp_alias_visibility(), fortran_common(), function_always_visible_to_compiler_p(), function_and_variable_visibility(), get_asan_shadow_memory_dynamic_address_decl(), varpool_node::get_availability(), get_emutls_init_templ_addr(), get_variable_align(), get_variable_section(), gimple_init_gcov_profiler(), go_decl(), hash_tree(), init_eh(), init_ic_make_global_vars(), ipa_make_edge_direct_to_target(), ipa_pta_execute(), ipa_tm_create_version(), ipa_tm_create_version_alias(), is_improper(), lhd_set_decl_assembler_name(), local_tree_p(), localize_node(), lower_omp_critical(), symtab_node::make_decl_local(), make_decl_one_only(), make_decl_rtl(), make_dispatcher_decl(), may_be_aliased(), maybe_record_node(), maybe_special_function_p(), merge_weak(), need_assembler_name_p(), symtab_node::needed_p(), new_emutls_decl(), symtab_node::noninterposable_alias(), notice_global_symbol(), omp_runtime_api_call(), optimize_omp_library_calls(), optimize_weakref(), output_comp_unit(), symtab_node::output_to_lto_symbol_table_p(), output_ttype(), pack_ts_base_value_fields(), cgraph_edge::possibly_call_in_translation_unit_p(), symtab_node::prevailing_p(), print_decl_identifier(), print_declaration(), print_node(), process_function_and_variable_attributes(), process_symver_attribute(), refered_from_nonlocal_fn(), refered_from_nonlocal_var(), reference_to_unused(), save_inline_function_body(), secname_for_decl(), set_new_clone_decl_and_node_flags(), setjmp_or_longjmp_p(), simd_clone_create(), simple_operand_p(), type_in_anonymous_namespace_p(), ubsan_create_data(), ubsan_expand_vptr_ifn(), ubsan_type_descriptor(), unpack_ts_base_value_fields(), symtab_node::used_from_object_file_p(), symtab_node::verify_base(), weak_finish(), wrap_refs(), and wrapup_global_declaration_2().
#define TREE_PURPOSE | ( | NODE | ) |
In a TREE_LIST node.
Referenced by assemble_asm(), attribute_ignored_p(), build_constructor_from_list(), build_tree_list(), rt_bb_visited::check(), check_unique_operand_names(), comp_type_attributes(), ipa_icf_gimple::func_checker::compare_asm_inputs_outputs(), copy_tree_body_r(), create_coalesce_list_for_region(), create_task_copyfn(), cxx11_attribute_p(), dequeue_and_dump(), device_resident_p(), DFS::DFS_write_tree_body(), dump_function_to_file(), dump_generic_node(), dump_omp_clause(), expand_asm_stmt(), expand_omp_ordered_sink(), find_func_aliases(), operands_scanner::get_asm_stmt_operands(), get_attribute_name(), get_attribute_namespace(), gimple_regimplify_operands(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_scan_omp_clauses(), go_output_typedef(), hash_tree(), ipa_odr_summary_write(), lookup_attribute_spec(), lookup_tramp_for_decl(), lower_omp_ordered_clauses(), lower_private_allocate(), lower_rec_input_clauses(), lto_input_ts_list_tree_pointers(), maybe_canonicalize_argtypes(), oacc_do_neutering(), oacc_fn_attrib_level(), oacc_replace_fn_attrib_attr(), oacc_validate_dims(), omp_discover_declare_target_tgt_fn_r(), omp_resolve_declare_variant(), print_node(), process_symver_attribute(), purpose_member(), rt_bb_visited::push_rtcfg_pair(), remove_attributes_matching(), remove_named_attribute_unsharing(), resolve_asm_operand_names(), resolve_operand_name_1(), substitute_in_expr(), substitute_placeholder_in_expr(), tree_cons(), type_list_equal(), verify_type(), walk_gimple_asm(), walk_stmt_load_store_addr_ops(), weak_finish(), and write_ts_list_tree_pointers().
#define TREE_READONLY | ( | NODE | ) |
In a VAR_DECL, PARM_DECL or FIELD_DECL, or any kind of ..._REF node, nonzero means it may not be the lhs of an assignment. Nonzero in a FUNCTION_DECL means this function should be treated as "const" function (can only read its arguments).
Referenced by symtab_node::address_can_be_compared_p(), analyze_functions(), asan_add_global(), asan_emit_stack_protection(), asan_pp_string(), assemble_crc_table(), assumption_copy_decl(), base_object_writable(), bss_initializer_p(), build2(), build3(), build_constant_desc(), build_gcov_info_var_registration(), tree_switch_conversion::switch_conversion::build_one_array(), build_string_literal(), call_may_clobber_ref_p_1(), can_sm_ref_p(), categorize_decl_for_section(), cdtor_p(), rt_bb_visited::check(), check_decl(), check_global_declaration(), comdat_can_be_unshared_p_1(), copy_decl_to_var(), copy_result_decl_to_var(), copy_tree_body_r(), create_access(), create_odr_indicator(), create_omp_child_function(), create_tmp_var_raw(), create_vop_var(), ctor_for_folding(), varpool_node::ctor_useable_for_folding_p(), decl_quals(), default_select_section(), varpool_node::dump(), dw2_output_indirect_constant_1(), emit_push_insn(), expand_expr_real_1(), expand_omp_target(), expand_thunk(), ipa_icf::sem_item_optimizer::filter_removed_items(), flags_from_decl_or_type(), fold_unary_loc(), get_callee_fndecl(), get_chain_decl(), get_debug_decl(), get_emutls_init_templ_addr(), gimplify_compound_literal_expr(), gimplify_decl_expr(), gimplify_init_constructor(), gimplify_modify_expr_rhs(), handle_unscalarized_data_in_subtree(), has_attribute(), hash_tree(), instrument_expr(), ipa_compute_jump_functions_for_edge(), ipa_discover_variable_flags(), ipa_find_agg_cst_from_init(), ipa_make_function_const(), ipa_make_function_pure(), ipa_tm_create_version_alias(), is_improper(), lhd_warn_unused_global_decl(), load_register_parameters(), lower_send_shared_vars(), may_be_aliased(), maybe_inline_call_in_expr(), mem_dies_at_call(), new_emutls_decl(), symtab_node::noninterposable_alias(), omp_build_component_ref(), pack_ts_base_value_fields(), parm_preserved_before_stmt_p(), print_node(), process_call_operands(), propagate_pure_const(), refs_local_or_readonly_memory_p(), remap_gimple_stmt(), requires_barrier(), ipa_param_body_adjustments::reset_debug_stmts(), scan_sharing_clauses(), self_referential_size(), set_call_expr_flags(), set_const_flag_1(), set_mem_attributes_minus_bitpos(), set_pure_flag_1(), set_readonly_bit(), setup_one_parameter(), sra_modify_assign(), sra_modify_expr(), stabilize_reference(), stabilize_reference_1(), substitute_in_expr(), substitute_placeholder_in_expr(), tree_add_const_value_attribute_for_decl(), tree_invariant_p_1(), ubsan_source_location(), ubsan_type_descriptor(), unpack_ts_base_value_fields(), use_pointer_for_field(), vect_setup_realignment(), verify_gimple_call(), worse_state(), and wrapup_global_declaration_2().
#define TREE_REAL_CST | ( | NODE | ) |
Referenced by acceptable_pow_call(), associate_equivalences_with_edges(), check_pow(), compare_constant(), const_binop(), const_unop(), const_vector_from_tree(), decrement_power(), dump_generic_node(), ipa_icf::sem_variable::equals(), estimate_num_insns(), exact_inverse(), expand_complex_multiplication(), expand_expr_real_1(), expand_pow_as_sqrts(), fold_abs_const(), fold_binary_loc(), fold_convert_const(), fold_convert_const_fixed_from_real(), fold_convert_const_int_from_real(), fold_convert_const_real_from_real(), fold_negate_const(), fold_real_zero_addition_p(), gen_conditions_for_pow_cst_base(), gimple_expand_builtin_pow(), hash_tree(), initializer_zerop(), negate_expr_p(), operand_compare::operand_equal_p(), optimize_recip_sqrt(), output_constant(), pack_ts_real_cst_value_fields(), print_real_cst(), real_maybe_zerop(), real_minus_onep(), real_onep(), real_zerop(), record_equality(), simple_cst_equal(), some_nonzerop(), strip_float_extensions(), tree_call_nonnegative_warnv_p(), tree_expr_maybe_real_minus_zero_p(), tree_single_nonnegative_warnv_p(), valid_lattice_transition(), and vect_recog_pow_pattern().
#define TREE_REAL_CST_PTR | ( | NODE | ) |
Referenced by attempt_builtin_copysign(), build_real(), const_hash_1(), const_with_all_bytes_same(), frange::contains_p(), dequeue_and_dump(), do_mpc_arg2(), do_mpfr_lgamma_r(), do_mpfr_remquo(), expr_expected_value_1(), fold_builtin_frexp(), fold_builtin_modf(), fold_const_call_1(), fold_const_call_1(), fold_const_call_1(), fold_relational_const(), range_query::get_tree_range(), get_upper_bound_based_on_builtin_expr_with_prob(), operand_compare::hash_operand(), integer_valued_real_single_p(), native_encode_real(), optimize_pow_to_exp(), frange::set(), tree_expr_finite_p(), tree_expr_infinite_p(), tree_expr_maybe_infinite_p(), tree_expr_maybe_nan_p(), tree_expr_maybe_signaling_nan_p(), tree_expr_nan_p(), tree_expr_signaling_nan_p(), and unpack_ts_real_cst_value_fields().
#define TREE_REALPART | ( | NODE | ) |
In a COMPLEX_CST node.
Referenced by adjust_realpart_expr(), build_complex(), categorize_ctor_elements_1(), compare_constant(), const_binop(), const_hash_1(), const_unop(), const_with_all_bytes_same(), DFS::DFS_write_tree_body(), do_mpc_arg2(), drop_tree_overflow(), dump_generic_node(), ipa_icf::sem_variable::equals(), expand_debug_expr(), expand_expr_real_1(), extract_component(), find_lattice_value(), fold_binary_loc(), fold_const_call_1(), fold_const_call_1(), fold_mult_zconjz(), fold_negate_expr_1(), fold_relational_const(), operand_compare::hash_operand(), hash_tree(), initializer_zerop(), integer_all_onesp(), integer_each_onep(), integer_minus_onep(), integer_nonzerop(), integer_onep(), integer_pow2p(), integer_zerop(), lto_input_ts_complex_tree_pointers(), maybe_trim_complex_store(), native_encode_complex(), negate_expr_p(), operand_compare::operand_equal_p(), output_constant(), print_node(), read_complex_part(), real_maybe_zerop(), real_minus_onep(), real_onep(), real_zerop(), tree_expr_finite_p(), tree_floor_log2(), tree_log2(), valid_lattice_transition(), walk_tree_1(), and write_ts_complex_tree_pointers().
#define TREE_SET_BLOCK | ( | T, | |
B ) |
Referenced by clear_unused_block_pointer_1(), copy_tree_body_r(), lower_stmt(), lto_input_ts_exp_tree_pointers(), move_stmt_op(), and remap_gimple_op_r().
#define TREE_SET_CODE | ( | NODE, | |
VALUE ) |
Referenced by alloc_stmt_list(), build_common_tree_nodes(), build_fake_var_decl(), build_new_poly_int_cst(), build_omp_clause(), build_string(), build_vl_exp(), gimplify_conversion(), gimplify_expr(), gimplify_omp_loop(), gimplify_pure_cond_expr(), make_int_cst(), make_node(), make_tree_binfo(), make_tree_vec(), make_vector(), maybe_fold_comparisons_from_match_pd(), omp_apply_tile(), parloops_is_simple_reduction(), release_ssa_name_fn(), replace_trapping_overflow(), and tree_cons().
#define TREE_SIDE_EFFECTS | ( | NODE | ) |
In any expression, decl, or constant, nonzero means it has side effects or reevaluation of the whole expression could produce a different value. This is set if any subexpression is a function call, a side effect or a reference to a volatile variable. In a ..._DECL, this is set only if the declaration said `volatile'. This will never be set for a constant.
Referenced by alloc_stmt_list(), append_to_statement_list(), build2(), build3(), build_cdtor(), build_cxa_dtor_registrations(), build_ref_for_offset(), c_strlen(), strlen_pass::check_and_optimize_stmt(), check_loadstore(), computable_teams_clause(), convert_to_integer_1(), copy_ref_info(), copy_tree_body_r(), create_task_copyfn(), ctor_for_folding(), do_jump(), do_mpfr_lgamma_r(), do_mpfr_remquo(), emit_push_insn(), expand_builtin_assume_aligned(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_builtin_va_copy(), expand_builtin_va_end(), expand_call_stmt(), expand_complex_move(), expand_expr_real_1(), expr_no_side_effects_p(), expression_expensive_p(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_build_cleanup_point_expr(), fold_builtin_addc_subc(), fold_builtin_arith_overflow(), fold_builtin_constant_p(), fold_builtin_frexp(), fold_builtin_modf(), fold_builtin_object_size(), fold_const_call(), fold_ignored_result(), fold_ternary_loc(), fold_truth_andor(), fold_truth_andor_1(), forward_propagate_addr_expr_1(), get_debug_decl(), gimple_fold_builtin_stxcpy_chk(), gimplify_call_expr(), gimplify_cond_expr(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_init_ctor_preeval(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_scan_omp_clauses(), gimplify_transaction(), hash_tree(), load_register_parameters(), lookup_tmp_var(), make_node(), maybe_fold_tmr(), maybe_make_indirect(), merge_truthop_with_opposite_arm(), omit_one_operand_loc(), omit_two_operands_loc(), omp_apply_tile(), operand_compare::operand_equal_p(), optimize_bitfield_assignment_op(), pack_ts_base_value_fields(), print_node(), process_call_operands(), recalculate_side_effects(), recompute_constructor_flags(), recompute_tree_invariant_for_addr_expr(), remap_gimple_op_r(), save_expr(), setup_one_parameter(), shortcut_cond_expr(), simple_condition_p(), stabilize_reference(), stabilize_reference_1(), stabilize_va_list_loc(), store_constructor(), tree_invariant_p_1(), tsi_delink(), tsi_link_after(), tsi_link_before(), unpack_ts_base_value_fields(), use_register_for_decl(), verify_address(), verify_constructor_flags(), and voidify_wrapper_expr().
#define TREE_STATIC | ( | NODE | ) |
In a VAR_DECL, nonzero means allocate static storage. In a FUNCTION_DECL, nonzero if function has been defined. In a CONSTRUCTOR, nonzero means allocate static storage.
Referenced by add_var_loc_to_decl(), asan_add_global(), asan_emit_stack_protection(), asan_finish_file(), asan_pp_string(), assemble_crc_table(), assemble_external(), auto_var_p(), build_constant_desc(), build_gcov_info_var_registration(), tree_switch_conversion::switch_conversion::build_one_array(), build_string_literal(), build_var(), builtin_save_expr(), call_may_clobber_ref_p_1(), can_escape(), can_refer_decl_in_current_unit_p(), categorize_ctor_elements_1(), cgraph_build_static_cdtor_1(), symbol_table::change_decl_assembler_name(), rt_bb_visited::check(), check_decl(), compare_base_symbol_refs(), convert_local_omp_clauses(), convert_local_reference_op(), convert_local_reference_stmt(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), convert_nonlocal_reference_stmt(), copy_decl_for_dup_finish(), symtab_node::copy_visibility_from(), coverage_obj_finish(), coverage_obj_init(), create_assumption_fn(), create_loop_fn(), create_odr_indicator(), create_omp_child_function(), create_tmp_var_raw(), create_vop_var(), ctor_for_folding(), decl_address_invariant_p(), decl_address_ip_invariant_p(), decl_in_symtab_p(), declare_inline_vars(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_ref_may_alias_errno(), default_stack_protect_guard(), delegitimize_mem_from_attrs(), dw2_output_indirect_constant_1(), execute_fixup_cfg(), expand_call_inline(), expand_constructor(), expand_debug_expr(), expand_expr_real_1(), expand_omp_for_generic(), expand_omp_target(), expand_omp_taskreg(), expand_one_var(), expand_used_vars(), varpool_node::finalize_decl(), find_placeholder_in_expr(), fixed_address_object_p(), force_expr_to_var_cost(), fortran_common(), gen_variable_die(), symtab_node::get(), get_asan_shadow_memory_dynamic_address_decl(), get_constraint_for_ssa_var(), get_emutls_init_templ_addr(), get_symbol_initial_value(), gimple_add_tmp_var(), gimple_duplicate_bb(), gimple_init_gcov_profiler(), gimplify_bind_expr(), gimplify_decl_expr(), gimplify_function_tree(), gimplify_init_constructor(), gimplify_target_expr(), gimplify_var_or_parm_decl(), hash_tree(), initialize_argument_information(), initializer_constant_valid_p_1(), input_overwrite_node(), input_varpool_node(), instrument_derefs(), ipa_lower_emutls(), ipa_set_jf_constant(), is_global_var(), lhd_set_decl_assembler_name(), lower_omp_critical(), lower_omp_target(), lower_stmt(), symtab_node::make_decl_local(), make_decl_rtl(), mark_address(), mark_addressable(), mark_load(), mark_store(), may_be_aliased(), maybe_remove_writeonly_store(), maybe_wrap_with_location(), need_assembler_name_p(), new_emutls_decl(), oacc_privatization_candidate_p(), omp_default_clause(), omp_discover_declare_target_var_r(), omp_finish_file(), omp_resolve_declare_variant(), output_comp_unit(), pack_ts_base_value_fields(), print_declaration(), print_node(), produce_memory_decl_rtl(), ptrs_compare_unequal(), readonly_data_expr(), ref_maybe_used_by_call_p_1(), replace_locals_op(), rest_of_decl_compilation(), rtl_for_decl_location(), safe_from_p(), secname_for_decl(), self_referential_size(), set_mem_attributes_minus_bitpos(), set_uids_in_ptset(), simple_operand_p(), staticp(), store_constructor(), track_expr_p(), tree_add_const_value_attribute_for_decl(), tree_is_indexable(), ubsan_create_data(), ubsan_expand_vptr_ifn(), ubsan_source_location(), ubsan_type_descriptor(), unpack_ts_base_value_fields(), vect_can_force_dr_alignment_p(), verify_expr_location_1(), and wrapup_global_declaration_2().
#define TREE_STRING_LENGTH | ( | NODE | ) |
In a STRING_CST
In C terms, this is sizeof, not strlen.
Referenced by address_compare(), array_size_for_constructor(), build_string(), c_strlen(), categorize_ctor_elements_1(), check_ctz_string(), check_string_literal(), compare_constant(), compute_objsize_r(), const_hash_1(), constant_byte_string(), strlen_pass::count_nonzero_bytes(), data_ref_compare_tree(), dequeue_and_dump(), dump_generic_node(), ipa_icf::sem_variable::equals(), expand_asm_loc(), expand_debug_expr(), expand_expr_real_1(), fold_read_from_constant_string(), get_constant_size(), get_strub_mode_from_attr(), getbyterep(), gt_pch_nx(), operand_compare::hash_operand(), hash_tree(), initializer_zerop(), mergeable_string_section(), native_encode_string(), omp_context_name_list_prop(), operand_compare::operand_equal_p(), output_constant(), print_node(), process_symver_attribute(), rtl_for_decl_init(), rtx_addr_can_trap_p_1(), simple_cst_equal(), simplify_builtin_call(), store_expr(), streamer_write_string_cst(), string_cst_read_str(), strub_validate_fn_attr_parm(), subtract_estimated_size(), tree_could_trap_p(), and tree_size().
#define TREE_STRING_POINTER | ( | NODE | ) |
Referenced by address_compare(), assemble_asm(), c_strlen(), check_ctz_string(), check_unique_operand_names(), ipa_icf_gimple::func_checker::compare_asm_inputs_outputs(), compare_constant(), const_hash_1(), strlen_pass::count_nonzero_bytes(), create_coalesce_list_for_region(), data_ref_compare_tree(), dequeue_and_dump(), dump_generic_node(), dump_omp_init_prefer_type(), ipa_icf::sem_variable::equals(), error_unavailable_use(), expand_asm_loc(), expand_asm_stmt(), expand_debug_expr(), expand_expr_real_1(), find_func_aliases(), fold_read_from_constant_string(), get_alias_symbol(), operands_scanner::get_asm_stmt_operands(), get_attr_str(), get_strub_mode_from_attr(), get_target_clone_attr_len(), getbyterep(), gimple_asm_clobbers_memory_p(), gimple_regimplify_operands(), gimplify_asm_expr(), gt_pch_nx(), operand_compare::hash_operand(), hash_tree(), init_attr_rdwr_indices(), initializer_zerop(), input_gimple_stmt(), is_function_default_version(), lto_input_ts_raw_data_cst_tree_pointers(), maybe_warn_pass_by_reference(), maybe_warn_read_write_only(), mergeable_string_section(), native_encode_string(), omp_context_name_list_prop(), operand_compare::operand_equal_p(), output_constant(), print_node(), process_symver_attribute(), resolve_asm_operand_names(), resolve_operand_name_1(), rest_of_decl_compilation(), rtl_for_decl_init(), simple_cst_equal(), simplify_builtin_call(), sorted_attr_string(), store_expr(), streamer_write_string_cst(), streamer_write_tree_header(), string_cst_read_str(), strub_validate_fn_attr_parm(), walk_gimple_asm(), walk_stmt_load_store_addr_ops(), warn_deprecated_use(), warn_switch_unreachable_and_auto_init_r(), and warn_uninit().
#define TREE_SYMBOL_REFERENCED | ( | NODE | ) |
In an IDENTIFIER_NODE, this means that assemble_name was called with this string as an argument.
Referenced by symbol_table::change_decl_assembler_name(), default_elf_asm_output_external(), do_assemble_alias(), dw2_force_const_mem(), ipa_tm_create_version(), ipa_tm_create_version_alias(), mark_referenced(), merge_weak(), symtab_node::needed_p(), process_pending_assemble_externals(), and weak_finish().
#define TREE_TARGET_GLOBALS | ( | NODE | ) |
Referenced by prepare_target_option_nodes_for_pch().
#define TREE_TARGET_OPTION | ( | NODE | ) |
Referenced by build_target_option_node(), copy_node(), cl_option_hasher::equal(), free_node(), ipa_icf::sem_function::get_hash(), cl_option_hasher::hash(), hash_tree(), make_node(), print_node(), streamer_read_tree_bitfields(), streamer_write_tree_bitfields(), and target_opts_for_fn().
#define TREE_THIS_NOTRAP | ( | NODE | ) |
Nonzero means this node will not trap. In an INDIRECT_REF, means accessing the memory pointed to won't generate a trap. However, this only applies to an object when used appropriately: it doesn't mean that writing a READONLY mem won't trap. In ARRAY_REF and ARRAY_RANGE_REF means that we know that the index (or slice of the array) always belongs to the range of the array. I.e. that the access will not trap, provided that the access to the base to the array will not trap.
Referenced by adjust_assumption_stmt_op(), build_receiver_ref(), build_receiver_ref(), build_simple_mem_ref_notrap(), copy_tree_body_r(), forward_propagate_addr_expr_1(), gimplify_bind_expr(), gimplify_expr(), gimplify_vla_decl(), lower_lastprivate_clauses(), lower_omp_scan(), lower_omp_target(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), remap_gimple_op_r(), substitute_in_expr(), substitute_placeholder_in_expr(), and tree_could_trap_p().
#define TREE_THIS_VOLATILE | ( | NODE | ) |
Nonzero means this expression is volatile in the C sense: its address should be of type `volatile WHATEVER *'. In other words, the declared item is volatile qualified. This is used in _DECL nodes and _REF nodes. On a FUNCTION_DECL node, this means the function does not return normally. This is the same effect as setting the attribute noreturn on the function in C. In a ..._TYPE node, means this type is volatile-qualified. But use TYPE_VOLATILE instead of this macro when the node is a type, because eventually we may make that a different bit. If this bit is set in an expression, so is TREE_SIDE_EFFECTS.
Referenced by add_clobbers_to_eh_landing_pad(), operands_scanner::add_stmt_operand(), symtab_node::address_can_be_compared_p(), adjust_assumption_stmt_op(), analyze_agg_content_value(), ao_ref_init(), asan_add_global(), assumption_copy_decl(), bitfields_to_lower_p(), build2(), build3(), build_access_from_expr_1(), build_clobber(), build_ref_for_model(), build_ref_for_offset(), can_sm_ref_p(), check_decl(), check_global_declaration(), check_loadstore(), check_op(), comdat_can_be_unshared_p_1(), ao_compare::compare_ao_refs(), computable_teams_clause(), copy_decl_to_var(), copy_ref_info(), copy_result_decl_to_var(), copy_tree_body_r(), copy_var_decl(), create_odr_indicator(), create_stack_guard(), create_vop_var(), ctor_for_folding(), varpool_node::ctor_useable_for_folding_p(), decl_quals(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_stack_protect_guard(), discover_nonconstant_array_refs_r(), dump_stack_clash_frame_info(), dump_variable(), execute_update_addresses_taken(), expand_builtin(), expand_call(), expand_call_inline(), expand_expr_real_1(), expand_thunk(), varpool_node::finalize_decl(), finish_taskreg_scan(), flags_from_decl_or_type(), fold_const_aggregate_ref_1(), forward_propagate_addr_expr_1(), gather_mem_refs_stmt(), generic_parameter_die(), get_callee_fndecl(), get_constraint_for_1(), get_debug_decl(), operands_scanner::get_expr_operands(), get_frame_field(), get_inner_reference(), operands_scanner::get_mem_ref_operands(), operands_scanner::get_tmr_operands(), gimple_equal_p(), gimple_fold_builtin_memset(), gimplify_bind_expr(), gimplify_compound_literal_expr(), gimplify_expr(), gimplify_function_tree(), gimplify_init_constructor(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), has_attribute(), hash_tree(), input_gimple_stmt(), install_var_field(), install_var_field(), instrument_expr(), ipa_comdats(), ipa_load_from_parm_agg(), is_gimple_reg(), is_improper(), load_from_unmodified_param_or_agg(), lookup_field_for_decl(), lower_assumption(), lower_omp_task_reductions(), make_decl_rtl(), maybe_add_sra_candidate(), maybe_canonicalize_mem_ref_addr(), maybe_fold_tmr(), maybe_make_indirect(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), omp_build_component_ref(), ompdevlow_adjust_simt_enter(), optimize_atomic_compare_exchange_p(), optimize_bitfield_assignment_op(), output_gimple_stmt(), pack_ts_base_value_fields(), ipa_icf::sem_variable::parse(), print_node(), process_references(), recalculate_side_effects(), remap_gimple_op_r(), ipa_param_body_adjustments::reset_debug_stmts(), set_call_expr_flags(), set_mem_attributes_minus_bitpos(), set_noreturn_flag_1(), simple_operand_p(), sm_seq_valid_bb(), split_function(), stabilize_reference(), stabilize_reference_1(), stmt_makes_single_store(), suggest_attribute(), suitable_reference_p(), tree_add_const_value_attribute_for_decl(), tree_could_trap_p(), type_internals_preclude_sra_p_1(), unpack_ts_base_value_fields(), var_can_have_subvars(), vect_analyze_data_refs(), volatile_lvalue_p(), and wrap_refs().
#define TREE_TYPE | ( | NODE | ) |
Referenced by access_and_field_type_match_p(), access_fn_component_p(), access_fn_components_comparable_p(), access_path_may_continue_p(), access_with_size_object_size(), add_autoinc_candidates(), add_calling_convention_attribute(), add_candidate_1(), add_clobbers_to_eh_landing_pad(), add_field_for_name(), add_field_for_reduction(), add_iv_candidate_for_biv(), add_iv_candidate_for_doloop(), add_iv_candidate_for_use(), add_mask_else_and_len_args(), gimple_infer_range::add_nonzero(), nontrapping_dom_walker::add_or_mark_expr(), equiv_oracle::add_partial_equiv(), infer_range_manager::add_range(), infer_range_manager::add_ranges(), add_rshift(), add_scope_conflicts_2(), add_stack_var(), add_taskreg_looptemp_clauses(), scev_dfs::add_to_evolution_1(), path_range_query::add_to_exit_dependencies(), add_to_parts(), addr_object_size(), addr_offset_valid_p(), address_compare(), adjacent_dr_p(), ipa_param_adjustments::adjust_decl(), path_range_query::adjust_for_non_null_uses(), adjust_imagpart_expr(), adjust_one_expanded_partition_var(), adjust_pointer_diff_expr(), adjust_realpart_expr(), adjust_related_strinfos(), adjust_return_value_with_ops(), aff_combination_add_product(), pcom_worker::aff_combination_dr_offset(), aff_combination_expand(), aff_combination_to_tree(), affine_fn_op(), aggregate_value_p(), alias_ptr_types_compatible_p(), aliasing_component_refs_p(), aliasing_component_refs_walk(), align_local_variable(), align_variable(), alloc_iv(), alloc_object_size(), alloc_stmt_list(), alloca_call_type(), allocate_struct_function(), tree_vector_builder::allow_steps_p(), analyze_agg_content_value(), analyze_all_variable_accesses(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), analyze_candidates_and_replace(), analyze_functions(), loop_cand::analyze_iloop_reduction_var(), analyze_increments(), loop_cand::analyze_induction_var(), analyze_miv_subscript(), analyze_ref(), analyze_siv_subscript_cst_affine(), analyze_ziv_subscript(), and_comparisons_1(), and_var_with_comparison_1(), ao_ref_init_from_ptr_and_range(), apply_args_size(), apply_binop_and_append_stmt(), apply_return_prediction(), tree_vector_builder::apply_step(), apply_tm_attr(), arith_overflow_arg_kind(), arith_overflow_check_p(), attr_access::array_as_string(), array_elt_at_offset(), array_ref_element_size(), array_ref_flexible_size_p(), array_ref_low_bound(), array_ref_up_bound(), array_size_for_constructor(), array_type_nelts_minus_one(), asan_add_global(), asan_expand_check_ifn(), asan_expand_poison_ifn(), asan_finish_file(), asan_mem_ref_get_end(), asan_pp_string(), asan_protect_global(), asan_store_shadow_bytes(), assemble_asm(), assert_no_overflow_lt(), assign_calc_vals_to_header_phis(), assign_call_lhs(), assign_parm_find_data_types(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_parms(), assign_parms_augmented_arg_list(), assign_parms_initialize_all(), assign_parms_unsplit_complex(), assign_temp(), assign_vals_to_header_phis(), associate_equivalences_with_edges(), associated_internal_fn(), assume_query::assume_query(), assumption_copy_decl(), attempt_builtin_copysign(), attempt_builtin_powi(), avoid_deep_ter_for_debug(), avoid_type_punning_on_regs(), backtrace_base_for_ref(), base_supports_access_fn_components_p(), base_type_die(), bb_no_side_effects_p(), eliminate_dom_walker::before_dom_children(), find_candidates_dom_walker::before_dom_children(), ipcp_modif_dom_walker::before_dom_children(), strlen_pass::before_dom_children(), bit_value_assume_aligned(), bit_value_binop(), bit_value_unop(), bitfields_to_lower_p(), bitint_min_cst_precision(), bitmask_inv_cst_vector_p(), bits_from_bytes(), bitwise_equal_p(), bitwise_inverted_equal_p(), blend_vec_perm_simplify_seqs(), block_move_libcall_safe_for_call_parm(), bound_difference(), branch_fixup(), break_up_subtract_bb(), btf_add_const_void(), btf_datasec_add_var(), addsub_pattern::build(), complex_pattern::build(), tree_vector_builder::build(), build0(), build2(), build3(), build_accesses_from_assign(), build_adjusted_function_type(), build_all_ones_cst(), build_and_insert_binop(), build_and_insert_call(), build_array_type_1(), tree_switch_conversion::switch_conversion::build_arrays(), build_assign(), build_bitint_stmt_ssa_conflicts(), rt_bb_visited::build_block_check(), build_builtin_expect_predicate(), build_call_1(), build_call_expr_loc_array(), build_call_internal(), build_call_nofold_loc(), build_case_label(), build_case_label(), build_cltz_expr(), build_common_builtin_nodes(), build_common_tree_nodes(), build_complex(), build_complex_inf(), build_complex_type(), build_constant_desc(), build_constructor(), tree_switch_conversion::switch_conversion::build_constructors(), build_debug_expr_decl(), build_debug_ref_for_model(), build_decl(), build_each_one_cst(), build_fake_var_decl(), build_fixed(), build_fn_info(), build_fold_addr_expr_loc(), build_fold_addr_expr_with_type_loc(), build_fold_indirect_ref_loc(), build_function_type(), build_index_vector(), build_info(), build_init_call_stmt(), build_invariant_address(), build_mask_conversion(), build_method_type(), build_method_type_directly(), build_minus_one_cst(), build_new_int_cst(), build_new_poly_int_cst(), build_offset_type(), tree_switch_conversion::switch_conversion::build_one_array(), build_one_cst(), build_pointer_type_for_mode(), build_polynomial_chrec(), build_popcount_expr(), build_printable_array_type(), build_range_check(), build_range_type_1(), build_real(), build_reconstructed_reference(), build_ref_for_model(), build_ref_for_offset(), build_ref_type_for(), build_reference_type_for_mode(), build_saturation_binary_arith_call_and_insert(), build_saturation_binary_arith_call_and_replace(), build_sender_ref(), build_sender_ref(), build_shadow_mem_access(), build_simple_mem_ref_loc(), build_string_literal(), build_tm_load(), build_tm_store(), build_type_inheritance_graph(), build_user_friendly_ref_for_offset(), build_vec_series(), build_vect_cond_expr(), build_vector_from_ctor(), build_vector_from_val(), build_zero_cst(), build_zero_vector(), builtin_call_nomodifying_p(), builtin_mathfn_code(), bump_vector_ptr(), bundle_sizes(), c_strlen(), cache_integer_cst(), gimple_range_op_handler::calc_op1(), gimple_range_op_handler::calc_op2(), calc_perm_vec_perm_simplify_seqs(), gimple_outgoing_range::calc_switch_ranges(), assume_query::calculate_op(), assume_query::calculate_phi(), call_expr_flags(), call_may_clobber_ref_p_1(), can_blend_vec_perm_simplify_seqs_p(), can_implement_as_sibling_call_p(), can_propagate_from(), can_sm_ref_p(), can_strub_internally_p(), cand_value_at(), canonicalize_addr_expr(), canonicalize_base_object_address(), canonicalize_bool(), canonicalize_component_ref(), canonicalize_cond_expr_cond(), canonicalize_constructor_val(), canonicalize_loop_induction_variables(), canonicalize_loop_ivs(), categorize_ctor_elements_1(), ccmp_tree_comparison_p(), ccp_finalize(), ccp_lattice_meet(), cheap_array_ref_low_bound(), rt_bb_visited::check(), check_access(), array_bounds_checker::check_addr_expr(), check_all_va_list_escapes(), strlen_pass::check_and_optimize_stmt(), check_argument_count(), array_bounds_checker::check_array_ref(), gimple_infer_range::check_assume_func(), tree_switch_conversion::switch_conversion::check_final_bb(), check_fnspec(), check_for_binary_op_overflow(), check_for_nested_with_variably_modified(), check_loadstore(), array_bounds_checker::check_mem_ref(), check_nul_terminated_array(), check_out_of_bounds_and_warn(), check_pow(), check_reduction_path(), check_scan_store(), check_stmt_for_type_change(), check_string_literal(), check_target_format(), check_va_list_escapes(), chrec_apply(), chrec_convert_aggressive(), chrec_evaluate(), chrec_fold_multiply(), chrec_fold_plus_1(), chrec_type(), classify_builtin_st(), clear_padding_type(), clear_padding_type_may_have_padding_p(), clear_padding_union(), coalesce_bitint(), collect_object_sizes_for(), pcom_worker::combinable_refs_p(), combine_cond_expr_cond(), ipa_param_body_adjustments::common_initialization(), ao_compare::compare_ao_refs(), compare_constant(), ipa_icf_gimple::func_checker::compare_decl(), ipa_icf_gimple::func_checker::compare_gimple_assign(), ipa_icf_gimple::func_checker::compare_gimple_call(), ipa_icf::sem_item::compare_referenced_symbol_properties(), compare_type_sizes(), compare_values_warnv(), compatible_calls_p(), ipa_icf_gimple::func_checker::compatible_polymorphic_types_p(), complete_or_array_type_p(), component_ref_field_offset(), component_ref_sam_type(), component_ref_size(), component_ref_to_zero_sized_trailing_array_p(), compound_type_base(), computable_teams_clause(), computation_cost(), compute_access_range(), compute_access_stride(), compute_alias_check_pairs(), compute_argument_addresses(), compute_argument_block_size(), compute_array_mode(), compute_avail(), compute_builtin_object_size(), compute_complex_ancestor_jump_func(), compute_complex_assign_jump_func(), compute_dependence_clique(), compute_doloop_base_on_mode(), hybrid_jt_simplifier::compute_exit_dependencies(), path_range_query::compute_exit_dependencies(), compute_fn_summary(), compute_new_first_bound(), compute_object_offset(), compute_objsize_r(), gori_compute::compute_operand1_and_operand2_range(), gori_compute::compute_operand1_range(), gori_compute::compute_operand2_range(), gori_compute::compute_operand_range(), compute_optimized_partition_bases(), compute_points_to_sets(), path_range_query::compute_ranges_in_block(), path_range_query::compute_ranges_in_phis(), compute_record_mode(), compute_reloc_for_var(), compute_trims(), cond_if_else_store_replacement_1(), cond_removal_in_builtin_zero_pattern(), cond_store_replacement(), fold_using_range::condexpr_adjust(), connect_loop_phis(), consider_split(), const_binop(), const_binop(), const_hash_1(), const_unop(), const_vector_from_tree(), const_vector_mask_from_tree(), constant_after_peeling(), constant_boolean_node(), constant_byte_string(), constant_multiple_of(), constant_pointer_difference(), ana::constant_svalue::constant_svalue(), constant_type(), constructor_static_from_elts_p(), tree_switch_conversion::switch_conversion::contains_linear_function_p(), contains_pointers_p(), contains_polymorphic_type_p(), contains_vce_or_bfcref_p(), convert_affine_scev(), convert_atomic_bit_not(), convert_expand_mult_copysign(), convert_if_conditions_to_switch(), convert_mult_to_fma(), convert_mult_to_fma_1(), convert_mult_to_highpart(), convert_mult_to_widen(), convert_plusminus_to_widen(), convert_scalar_cond_reduction(), convert_single_case_switch(), convert_to_complex_1(), convert_to_divmod(), convert_to_fixed(), convert_to_integer_1(), convert_to_pointer_1(), convert_to_ptrofftype_loc(), convert_to_real_1(), convert_to_vector(), convert_tramp_reference_op(), copy_blkmode_to_reg(), copy_decl_for_dup_finish(), copy_decl_to_var(), copy_ref_info(), copy_reference_ops_from_call(), copy_reference_ops_from_ref(), copy_result_decl_to_var(), copy_ssa_name_fn(), copy_statement_list(), copy_tree_body_r(), strlen_pass::count_nonzero_bytes(), count_num_arguments(), count_type_elements(), coverage_end_function(), coverage_obj_finish(), cprop_operand(), create_access(), create_add_imm_cand(), create_add_on_incoming_edge(), create_add_ssa_cand(), create_artificial_child_access(), create_call_for_reduction_1(), create_canonical_iv(), create_coalesce_list_for_region(), create_component_ref_by_pieces_1(), create_expression_by_pieces(), create_field_for_decl(), create_function_info_for(), create_ifn_alias_checks(), create_intersect_range_checks_index(), create_iv(), create_loads_and_stores_for_name(), create_loads_for_reductions(), create_mem_ref(), create_mem_ref_raw(), create_mul_imm_cand(), create_mul_ssa_cand(), create_odr_indicator(), create_parallel_loop(), create_phi_basis_1(), create_stores_for_reduction(), create_tailcall_accumulator(), create_task_copyfn(), create_tmp_from_val(), create_variable_info_for(), create_variable_info_for_1(), create_waw_or_war_checks(), cxx17_empty_base_field_p(), decl_attributes(), decl_class_context(), decl_fnspec(), decl_function_context(), decl_init_size(), decl_maybe_in_construction_p(), decl_quals(), declare_return_variable(), decls_mismatched_attributes(), decode_addr_const(), decode_field_reference(), decompose_param_expr(), decrement_count(), decrement_power(), default_emutls_var_init(), default_ref_may_alias_errno(), defer_stack_allocation(), dequeue_and_dump(), derive_constant_upper_bound(), derive_constant_upper_bound_assign(), derive_constant_upper_bound_ops(), edge_info::derive_equivalences(), derive_simple_iv_with_niters(), detach_value(), detect_type_change_ssa(), determine_base_object_1(), determine_block_size(), determine_common_wider_type(), determine_exit_conditions(), determine_index(), determine_iv_cost(), determine_known_aggregate_parts(), determine_max_movement(), pcom_worker::determine_offset(), determine_parallel_type(), determine_set_costs(), determine_value_range(), DFS::DFS(), DFS::DFS_write_tree_body(), diag_attr_exclusions(), difference_cannot_overflow_p(), direct_internal_fn_types(), direct_internal_fn_types(), discover_nonconstant_array_refs_r(), distinctify_node_type(), div_if_zero_remainder(), divmod_candidate_p(), do_binop(), do_compare(), do_compare_and_jump(), do_compare_rtx_and_jump(), do_cond(), do_jump(), do_jump_1(), do_jump_by_parts_greater(), tree_switch_conversion::switch_decision_tree::do_jump_if_equal(), do_mpc_arg2(), do_mpc_ckconv(), do_mpfr_lgamma_r(), do_mpfr_remquo(), do_narrow(), do_negate(), do_plus_minus(), do_store_flag(), do_unop(), do_vec_conversion(), do_vec_narrow_conversion(), do_warn_aggressive_loop_optimizations(), do_warn_nonnull_compare(), dr_analyze_indices(), dr_group_sort_cmp(), dr_may_alias_p(), dr_step_indicator(), drop_tree_overflow(), dse_optimize_call(), dse_optimize_stmt(), block_range_cache::dump(), ssa_cache::dump(), dump_alias_info(), gimple_ranger::dump_bb(), dump_candidate(), dump_default_def(), dump_function_to_file(), dump_generic_node(), dump_iv(), dump_mem_ref(), dump_omp_iterators(), dump_ssaname_info(), dump_ternary_rhs(), dump_unary_rhs(), dump_variable(), funct_state_summary_t::duplicate(), duplicate_and_interleave(), duplicate_ssa_name_fn(), duplicate_ssa_name_ptr_info(), duplicate_ssa_name_range_info(), dw_loc_list_1(), early_object_sizes_execute_one(), ranger_cache::edge_range(), gori_compute::edge_range_p(), effective_strub_mode_for_call(), element_mode(), element_precision(), elim_create(), eliminate_duplicate_pair(), eliminate_dom_walker::eliminate_insert(), eliminate_local_variables_1(), eliminate_not_pairs(), eliminate_plus_minus_pair(), eliminate_redundant_comparison(), eliminate_redundant_computations(), eliminate_dom_walker::eliminate_stmt(), eliminate_unnecessary_stmts(), eliminate_using_constants(), tree_switch_conversion::bit_test_cluster::emit(), tree_switch_conversion::jump_table_cluster::emit(), tree_switch_conversion::switch_decision_tree::emit_cmp_and_jump_insns(), emit_library_call_value_1(), emit_note_insn_var_location(), ends_tbaa_access_path_p(), pointer_equiv_analyzer::enter(), eq_evolutions_p(), gimplify_hasher::equal(), int_cst_hasher::equal(), iv_common_cand_hasher::equal(), mem_ref_hasher::equal(), type_cache_hasher::equal(), equal_mem_array_ref_p(), ipa_icf::sem_variable::equals(), ipa_icf::sem_variable::equals(), ipa_icf::sem_function::equals_private(), ipa_icf::sem_function::equals_wpa(), ipa_icf::sem_variable::equals_wpa(), error_operand_p(), error_unavailable_use(), estimate_local_effects(), estimate_move_cost(), estimate_num_insns(), estimate_numbers_of_iterations(), eval_subst(), evaluate_conditions_for_known_args(), evaluate_control_stmt_using_entry_checks(), evaluate_stmt(), exact_inverse(), excess_precision_type(), execute_cse_conv_1(), execute_cse_reciprocals_1(), execute_cse_sincos_1(), execute_lower_omp(), execute_oacc_device_lower(), execute_omp_device_lower(), execute_omp_oacc_neuter_broadcast(), execute_ranger_vrp(), execute_sm(), execute_update_addresses_taken(), tree_switch_conversion::switch_conversion::exp_index_transform(), cgraph_node::expand(), tree_switch_conversion::switch_conversion::expand(), expand_addsub_overflow(), expand_arith_overflow(), expand_arith_overflow_result_store(), expand_arith_set_overflow(), expand_asm_stmt(), expand_assign_tm(), expand_assignment(), expand_BITINTTOFLOAT(), expand_bitquery(), expand_builtin(), expand_builtin_apply(), expand_builtin_apply_args_1(), expand_builtin_atomic_is_lock_free(), expand_builtin_cexpi(), expand_builtin_classify_type(), expand_builtin_fabs(), expand_builtin_fork_or_exec(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_interclass_mathfn(), expand_builtin_issignaling(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), expand_builtin_memcmp(), expand_builtin_powi(), expand_builtin_signbit(), expand_builtin_sincos(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_builtin_strnlen(), expand_builtin_strub_enter(), expand_builtin_strub_leave(), expand_builtin_strub_update(), expand_builtin_unop(), expand_builtin_va_copy(), expand_call(), expand_call_inline(), expand_call_mem_ref(), expand_call_stmt(), expand_call_tm(), expand_case(), expand_complex_asm(), expand_complex_comparison(), expand_complex_division(), expand_complex_libcall(), expand_complex_move(), expand_complex_multiplication(), expand_complex_operations_1(), expand_cond_expr_using_cmove(), expand_constructor(), expand_crc_optab_fn(), expand_debug_expr(), expand_debug_source_expr(), expand_DEFERRED_INIT(), expand_DIVMOD(), expand_expr_addr_expr(), expand_expr_addr_expr_1(), expand_expr_force_mode(), expand_expr_real(), expand_expr_real_1(), expand_expr_real_2(), expand_expr_real_gassign(), expand_FLOATTOBITINT(), expand_fn_using_insn(), expand_function_end(), expand_function_start(), expand_gather_load_optab_fn(), expand_gimple_basic_block(), expand_gimple_cond(), expand_gimple_stmt_1(), expand_GOMP_SIMT_LAST_LANE(), expand_GOMP_SIMT_ORDERED_PRED(), expand_GOMP_SIMT_VOTE_ANY(), expand_GOMP_SIMT_XCHG_BFLY(), expand_GOMP_SIMT_XCHG_IDX(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_compare_exchange_into_call(), expand_ifn_atomic_op_fetch_cmp_0(), expand_ifn_va_arg_1(), expand_load_lanes_optab_fn(), expand_mul_overflow(), expand_neg_overflow(), expand_oacc_collapse_init(), expand_oacc_collapse_vars(), expand_oacc_for(), expand_omp_atomic(), expand_omp_atomic_cas(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_ordered_source_sink(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_one_register_var(), expand_one_ssa_partition(), expand_one_stack_var_1(), expand_one_stack_var_at(), expand_one_var(), expand_parallel_call(), expand_partial_load_optab_fn(), expand_partial_store_optab_fn(), expand_POPCOUNT(), expand_pow_as_sqrts(), expand_RAWMEMCHR(), expand_return(), expand_scatter_store_optab_fn(), expand_simd_clones(), expand_simple_operations(), expand_single_bit_test(), expand_SPACESHIP(), expand_speculation_safe_value(), expand_store_lanes_optab_fn(), expand_strided_load_optab_fn(), expand_strided_store_optab_fn(), expand_thunk(), expand_transaction(), expand_UADDC(), expand_UBSAN_CHECK_ADD(), expand_UBSAN_CHECK_MUL(), expand_UBSAN_CHECK_SUB(), expand_ubsan_result_store(), expand_value_return(), expand_vec_cmp_expr(), expand_vec_cond_mask_optab_fn(), expand_vec_set_optab_fn(), expand_vector_addition(), expand_vector_comparison(), expand_vector_condition(), expand_vector_conversion(), expand_vector_divmod(), expand_vector_operations_1(), expand_vector_parallel(), expand_vector_scalar_condition(), expand_vector_ubsan_overflow(), expand_while_optab_fn(), expand_widen_pattern_expr(), gimple_ranger::export_global_ranges(), expr_callee_abi(), expr_expected_value(), expr_expected_value_1(), expr_hash_elt::expr_hash_elt(), expr_not_equal_to(), expr_object_size(), expr_to_aff_combination(), expression_expensive_p(), wi::extended_tree< N >::extended_tree(), extract_bit_test_mask(), extract_component(), extract_mem_content(), extract_muldiv_1(), extract_object_class_type(), extract_omp_for_update_vars(), factor_out_conditional_operation(), field_at_offset(), field_byte_offset(), field_must_have_pointers(), field_type(), ranger_cache::fill_block_cache(), final_range_test_p(), final_value_replacement_loop(), finalize_must_preallocate(), finalize_nesting_tree_1(), pcom_worker::find_associative_operation_root(), find_bivs(), find_case_label_range(), find_conditions(), find_constructor_constant_at_offset(), find_equal_ptrs(), find_func_aliases(), find_interesting_uses_address(), find_inv_vars_cb(), find_lastprivate_looptemp(), find_local_vars_to_propagate(), find_or_create_vtbl_map_node(), find_or_generate_expression(), find_single_drs(), find_tail_calls(), find_trapping_overflow(), find_unswitching_predicates_for_bb(), find_var_cmp_const(), finish_bitfield_representative(), finish_taskreg_scan(), fixup_child_record_type(), fixup_noreturn_call(), ipa_icf::sem_item_optimizer::fixup_points_to_sets(), fixup_remapped_decl(), fixup_vla_decls(), flags_from_decl_or_type(), flexible_array_member_p(), flexible_array_type_p(), fndecl_abi(), fold(), fold_abs_const(), fold_array_ctor_reference(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_build_cond_expr(), fold_build_pointer_plus_hwi_loc(), fold_build_pointer_plus_loc(), fold_builtin_0(), fold_builtin_1(), fold_builtin_2(), fold_builtin_3(), fold_builtin_abs(), fold_builtin_addc_subc(), fold_builtin_alloca_with_align(), fold_builtin_arith_overflow(), fold_builtin_atomic_always_lock_free(), fold_builtin_atomic_compare_exchange(), fold_builtin_bit_query(), fold_builtin_carg(), fold_builtin_classify(), fold_builtin_classify_type(), fold_builtin_constant_p(), fold_builtin_expect(), fold_builtin_fpclassify(), fold_builtin_frexp(), fold_builtin_interclass_mathfn(), fold_builtin_iseqsig(), fold_builtin_modf(), fold_builtin_n(), fold_builtin_next_arg(), fold_builtin_sincos(), fold_builtin_strpbrk(), fold_builtin_unordered_cmp(), fold_builtin_varargs(), fold_comparison(), fold_cond_expr_with_comparison(), simplify_using_ranges::fold_cond_with_ops(), fold_const_aggregate_ref_1(), fold_const_call(), fold_const_call(), fold_const_call_1(), fold_const_call_1(), fold_const_call_1(), fold_const_vec_convert(), fold_convert_const(), fold_convert_const_fixed_from_int(), fold_convert_const_int_from_fixed(), fold_convert_const_int_from_int(), fold_convert_const_real_from_real(), fold_convert_loc(), fold_convertible_p(), fold_ctor_reference(), fold_div_compare(), fold_gimple_assign(), fold_indirect_ref_1(), fold_indirect_ref_loc(), fold_internal_goacc_dim(), fold_invert_truthvalue(), fold_mult_zconjz(), fold_negate_expr(), fold_negate_expr_1(), fold_nonarray_ctor_reference(), fold_plusminus_mult_expr(), fold_read_from_constant_string(), fold_read_from_vector(), fold_relational_const(), fold_relations(), ccp_folder::fold_stmt(), fold_using_range::fold_stmt(), fold_stmt_1(), fold_strstr_to_strncmp(), fold_ternary_loc(), fold_to_nonsharp_ineq_using_bound(), fold_truth_andor_1(), fold_truth_andor_for_ifcombine(), fold_truth_not_expr(), fold_unary_loc(), fold_vec_perm(), fold_vec_perm_cst(), fold_view_convert_vector_encoding(), fold_while_ult(), follow_outer_ssa_edges(), scev_dfs::follow_ssa_edge_expr(), for_all_parms(), force_constant_size(), force_expr_to_var_cost(), force_gimple_operand_1(), force_into_ssa_name(), force_value_to_type(), forward_propagate_addr_expr_1(), forward_propagate_into_comparison(), forward_propagate_into_comparison_1(), forward_propagate_into_gimple_cond(), fp_expression_p(), free_odr_warning_data(), function_and_variable_visibility(), ana::function_region::function_region(), function_to_dwarf_procedure(), gather_context_independent_values(), gather_mem_refs_stmt(), gen_assign_counter_update(), gen_conditions_for_pow_cst_base(), gen_conditions_for_pow_int_base(), gen_counter_update(), gen_emutls_addr(), tree_switch_conversion::switch_conversion::gen_inbound_check(), gen_log2(), gen_one_condition(), gen_parallel_loop(), gen_pow2p(), generate_memset_builtin(), generate_range_test(), generate_rawmemchr_builtin(), generate_strlen_builtin_1(), generate_strlen_builtin_using_rawmemchr(), generate_subtree_deferred_init(), generate_tm_state(), generic_parameter_die(), get_addr_base_and_unit_offset_1(), get_address_cost(), get_alias_ptr_type_for_ptr_address(), get_alias_set(), get_alternative_base(), modref_access_node::get_ao_ref(), get_array_ctor_element_at_index(), get_attrs_for(), get_base_for_alignment_1(), get_binfo_at_offset(), get_bitfield_rep(), get_builtin_sync_mem(), get_call_args(), get_chain_field(), get_compare_parts(), get_component_ssa_name(), get_component_var(), get_computation_aff_1(), get_computation_cost(), get_compute_type(), scalar_cond_masked_key::get_cond_ops_from_tree(), get_constant_size(), get_constraint_for_1(), get_constraint_for_component_ref(), get_debug_computation_at(), get_debug_decl(), get_default_value(), get_deref_alias_set(), get_deref_alias_set_1(), get_dr_vinfo_offset(), ipa_polymorphic_call_context::get_dynamic_type(), get_emutls_init_templ_addr(), get_expr_type(), get_expr_type(), get_frame_field(), get_initial_def_for_reduction(), get_initial_defs_for_reduction(), get_inner_reference(), get_iv(), get_known_nonzero_bits_1(), get_load_store_type(), get_local_debug_decl(), get_maxbound(), get_maxval_strlen(), get_mem_align_offset(), get_mem_ref_of_assignment(), get_mem_type_for_internal_fn(), get_memory_rtx(), get_min_precision(), get_misalign_in_elems(), get_multi_vector_move(), get_name_for_bit_test(), get_narrower(), get_negative_load_store_type(), get_nl_goto_field(), get_nonlocal_debug_decl(), infer_range_manager::get_nonzero(), get_nonzero_bits_1(), get_object_alignment_2(), get_offset_range(), fur_list::get_operand(), get_parm_access(), get_pointer_alignment_1(), wi::unextended_tree::get_precision(), get_ptr_info(), get_range(), ssa_cache::get_range(), tree_switch_conversion::cluster::get_range(), get_range_pos_neg(), get_range_strlen_dynamic(), get_range_strlen_tree(), get_reaching_def(), get_reassociation_width(), get_ref_base_and_extent(), get_ref_size(), get_references_in_stmt(), ipa_param_body_adjustments::get_replacement_ssa_base(), get_scalar_evolution(), get_scev_info(), get_size_range(), get_ssa_name_ptr_info_nonnull(), get_ssa_name_range_info(), get_static_chain(), get_stridx(), get_string_length(), get_strub_attr_from_decl(), get_symbol_constant_value(), get_temp_reg(), range_query::get_tree_range(), get_unwidened(), get_up_bounds_for_array_ref(), get_upper_bound_based_on_builtin_expr_with_prob(), get_use_type(), get_val_across_arith_op(), get_val_for(), get_value_for_expr(), get_value_from_alignment(), array_bounds_checker::get_value_range(), get_variable_align(), get_variable_section(), get_vec_alignment_for_record_type(), getbyterep(), gimple_add_init_for_auto_var(), gimple_add_padding_init_for_auto_var(), gimple_assign_nonnegative_warnv_p(), gimple_assign_rhs_to_tree(), gimple_assign_unary_nop_p(), gimple_bitwise_equal_p(), gimple_bitwise_inverted_equal_p(), gimple_boolify(), gimple_build_call_1(), gimple_build_call_from_tree(), gimple_builtin_call_types_compatible_p(), gimple_call_alloc_size(), gimple_call_nonnegative_warnv_p(), gimple_call_nonnull_result_p(), gimple_call_return_type(), gimple_call_set_fndecl(), gimple_can_coalesce_p(), gimple_canonical_types_compatible_p(), gimple_cond_get_ops_from_tree(), gimple_convert(), gimple_convert_to_ptrofftype(), gimple_could_trap_p_1(), gimple_divmod_fixed_value(), gimple_divmod_fixed_value_transform(), gimple_divmod_values_to_profile(), gimple_equal_p(), gimple_expand_builtin_cabs(), gimple_expand_builtin_pow(), gimple_expand_vec_cond_expr(), gimple_expand_vec_set_extract_expr(), gimple_extract(), gimple_fold_builtin_acc_on_device(), gimple_fold_builtin_bcopy(), gimple_fold_builtin_clear_padding(), gimple_fold_builtin_fprintf(), gimple_fold_builtin_memory_chk(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_printf(), gimple_fold_builtin_snprintf(), gimple_fold_builtin_snprintf_chk(), gimple_fold_builtin_sprintf(), gimple_fold_builtin_sprintf_chk(), gimple_fold_builtin_strlen(), gimple_fold_call(), gimple_fold_indirect_ref(), gimple_fold_partial_load(), gimple_fold_partial_load_store_mem_ref(), gimple_fold_partial_store(), gimple_fold_stmt_to_constant_1(), gimple_get_virt_method_for_vtable(), gimple_infer_range::gimple_infer_range(), gimple_lower_bitint(), gimple_mod_pow2(), gimple_mod_pow2_value_transform(), gimple_mod_subtract(), gimple_mod_subtract_transform(), gimple_nop_conversion_p(), gimple_parm_array_size(), gimple_range_global(), gimple_range_ssa_p(), gimple_range_type(), gimple_regimplify_operands(), gimple_simplify(), gimple_stringop_fixed_value(), gimplify_addr(), gimplify_addr_expr(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_arg(), gimplify_asm_expr(), gimplify_assign(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_compound_lval(), gimplify_cond_expr(), gimplify_conversion(), gimplify_decl_expr(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_init_ctor_eval_range(), gimplify_init_ctor_preeval(), gimplify_init_ctor_preeval_1(), gimplify_modify_expr(), gimplify_modify_expr_complex_part(), gimplify_modify_expr_rhs(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), gimplify_omp_affinity(), gimplify_omp_atomic(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), gimplify_omp_taskloop_expr(), gimplify_parameters(), gimplify_return_expr(), gimplify_save_expr(), gimplify_scalar_mode_aggregate_compare(), gimplify_scan_omp_clauses(), gimplify_self_mod_expr(), gimplify_switch_expr(), gimplify_target_expr(), gimplify_type_sizes(), gimplify_va_arg_expr(), gimplify_variable_sized_compare(), gimplify_vla_decl(), go_format_type(), go_output_fndecl(), go_output_typedef(), go_output_var(), go_type_decl(), goa_lhs_expr_p(), goa_stabilize_expr(), gori_stmt_info::gori_stmt_info(), handle_array_ref(), strlen_pass::handle_assign(), handle_builtin_alloca(), strlen_pass::handle_builtin_memcmp(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_string_cmp(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_builtin_stxncpy_strncat(), handle_component_ref(), handle_decl(), remove_unreachable::handle_early(), strlen_pass::handle_integral_assign(), handle_mem_ref(), strlen_pass::handle_pointer_plus(), handle_printf_call(), handle_rhs_call(), handle_simd_reference(), handle_ssa_name(), strlen_pass::handle_store(), handle_warn_if_not_align(), has_stmt_been_instrumented_p(), int_cst_hasher::hash(), ao_compare::hash_ao_ref(), operand_compare::hash_operand(), hash_tree(), hashable_expr_equal_p(), hoist_adjacent_loads(), idx_analyze_ref(), idx_find_step(), idx_infer_loop_bounds(), if_convertible_gimple_assign_stmt_p(), ifcombine_ifandif(), ifcombine_replace_cond(), ifcombine_rewrite_to_defined_overflow(), ifcvt_can_predicate(), ifcvt_can_use_mask_load_store(), immediate_const_ctor_p(), inbounds_memaccess_p(), increase_alignment(), increment_start_addr(), indirect_ref_may_alias_decl_p(), indirect_refs_may_alias_p(), infer_loop_bounds_from_pointer_arith(), infer_loop_bounds_from_signedness(), infer_nonnull_range_by_attribute(), infer_nonnull_range_by_dereference(), init_dont_simulate_again(), init_eh(), init_function_start(), init_range_entry(), init_tmp_var(), init_vn_nary_op_from_stmt(), initial_rhs_predicate_for(), initialize_ao_ref_for_dse(), initialize_argument_information(), initialize_data_dependence_relation(), initialize_inlined_parameters(), initialize_matrix_A(), initialize_reductions(), initializer_constant_valid_p_1(), initializer_each_zero_or_onep(), inline_expand_builtin_bytecmp(), input_gimple_stmt(), insert_clobber_before_stack_restore(), insert_debug_temp_for_var_def(), insert_init_stmt(), insert_initializers(), insert_into_preds_of_block(), insert_part_to_rtx_on_edge(), insert_partition_copy_on_edge(), insert_phi_nodes(), insert_predicates_for_cond(), insert_reciprocals(), insert_trap(), insert_value_copy_on_edge(), install_var_field(), install_var_field(), instantiate_scev_name(), instantiate_scev_r(), instrument_bool_enum_load(), instrument_builtin(), instrument_builtin_call(), instrument_derefs(), instrument_expr(), instrument_mem_ref(), instrument_mem_region_access(), instrument_nonnull_arg(), instrument_nonnull_return(), instrument_object_size(), instrument_si_overflow(), int_const_binop(), int_cst_value(), int_fits_type_p(), integer_all_onesp(), integer_type_for_mask(), integer_valued_real_single_p(), integer_valued_real_unary_p(), interclass_mathfn_icode(), internal_gather_scatter_fn_supported_p(), internal_get_tmp_var(), path_range_query::internal_range_of_expr(), interpret_expr(), interpret_gimple_assign(), interpret_rhs_expr(), inverse(), invert_truthvalue_loc(), ipa_agg_value_from_jfunc(), ipa_analyze_indirect_call_uses(), ipa_compute_jump_functions_for_edge(), ipa_get_callee_param_type(), ipa_get_jf_ancestor_result(), ipa_get_jf_arith_result(), ipa_get_range_from_ip_invariant(), ipa_get_stmt_member_ptr_load_param(), ipa_get_type(), ipa_merge_modref_summary_after_inlining(), ipa_modref_callee_reads_no_memory_p(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), ipa_populate_param_decls(), ipa_pta_execute(), ipa_read_jump_function(), ipa_return_value_range(), ipa_simd_modify_function_body(), ipa_simd_modify_stmt_ops(), ipa_sra_summarize_function(), ipa_tm_create_version_alias(), ipa_tm_insert_gettmclone_call(), ipa_vr_intersect_with_arith_jfunc(), ipacp_value_safe_for_type(), ipcp_get_aggregate_const(), ipcp_get_parm_bits(), ipcp_update_vr(), is_addr_local(), if_chain::is_beneficial(), is_combined_permutation_identity(), is_complex_reg(), is_cxa_pure_virtual_p(), is_empty_type(), tree_switch_conversion::switch_conversion::is_exp_index_transform_viable(), is_gimple_condexpr_1(), is_gimple_logical_p(), is_gimple_mem_rhs(), is_gimple_mem_rhs_or_call(), is_gimple_reg(), is_gimple_stmt(), is_gimple_val(), is_nonwrapping_integer_induction(), is_rshift_by_1(), is_strlen_related_p(), is_tm_pure(), is_var_need_auto_init(), is_variable_sized(), is_widening_mult_p(), is_widening_mult_rhs_p(), isolate_path(), iv_can_overflow_p(), iv_elimination_compare_lt(), iv_period(), layout_decl(), layout_type(), simplify_using_ranges::legacy_fold_cond(), simplify_using_ranges::legacy_fold_cond_overflow(), legal_cast_p(), lhd_omp_assignment(), lhd_omp_scalar_p(), lhd_print_error_function(), likely_target_p(), linearize_expr(), load_assign_lhs_subreplacements(), load_from_unmodified_param_or_agg(), load_register_parameters(), loc_list_for_address_of_addr_expr_of_indirect_ref(), loc_list_from_tree_1(), long_double_as_float128(), lookup_binfo_at_offset(), lookup_field_for_decl(), loop_exits_before_overflow(), loop_has_vector_phi_nodes(), loop_niters_no_overflow(), lower_assumption(), lower_bitfield(), lower_builtin_assume_aligned(), lower_builtin_setjmp(), lower_copyprivate_clauses(), lower_coro_builtin(), lower_eh_constructs_2(), lower_eh_dispatch(), lower_emutls_1(), lower_lastprivate_clauses(), lower_lastprivate_conditional_clauses(), lower_oacc_reductions(), lower_omp_1(), lower_omp_for(), lower_omp_for_lastprivate(), lower_omp_for_scan(), lower_omp_ordered_clauses(), lower_omp_scan(), lower_omp_single_simple(), lower_omp_target(), lower_omp_task_reductions(), lower_omp_taskreg(), lower_omp_teams(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), lower_resx(), lower_send_clauses(), lower_send_shared_vars(), lower_vec_perm(), lto_input_ts_common_tree_pointers(), lto_input_ts_poly_tree_pointers(), lto_read_tree_1(), make_bit_field_ref(), make_blocks_1(), make_debug_expr_from_rtl(), make_decl_rtl(), make_dispatcher_decl(), make_new_ssa_for_def(), make_range(), make_range_step(), make_ssa_name_fn(), make_tree(), make_vector_type(), malloc_candidate_p(), ipa_param_body_adjustments::mark_dead_statements(), match_arith_overflow(), match_saturation_add(), match_saturation_trunc(), match_simplify_replacement(), match_single_bit_test(), match_uaddc_usubc(), match_unsigned_saturation_trunc(), may_be_nonaddressable_p(), may_be_unaligned_p(), may_eliminate_iv(), may_negate_without_overflow_p(), may_propagate_copy(), may_propagate_copy_into_stmt(), maybe_add_implicit_barrier_cancel(), maybe_add_sra_candidate(), infer_range_manager::maybe_adjust_range(), gimple_range_op_handler::maybe_builtin_call(), maybe_canonicalize_comparison_1(), maybe_canonicalize_mem_ref_addr(), maybe_create_ssa_name(), maybe_diag_incompatible_alias(), maybe_diag_stxncpy_trunc(), maybe_duplicate_ssa_info_at_copy(), maybe_emit_sprintf_chk_warning(), maybe_fold_comparisons_from_match_pd(), maybe_fold_reference(), maybe_fold_tmr(), maybe_instrument_call(), maybe_instrument_pointer_overflow(), maybe_invalidate(), maybe_make_indirect(), gimple_range_op_handler::maybe_non_standard(), maybe_optimize_arith_overflow(), maybe_optimize_guarding_check(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), maybe_optimize_range_tests(), maybe_optimize_sub_cmp_0(), maybe_optimize_ubsan_ptr_ifn(), maybe_optimize_var(), maybe_record_node(), maybe_register_def(), maybe_remove_omp_member_access_dummy_vars(), maybe_remove_unused_call_args(), maybe_rewrite_mem_ref_base(), maybe_set_nonzero_bits(), maybe_set_strlen_range(), maybe_trim_complex_store(), maybe_trim_memstar_call(), maybe_update_mem_ref_hash_table(), maybe_warn_nonstring_arg(), maybe_warn_operand(), maybe_warn_pass_by_reference(), maybe_warn_read_write_only(), maybe_with_size_expr(), maybe_wrap_with_location(), ipcp_bits_lattice::meet_with(), ipa_icf::sem_function::merge(), ssa_lazy_cache::merge(), ipa_icf::sem_item_optimizer::merge_classes(), ssa_cache::merge_range(), merge_ranges(), merge_truthop_with_opposite_arm(), mergeable_string_section(), minmax_from_comparison(), minmax_replacement(), modified_type_die(), ipa_param_body_adjustments::modify_assignment(), ipa_param_adjustments::modify_call(), ipa_param_body_adjustments::modify_call_stmt(), ipa_param_body_adjustments::modify_expression(), ipa_param_body_adjustments::modify_formal_parameters(), modref_may_conflict(), move_computations_worker(), move_pointer_to_base(), move_stmt(), movement_possibility_1(), multi_vector_optab_supported_p(), multiple_of_p(), n_of_executions_at_most(), narrowing_initializer_constant_valid_p(), native_encode_complex(), native_encode_constructor(), native_encode_fixed(), native_encode_initializer(), native_encode_int(), native_encode_real(), native_encode_string(), native_encode_vector_part(), native_interpret_aggregate(), native_interpret_complex(), native_interpret_vector_part(), need_assembler_name_p(), negate_expr(), negate_expr_p(), negate_value(), non_lvalue_loc(), non_null_loadstore(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), noncall_stmt_may_be_vtbl_ptr_store(), symtab_node::noninterposable_alias(), nonnull_arg_p(), nonoverlapping_array_refs_p(), nonoverlapping_refs_since_match_p(), nontemporal_store_p(), not_size_aligned(), note_nonlocal_vla_type(), num_ending_zeros(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_exit_assumptions(), number_of_iterations_lt_to_ne(), number_of_iterations_ne_max(), number_of_iterations_popcount(), number_of_iterations_until_wrap(), number_of_latch_executions(), oacc_default_clause(), oacc_rewrite_var_decl(), oacc_xform_loop(), oacc_xform_tile(), obj_type_ref_class(), odr_or_derived_type_p(), odr_types_equivalent_p(), offset_within_block_p(), ok_for_auto_simd_clone(), omp_accumulate_sibling_list(), omp_add_variable(), omp_adjust_chunk_size(), omp_adjust_for_condition(), omp_apply_tile(), omp_build_component_ref(), omp_build_struct_sibling_lists(), omp_context_compute_score(), omp_copy_decl_1(), omp_extract_for_data(), omp_firstprivatize_type_sizes(), omp_get_for_step_from_incr(), omp_loop_number_of_iterations(), omp_member_access_dummy_var(), omp_notice_variable(), omp_addr_tokenizer::omp_parse_component_selector(), omp_addr_tokenizer::omp_parse_pointer(), omp_addr_tokenizer::omp_parse_ref(), omp_resolve_clause_dependencies(), omp_resolve_declare_variant(), omp_shared_to_firstprivate_optimizable_decl_p(), omp_task_reduction_iterate(), ompdevlow_adjust_simt_enter(), op1_range(), op1_range(), op2_range(), simplify_using_ranges::op_with_boolean_value_range_p(), operand_equal_for_comparison_p(), operand_compare::operand_equal_p(), operand_compare::operand_equal_p(), operation_could_trap_helper_p(), phi_analyzer::operator[](), optimize_atomic_bit_test_and(), optimize_atomic_compare_exchange_p(), optimize_atomic_op_fetch_cmp_0(), optimize_bit_field_compare(), optimize_bitfield_assignment_op(), optimize_count_trailing_zeroes(), crc_optimization::optimize_crc_loop(), optimize_mask_stores(), optimize_memcpy_to_memset(), optimize_omp_library_calls(), optimize_ops_list(), optimize_pow_to_exp(), optimize_range_tests_1(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_recip_sqrt(), optimize_spaceship(), optimize_stack_restore(), optimize_stdarg_builtin(), dom_opt_dom_walker::optimize_stmt(), optimize_va_list_gpr_fpr_size(), optimize_vector_constructor(), optimize_vector_load(), or_comparisons_1(), or_var_with_comparison_1(), output_constant(), output_constructor(), output_constructor_array_range(), output_constructor_bitfield(), output_constructor_regular_field(), output_gimple_stmt(), output_ssa_names(), ovce_extract_ops(), overflow_comparison_p_1(), pack_ts_decl_common_value_fields(), param_type_may_change_p(), parloops_is_simple_reduction(), parm_object_size(), parm_ref_data_pass_through_p(), parse_predicate(), pass_by_reference(), permute_vec_elements(), phi_incr_cost_1(), phi_translate_1(), phiprop_insert_phi(), place_field(), place_union_field(), pointer_may_wrap_p(), poly_int_binop(), polymorphic_ctor_dtor_p(), possible_polymorphic_call_targets(), possible_vector_mask_operation_p(), powi_as_mults(), fvrp_folder::pre_fold_bb(), precompute_arguments(), precompute_register_parameters(), predcom_tmp_var(), predicate_bbs(), predicate_load_or_store(), predicate_rhs_code(), predicate_scalar_phi(), predicate_statements(), preferred_mem_scale_factor(), gimple_ranger::prefill_stmt_dependencies(), prepare_call_arguments(), ipa_param_body_adjustments::prepare_debug_expressions(), prepare_instrumented_value(), prepare_iteration_over_array_elts(), prepare_target_mem_ref_lvalue(), prepare_vec_mask(), print_declaration(), print_node(), print_node_brief(), print_struct_decl(), process_assignment(), process_bb(), phi_analyzer::process_phi(), produce_memory_decl_rtl(), profile_function(), promote_decl_mode(), promote_mode(), promote_ssa_mode(), ranger_cache::propagate_cache(), propagate_malloc(), propagate_subaccesses_from_rhs(), propagate_tree_value_into_stmt(), propagate_with_phi(), prune_ref_by_group_reuse(), prune_runtime_alias_test_list(), ptr_deref_may_alias_decl_p(), ptr_derefs_may_alias_p(), ptr_difference_const(), push_fields_onto_fieldstack(), queue_and_dump_type(), range_binop(), range_check_type(), path_range_query::range_defined_in_block(), ranger_cache::range_from_dom(), range_in_array_bounds_p(), dom_ranger::range_in_bb(), range_info_get_range(), fold_using_range::range_of_address(), fold_using_range::range_of_call(), fold_using_range::range_of_cond_expr(), gimple_ranger::range_of_expr(), fold_using_range::range_of_phi(), fold_using_range::range_of_range_op(), fold_using_range::range_of_ssa_name_with_loop_info(), gimple_ranger::range_of_stmt(), range_of_var_in_loop(), dom_ranger::range_on_edge(), gimple_ranger::range_on_edge(), gimple_ranger::range_on_entry(), gimple_ranger::range_on_exit(), range_predecessor(), range_successor(), read_vector_array(), real_minus_onep(), real_onep(), real_value_from_int_cst(), real_zerop(), reassociate_bb(), pcom_worker::reassociate_to_the_same_stmt(), recognise_vec_perm_simplify_seq(), recognize_single_bit_test(), recompute_tree_invariant_for_addr_expr(), reconstruct_complex_type(), record_biv_for_address_use(), record_common_node(), record_component_aliases(), record_conditions(), record_edge_info(), record_equivalences_from_stmt(), record_group_use(), record_nonwrapping_iv(), record_targets_from_bases(), record_type_tag(), cgraph_edge::redirect_call_stmt_to_callee(), reduce_vector_comparison_to_scalar_comparison(), ref_all_alias_ptr_type_p(), ref_at_iteration(), ref_contains_union_access_p(), ref_maybe_used_by_call_p_1(), reference_alias_ptr_type(), reference_alias_ptr_type_1(), refine_bounds_using_guard(), gori_compute::refine_using_relation(), refine_value_range_using_guard(), gimple_ranger::register_inferred_ranges(), ranger_cache::register_inferred_value(), register_odr_type(), fur_source::register_outgoing_edges(), gimple_ranger::register_transitive_inferred_ranges(), fold_using_range::relation_fold_and_or(), release_ssa_name_fn(), remap_decl(), remap_gimple_op_r(), remap_ssa_name(), remap_type_1(), remap_type_2(), remap_vla_decls(), remove_unreachable::remove(), remove_unreachable::remove_and_update_globals(), remove_dead_stmt(), remove_unused_ivs(), replace_abnormal_ssa_names(), replace_by_duplicate_decl(), replace_call_with_value(), replace_locals_stmt(), replace_mult_candidate(), replace_one_candidate(), replace_phi_edge_with_variable(), replace_ref(), replace_ssa_name_symbol(), replace_stmt_with_simplification(), replace_trapping_overflow(), replace_uncond_cands_and_profitable_phis(), repropagate_negates(), ipa_param_body_adjustments::reset_debug_stmts(), reset_flow_sensitive_info(), resolve_addr_in_expr(), ranger_cache::resolve_dom(), flow_sensitive_info_storage::restore(), ipa_polymorphic_call_context::restrict_to_inner_class(), restructure_reference(), return_prediction(), reuse_split_load(), reverse_storage_order_for_component_p(), rewrite_bittest(), rewrite_debug_stmt_uses(), rewrite_expr_tree(), rewrite_expr_tree_parallel(), rewrite_phi_with_iv(), rewrite_reciprocal(), rewrite_to_defined_overflow(), rewrite_use_address(), rewrite_use_compare(), rewrite_use_nonlinear_expr(), round_down_loc(), round_up_loc(), rt_bb_visited::rt_bb_visited(), rtl_for_decl_init(), rtl_for_decl_location(), rtx_addr_can_trap_p_1(), runtime_alias_check_p(), ipa_icf_gimple::func_checker::safe_for_total_scalarization_p(), safe_from_p(), same_access_path_p(), same_bool_comparison_p(), flow_sensitive_info_storage::save(), save_expr(), save_tmp_var(), scan_omp_1_op(), scan_operand_equal_p(), scan_sharing_clauses(), scev_analyzable_p(), scev_probably_wraps_p(), scev_var_range_cant_overflow(), self_referential_size(), self_reuse_distance(), separate_decls_in_region_name(), frange::set(), irange::set(), prange::set(), unsupported_range::set(), block_range_cache::set_bb_range(), set_bitmask(), ipa_polymorphic_call_context::set_by_decl(), ipa_polymorphic_call_context::set_by_invariant(), set_component_ref_size(), ranger_cache::set_global_range(), dom_opt_dom_walker::set_global_ranges_from_unreachable_edges(), set_mem_attributes_minus_bitpos(), set_nonzero_bits(), vect_unpromoted_value::set_op(), set_parm_rtl(), set_ptr_nonnull(), set_range_info(), set_reg_attrs_for_decl_rtl(), set_rtl(), set_strlen_range(), set_switch_stmt_execution_predicate(), gimple_match_op::set_value(), setup_incoming_promotions(), setup_one_parameter(), shortcut_cond_r(), should_interchange_loops(), should_remove_lhs_p(), shrink_simd_arrays(), sign_bit_p(), sign_mask_for(), signed_or_unsigned_type_for(), simd_clone_adjust(), simd_clone_adjust_argument_types(), simd_clone_adjust_return_type(), simd_clone_clauses_extract(), simd_clone_compute_base_data_type(), simd_clone_init_simd_arrays(), simd_clone_linear_addend(), simd_clone_vector_of_formal_parm_types(), simple_cst_equal(), simple_integer_narrowing(), simple_iv_with_niters(), simplify_using_ranges::simplify(), simplify_using_ranges::simplify_abs_using_ranges(), avail_exprs_stack::simplify_binary_operation(), simplify_using_ranges::simplify_bit_ops_using_ranges(), simplify_bitfield_ref(), simplify_builtin_call(), simplify_using_ranges::simplify_casted_compare(), simplify_using_ranges::simplify_compare_assign_using_ranges_1(), simplify_using_ranges::simplify_compare_using_ranges_1(), jump_threader::simplify_control_stmt_condition(), simplify_conversion_using_ranges(), simplify_count_trailing_zeroes(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), simplify_using_ranges::simplify_float_conversion_using_ranges(), simplify_gimple_switch(), simplify_using_ranges::simplify_internal_call_using_ranges(), simplify_peeled_chrec(), simplify_permutation(), simplify_rotate(), simplify_using_ranges::simplify_switch_using_ranges(), simplify_using_ranges::simplify_truth_ops_using_ranges(), simplify_vector_constructor(), sink_common_stores_to_bb(), size_binop_loc(), size_diffop_loc(), size_for_offset(), size_must_be_zero_p(), size_t_cst_p(), skip_a_safe_conversion_op(), slsr_process_add(), slsr_process_cast(), slsr_process_copy(), slsr_process_phi(), sort_by_mach_mode(), sort_by_size_then_ssa_version_or_uid(), spaceship_replacement(), split_address_to_core_and_offset(), split_at_bb_p(), split_complex_args(), split_complex_types(), split_constant_offset(), split_constant_offset(), split_constant_offset_1(), split_function(), split_to_var_and_offset(), split_tree(), sra_modify_assign(), sra_modify_deferred_init(), sra_modify_expr(), ssa_is_replaceable_p(), ssa_name_has_boolean_range(), path_range_query::ssa_range_in_phi(), stabilize_reference(), stabilize_reference_1(), stabilize_va_list_loc(), stack_protect_classify_type(), stack_protect_decl_phase(), stack_protect_return_slot_p(), vect_optimize_slp_pass::start_choosing_layouts(), statement_sink_location(), staticp(), std_canonical_va_list_type(), std_gimplify_va_arg_expr(), stmt_cost(), stmt_could_throw_1_p(), stmt_could_throw_p(), stmt_kills_ref_p(), stmt_may_be_vtbl_ptr_store(), stmt_may_generate_copy(), stmt_uses_name_in_undefined_way(), storage_order_barrier_p(), store_constructor(), store_expr(), store_field(), store_one_arg(), store_unaligned_arguments_into_pseudos(), streamer_write_integer_cst(), strip_array_types(), strip_float_extensions(), strip_nop_cond_scalar_reduction(), strip_offset_1(), strub_call_fntype_override_p(), strub_from_body_p(), strub_set_fndt_mode_to(), strub_watermark_parm(), subrange_type_die(), subrange_type_for_debug_p(), substitute_in_expr(), substitute_placeholder_in_expr(), pcom_worker::suitable_component_p(), suitable_reference_p(), supported_pointer_equiv_p(), gimple_outgoing_range::switch_edge_range(), synth_lshift_by_additions(), take_address_of(), target_align(), target_for_debug_bind(), task_copyfn_copy_decl(), task_copyfn_remap_type(), task_reduction_read(), dom_opt_dom_walker::test_for_singularity(), test_for_singularity(), thunk_adjust(), tm_log_add(), tm_log_emit_saves(), tm_log_emit_stmt(), wi::to_wide(), wi::to_wide(), totally_scalarizable_type_p(), totally_scalarize_subtree(), track_expr_p(), tracked_record_parameter_p(), trailing_array(), transform_add_to_multiply(), loop_distribution::transform_reduction_loop(), transform_to_exit_first_loop(), tree_add_const_value_attribute(), tree_binary_nonnegative_warnv_p(), tree_builtin_call_types_compatible_p(), tree_could_trap_p(), tree_ctz(), tree_expr_nonnegative_warnv_p(), tree_expr_nonzero_warnv_p(), tree_expr_size(), tree_function_versioning(), tree_int_cst_min_precision(), tree_int_cst_sgn(), tree_int_cst_sign_bit(), tree_invalid_nonnegative_warnv_p(), tree_is_indexable(), tree_mem_ref_addr(), tree_nonzero_bits(), tree_nop_conversion(), tree_nop_conversion_p(), tree_optimize_tail_calls_1(), tree_predict_by_opcode(), tree_profiling(), tree_sign_nop_conversion(), tree_single_nonnegative_warnv_p(), tree_single_nonzero_warnv_p(), tree_ssa_useless_type_conversion(), tree_to_aff_combination(), tree_to_vec_perm_builder(), tree_transform_and_unroll_loop(), tree_unary_nonnegative_warnv_p(), tree_unary_nonzero_warnv_p(), try_casesi(), try_special_add_to_ops(), tree_switch_conversion::switch_decision_tree::try_switch_expansion(), try_tablejump(), try_transform_to_exit_first_loop_alt(), simplify_using_ranges::two_valued_val_range_p(), type_contains_placeholder_1(), type_for_widest_vector_mode(), type_has_padding_at_level_p(), type_hash_canon(), type_hash_canon_hash(), type_internals_preclude_sra_p_1(), type_like_member_ptr_p(), type_list_equal(), type_must_have_pointers(), type_strictly_matches_mode_p(), type_with_alias_set_p(), types_match(), types_match(), uaddc_cast(), ubsan_create_data(), ubsan_encode_value(), ubsan_expand_bounds_ifn(), ubsan_expand_null_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_vptr_ifn(), ubsan_instrument_float_cast(), ubsan_source_location(), ubsan_type_descriptor(), undistribute_bitref_for_vector(), undistribute_ops_list(), uniform_integer_cst_p(), uniform_vector_p(), unmodified_parm_1(), unsigned_reg_p(), unswitch_predicate::unswitch_predicate(), unswitch_predicate::unswitch_predicate(), update_accumulator_with_ops(), update_alias_info_with_stack_vars(), update_alignment_for_field(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), update_nonlocal_goto_save_area(), update_ops(), update_parameter_components(), assume_query::update_parms(), update_phi_components(), update_range_test(), update_type_inheritance_graph(), use_pointer_for_field(), use_pointer_in_frame(), use_register_for_decl(), used_types_insert(), useless_type_conversion_p(), valid_gimple_call_p(), valid_gimple_rhs_p(), pcom_worker::valid_initializer_p(), valid_lattice_transition(), valid_mask_for_fold_vec_perm_cst_p(), validate_arg(), validate_arglist(), crc_optimization::validate_crc_and_data(), validate_test_and_branch(), range_query::value_of_expr(), range_query::value_of_stmt(), range_query::value_on_edge(), range_query::value_on_entry(), range_query::value_on_exit(), value_range::value_range(), value_replacement(), valueized_wider_op(), var_can_have_subvars(), variably_modified_type_p(), vec_cst_ctor_to_array(), vec_perm_indices_to_tree(), vect_add_conversion_to_pattern(), vect_add_slp_permutation(), vect_analyze_data_ref_access(), vect_analyze_data_ref_accesses(), vect_analyze_data_refs(), vect_analyze_group_access_1(), vect_build_all_ones_mask(), vect_build_loop_niters(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), vect_build_slp_instance(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_build_zero_merge_argument(), vect_can_peel_nonlinear_iv_p(), vect_check_gather_scatter(), vect_check_scalar_mask(), vect_clobber_variable(), vect_comparison_type(), vect_convert_input(), vect_convert_output(), vect_create_addr_base_for_vector_ref(), vect_create_cond_for_align_checks(), vect_create_cond_for_lower_bounds(), vect_create_constant_vectors(), vect_create_data_ref_ptr(), vect_create_destination_var(), vect_create_epilog_for_reduction(), vect_create_half_widening_stmts(), vect_create_nonlinear_iv_init(), vect_create_nonlinear_iv_step(), vect_create_partial_epilog(), vect_describe_gather_scatter_call(), vect_determine_mask_precision(), vect_determine_min_output_precision(), vect_determine_precisions_from_range(), vect_determine_precisions_from_users(), vect_determine_vectorization_factor(), vect_do_peeling(), vect_dr_misalign_for_aligned_access(), vect_embedded_comparison_type(), vect_emulate_mixed_dot_prod(), vect_emulated_vector_p(), vect_enhance_data_refs_alignment(), vect_estimate_min_profitable_iters(), vect_expand_fold_left(), vect_find_reusable_accumulator(), vect_find_stmt_data_reference(), vect_gen_len(), vect_gen_loop_len_mask(), vect_gen_prolog_loop_niters(), vect_gen_scalar_loop_niters(), vect_gen_vector_loop_niters(), vect_gen_vector_loop_niters_mult_vf(), vect_gen_while(), vect_get_and_check_slp_defs(), vect_get_data_ptr_increment(), vect_get_loop_mask(), vect_get_loop_niters(), vect_get_loop_variant_data_ptr_increment(), vect_get_main_loop_result(), vect_get_peeling_costs_all_drs(), vect_get_range_info(), vect_get_scalar_dr_size(), vect_get_smallest_scalar_type(), vect_get_strided_load_store_ops(), vect_get_vec_defs_for_operand(), vect_get_vector_types_for_stmt(), vect_init_vector(), vect_is_emulated_mixed_dot_prod(), vect_is_extending_load(), vect_is_integer_truncation(), vect_is_nonlinear_iv_evolution(), vect_is_simple_cond(), vect_is_simple_iv_evolution(), vect_known_alignment_in_bytes(), vect_look_through_possible_promotion(), vect_loop_versioning(), vect_min_prec_for_max_niters(), vect_nop_conversion_p(), vect_peel_nonlinear_iv_init(), vect_phi_first_order_recurrence_p(), vect_prepare_for_masked_peels(), vect_reassociating_reduction_p(), vect_recog_abd_pattern(), vect_recog_absolute_difference(), vect_recog_average_pattern(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_build_binary_gimple_stmt(), vect_recog_cast_forwprop_pattern(), vect_recog_cond_expr_convert_pattern(), vect_recog_cond_store_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), vect_recog_gather_scatter_pattern(), vect_recog_gcond_pattern(), vect_recog_mask_conversion_pattern(), vect_recog_mod_var_pattern(), vect_recog_mulhs_pattern(), vect_recog_mult_pattern(), vect_recog_over_widening_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_pow_pattern(), vect_recog_rotate_pattern(), vect_recog_sad_pattern(), vect_recog_sat_add_pattern(), vect_recog_sat_sub_pattern_transform(), vect_recog_sat_trunc_pattern(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_abd_pattern(), vect_recog_widen_op_pattern(), vect_recog_widen_sum_pattern(), vect_remove_slp_scalar_calls(), vect_set_loop_condition_normal(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), vect_set_loop_controls_directly(), vect_setup_realignment(), vect_simd_lane_linear(), vect_slp_analyze_operations(), vect_slp_check_for_roots(), vect_slp_is_lane_insert(), vect_slp_prefer_store_lanes_p(), vect_split_statement(), vect_supportable_dr_alignment(), vect_synth_mult_by_constant(), vect_transform_cycle_phi(), vect_transform_loop(), vect_truncate_gather_scatter_offset(), vect_update_inits_of_drs(), vect_update_ivs_after_vectorizer(), vect_update_nonlinear_iv(), vect_use_strided_gather_scatters_p(), vect_verify_full_masking_avx512(), vect_verify_loop_lens(), vect_vfa_access_size(), vect_widened_op_tree(), vector_alignment_reachable_p(), vector_compare_rtx(), vector_const_binop(), vector_cst_elt(), vector_element(), vector_element_bits(), vector_element_bits_tree(), vector_type_mode(), vector_vector_composition_type(), vectorizable_assignment(), vectorizable_bb_reduc_epilogue(), vectorizable_call(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_conversion(), vectorizable_early_exit(), vectorizable_induction(), vectorizable_lane_reducing(), vectorizable_live_operation(), vectorizable_live_operation_1(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_recurr(), vectorizable_reduction(), vectorizable_shift(), vectorizable_simd_clone_call(), vectorizable_slp_permutation_1(), vectorizable_store(), vectorize_fold_left_reduction(), vectorize_slp_instance_root_stmt(), verify_bb_vtables(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_call(), verify_gimple_comparison(), verify_gimple_goto(), verify_gimple_phi(), verify_gimple_return(), verify_gimple_switch(), cgraph_node::verify_node(), verify_ssa(), verify_ssa_name(), verify_type(), verify_type_variant(), verify_types_in_gimple_reference(), view_converted_memref_p(), virtual_method_call_p(), rt_bb_visited::visit(), pointer_equiv_analyzer::visit_edge(), visit_loadstore(), visit_nary_op(), complex_propagate::visit_phi(), visit_phi(), visit_reference_op_load(), visit_reference_op_store(), complex_propagate::visit_stmt(), vn_constant_eq_with_type(), vn_hash_constant_with_type(), VN_INFO(), vn_nary_op_eq(), vn_phi_insert(), vn_phi_lookup(), vn_reference_eq(), vn_reference_fold_indirect(), vn_reference_insert(), vn_reference_lookup(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_maybe_forwprop_address(), voidify_wrapper_expr(), volatile_lvalue_p(), vt_add_function_parameter(), vtbl_map_get_node(), walk_gimple_op(), walk_polymorphic_call_targets(), walk_polymorphic_call_targets(), walk_regimplify_phi(), walk_stmt_load_store_addr_ops(), walk_tree_1(), walk_type_fields(), warn_deprecated_use(), warn_function_const(), warn_function_pure(), warn_return_addr_local(), warn_types_mismatch(), weak_finish(), wide_int_to_tree_1(), widening_mult_conversion_strippable_p(), will_be_nonconstant_expr_predicate(), will_be_nonconstant_predicate(), worker_single_copy(), worker_single_simple(), wrap_refs(), write_ts_common_tree_pointers(), write_vector_array(), zero_one_minusone(), and zero_one_operation().
#define TREE_UNAVAILABLE | ( | NODE | ) |
Nonzero in a _DECL if the use of the name is defined as an unavailable feature by __attribute__((unavailable)).
Referenced by print_node().
#define TREE_USED | ( | NODE | ) |
Nonzero in a _DECL if the name is used in its scope. Nonzero in an expr node means inhibit warning if value is unused. In IDENTIFIER_NODEs, this means that some extern decl for this name was used. In a BLOCK, this means that the block contains variables that are used.
Referenced by asan_add_global(), asan_emit_stack_protection(), assemble_alias(), assign_parm_setup_reg(), cgraph_build_static_cdtor_1(), rt_bb_visited::check(), check_global_declaration(), clear_tree_used(), clear_unused_block_pointer(), clear_unused_block_pointer_1(), ipa_param_body_adjustments::common_initialization(), copy_decl_for_dup_finish(), copy_var_decl(), create_assumption_fn(), create_loop_fn(), create_odr_indicator(), create_omp_child_function(), create_stack_guard(), create_tmp_var_raw(), create_vop_var(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), default_stack_protect_guard(), dequeue_and_dump(), dump_scope_block(), expand_call_inline(), expand_expr_addr_expr_1(), expand_expr_real_1(), expand_omp_target(), expand_omp_taskreg(), expand_thunk(), expand_used_vars(), expand_used_vars_for_block(), fold_unary_loc(), get_asan_shadow_memory_dynamic_address_decl(), get_chain_decl(), get_emutls_init_templ_addr(), get_spill_slot_decl(), gimplify_bind_expr(), gimplify_function_tree(), ipa_tm_create_version_alias(), lower_eh_must_not_throw(), lower_omp_for(), lower_omp_scope(), lower_omp_sections(), lower_omp_single(), lower_omp_teams(), make_dispatcher_decl(), mark_all_vars_used_1(), mark_scope_block_unused(), merge_weak(), need_assembler_name_p(), new_emutls_decl(), print_node(), reference_to_unused(), remap_block(), remove_unused_locals(), remove_unused_scope_block_p(), ipa_param_body_adjustments::reset_debug_stmts(), rtx_for_function_call(), weak_finish(), weak_finish_1(), and wrapup_global_declaration_2().
#define TREE_VALUE | ( | NODE | ) |
Referenced by add_ehspec_entry(), alloc_object_size(), attr_access::array_as_string(), assemble_asm(), assign_filter_values(), attribute_list_contained(), attribute_value_equal(), bit_value_assume_aligned(), block_move_libcall_safe_for_call_parm(), build_adjusted_function_type(), build_builtin_expect_predicate(), build_constructor_from_list(), build_tm_store(), build_tree_list(), builtin_mathfn_code(), check_fnspec(), cleanup_dead_labels(), collect_one_action_chain(), common_function_versions(), ipa_icf_gimple::func_checker::compare_asm_inputs_outputs(), ipa_icf_gimple::func_checker::compare_gimple_asm(), contains_placeholder_p(), copy_tree_body_r(), count_num_arguments(), create_coalesce_list_for_region(), create_task_copyfn(), cgraph_node::create_version_clone_with_body(), decl_attributes(), decl_class_context(), decl_fnspec(), decl_function_context(), dequeue_and_dump(), device_resident_p(), DFS::DFS_write_tree_body(), diagnose_sb_0(), do_assemble_alias(), dump_function_declaration(), dump_function_to_file(), dump_generic_node(), dump_omp_clause(), eliminate_dom_walker::eliminate_stmt(), ipa_icf::sem_function::equals_wpa(), error_unavailable_use(), execute_oacc_loop_designation(), execute_update_addresses_taken(), expand_asm_stmt(), expand_builtin_int_roundingfn_2(), expand_complex_asm(), expand_expr_real_1(), expand_oacc_collapse_init(), expand_omp_atomic_store(), expand_simd_clones(), expand_target_clones(), varpool_node::finalize_decl(), find_func_aliases(), find_placeholder_in_expr(), fndecl_alloc_p(), fndecl_dealloc_argno(), fold_builtin_atomic_compare_exchange(), ccp_folder::fold_stmt(), fold_stmt_1(), attr_access::free_lang_data(), function_args_iter_cond(), function_args_iter_cond_ptr(), gen_eh_region_allowed(), gen_eh_region_catch(), gen_generic_params_dies(), get_alias_symbol(), operands_scanner::get_asm_stmt_operands(), get_attr_str(), get_attribute_name(), get_call_args(), get_nonnull_args(), get_strub_mode_from_attr(), get_target_clone_attr_len(), gimple_asm_clobbers_memory_p(), gimple_builtin_call_types_compatible_p(), gimple_call_alloc_size(), gimple_call_fnspec(), gimple_canonical_types_compatible_p(), gimple_fold_call(), gimple_infer_range::gimple_infer_range(), gimple_redirect_edge_and_branch(), gimple_regimplify_operands(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_init_ctor_preeval_1(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_ordered(), globalize_decl(), go_output_typedef(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strcpy(), ehspec_hasher::hash(), operand_compare::hash_operand(), hash_tree(), infer_nonnull_range_by_attribute(), init_attr_rdwr_indices(), input_eh_region(), input_gimple_stmt(), instrument_builtin_call(), ipa_get_callee_param_type(), ipa_odr_summary_write(), is_function_default_version(), lookup_attribute_spec(), lookup_descr_for_decl(), lower_eh_dispatch(), lower_omp_ordered_clauses(), lower_omp_task_reductions(), lower_private_allocate(), lto_input_eh_catch_list(), lto_input_ts_list_tree_pointers(), make_gimple_asm_edges(), mark_transaction_restart_calls(), matching_alloc_calls_p(), maybe_canonicalize_argtypes(), maybe_remove_unused_call_args(), merge_weak(), ipa_param_body_adjustments::modify_gimple_stmt(), nonnull_arg_p(), oacc_do_neutering(), oacc_fn_attrib_level(), oacc_get_fn_dim_size(), oacc_validate_dims(), oacc_verify_routine_clauses(), obj_type_ref_class(), odr_or_derived_type_p(), odr_types_equivalent_p(), ok_for_auto_simd_clone(), omp_apply_tile(), omp_construct_selector_matches(), omp_discover_declare_target_tgt_fn_r(), omp_lto_input_declare_variant_alt(), omp_lto_output_declare_variant_alt(), omp_mark_declare_variant(), omp_notice_variable(), omp_resolve_declare_variant(), op_iter_next_def(), op_iter_next_tree(), optimize_atomic_compare_exchange_p(), prepare_call_arguments(), print_node(), process_pending_assemble_externals(), process_symver_attribute(), propagate_necessity(), push_function_arg_types(), rt_bb_visited::push_rtcfg_pair(), reconstruct_complex_type(), record_type_list(), cgraph_edge::redirect_call_stmt_to_callee(), remove_attributes_matching(), remove_named_attribute_unsharing(), resolve_asm_operand_names(), resolve_operand_name_1(), rest_of_decl_compilation(), restrict_type_identity_attributes_to(), rt_bb_visited::rt_bb_visited(), safe_from_p(), sanitize_flags_p(), scan_function(), scan_omp_1_op(), scan_omp_for(), simd_clone_clauses_extract(), simple_cst_list_equal(), sorted_attr_string(), split_complex_types(), sra_modify_function_body(), substitute_in_expr(), substitute_placeholder_in_expr(), tree_builtin_call_types_compatible_p(), tree_cons(), type_hash_canon_hash(), type_list_equal(), type_num_arguments(), useless_type_conversion_p(), validate_arglist(), value_member(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), verify_type(), walk_gimple_asm(), walk_stmt_load_store_addr_ops(), walk_tree_1(), walk_type_fields(), warn_deprecated_use(), warn_types_mismatch(), weak_finish(), and write_ts_list_tree_pointers().
#define TREE_VEC_BEGIN | ( | NODE | ) |
Referenced by tree_vec_range::begin().
#define TREE_VEC_ELT | ( | NODE, | |
I ) |
Referenced by bundle_sizes(), cache_integer_cst(), cache_wide_int_in_type_cache(), simplify_using_ranges::cleanup_edges_and_switches(), copy_tree_body_r(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_generic_node(), dump_omp_iterators(), dump_omp_loop_non_rect_expr(), emit_phi_nodes(), expand_omp_target(), gen_generic_params_dies(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), operand_compare::hash_operand(), hash_tree(), lower_omp_for(), lower_omp_target(), lto_input_ts_vec_tree_pointers(), object_sizes_get(), omp_apply_tile(), omp_extract_for_data(), omp_loop_number_of_iterations(), omp_maybe_apply_loop_xforms(), phi_dynamic_object_size(), print_node(), propagate_unknowns(), simplify_using_ranges::simplify_switch_using_ranges(), template_parameter_pack_die(), verify_type(), walk_tree_1(), and write_ts_vec_tree_pointers().
#define TREE_VEC_END | ( | NODE | ) |
Referenced by tree_vec_range::end().
#define TREE_VEC_LENGTH | ( | NODE | ) |
In a TREE_VEC node.
Referenced by bundle_sizes(), simplify_using_ranges::cleanup_edges_and_switches(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_generic_node(), emit_phi_nodes(), expand_omp_target(), gen_generic_params_dies(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_loop_xform(), grow_tree_vec(), operand_compare::hash_operand(), hash_tree(), lto_input_ts_vec_tree_pointers(), make_tree_vec(), object_sizes_get(), omp_apply_tile(), omp_maybe_apply_loop_xforms(), print_node(), propagate_unknowns(), streamer_write_tree_header(), template_parameter_pack_die(), tree_size(), verify_type(), walk_tree_1(), and write_ts_vec_tree_pointers().
#define tree_vec_map_eq tree_map_base_eq |
#define tree_vec_map_hash tree_decl_map_hash |
#define tree_vec_map_marked_p tree_map_base_marked_p |
#define TREE_VISITED | ( | NODE | ) |
Used to keep track of visited nodes in tree traversals. This is set to 0 by copy_node and make_node.
Referenced by copy_if_shared_r(), copy_node(), delete_trivially_dead_insns(), insn_live_p(), lower_gimple_bind(), print_node(), sink_common_stores_to_bb(), ssa_name_maybe_undef_p(), ssa_name_set_maybe_undef(), unmark_visited_r(), variably_modified_type_p(), verify_ssa(), and verify_use().
#define TRY_CATCH_IS_CLEANUP | ( | NODE | ) |
In a TRY_CATCH_EXPR, means that the handler should be considered a separate cleanup in honor_protect_cleanup_actions.
Referenced by gimplify_expr().
#define TYPE_ADDR_SPACE | ( | NODE | ) |
The address space the type is in.
Referenced by addr_offset_valid_p(), asan_protect_global(), build_array_type_1(), build_pointer_type_for_mode(), build_ref_for_model(), build_ref_for_offset(), build_reference_type_for_mode(), check_loadstore(), computation_cost(), compute_objsize_r(), const_unop(), convert_to_pointer_1(), create_mem_ref_raw(), dse_optimize_call(), dump_generic_node(), ipa_icf::sem_variable::equals_wpa(), expand_assignment(), expand_debug_expr(), expand_expr_addr_expr(), expand_expr_real_1(), expand_expr_real_2(), find_single_drs(), fold_convert_loc(), function_and_variable_visibility(), get_address_cost(), get_builtin_sync_mem(), get_memory_rtx(), get_related_vectype_for_scalar_type(), get_use_type(), get_variable_section(), gimple_canonical_types_compatible_p(), gimplify_modify_expr(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), hash_tree(), instrument_bool_enum_load(), instrument_derefs(), instrument_expr(), instrument_mem_ref(), make_decl_rtl(), make_tree(), mem_ref_valid_without_offset_p(), modified_type_die(), most_expensive_mult_to_index(), move_hint_to_base(), non_null_loadstore(), odr_types_equivalent_p(), operand_compare::operand_equal_p(), output_constant(), pack_ts_base_value_fields(), preferred_mem_scale_factor(), print_node(), print_node_brief(), produce_memory_decl_rtl(), promote_mode(), runtime_alias_check_p(), set_mem_attributes_minus_bitpos(), set_type_quals(), tree_nop_conversion_p(), ubsan_expand_null_ifn(), unpack_ts_base_value_fields(), useless_type_conversion_p(), valid_mem_ref_cand_p(), and verify_gimple_assign_unary().
#define TYPE_ALIAS_SET | ( | NODE | ) |
The (language-specific) typed-based alias set for this type. Objects whose TYPE_ALIAS_SETs are different cannot alias each other. If the TYPE_ALIAS_SET is -1, no alias set has yet been assigned to this type. If the TYPE_ALIAS_SET is 0, objects of this type can alias objects of any type.
Referenced by alias_set_subset_of(), alias_sets_conflict_p(), asan_init_shadow_ptr_types(), build_opaque_vector_type(), build_variant_type_copy(), get_alias_set(), make_node(), print_node(), and rt_bb_visited::rt_bb_visited().
#define TYPE_ALIAS_SET_KNOWN_P | ( | NODE | ) |
Nonzero iff the typed-based alias set for this type has been calculated.
Referenced by get_alias_set(), layout_type(), and verify_type_variant().
#define TYPE_ALIGN | ( | NODE | ) |
The alignment necessary for objects of this type. The value is an int, measured in bits and must be a power of two. We support also an "alignment" of zero.
Referenced by align_local_variable(), align_variable(), assign_parm_adjust_stack_rtl(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_parms(), assign_parms_unsplit_complex(), build_aligned_type(), build_qualified_type(), build_range_type_1(), build_ref_for_offset(), build_var(), check_aligned_type(), check_base_type(), clear_padding_flush(), clear_padding_type(), compute_array_mode(), compute_avail(), compute_record_mode(), copy_blkmode_from_reg(), copy_blkmode_to_reg(), default_preferred_vector_alignment(), defer_stack_allocation(), dequeue_and_dump(), do_type_align(), dump_generic_node(), dump_mem_ref(), type_cache_hasher::equal(), expand_builtin_va_copy(), expand_call(), expand_call_mem_ref(), expand_constructor(), expand_expr_addr_expr_1(), expand_expr_real_1(), expand_function_start(), expand_omp_for_static_nochunk(), expand_one_ssa_partition(), expand_one_var(), fill_vector_of_new_param_types(), finalize_record_size(), finalize_type_size(), finish_builtin_struct(), finish_taskreg_scan(), fold_builtin_atomic_always_lock_free(), fold_truth_andor_for_ifcombine(), fold_unary_loc(), gather_mem_refs_stmt(), get_chain_field(), get_descriptor_type(), get_mem_align_offset(), get_nl_goto_field(), get_object_alignment_2(), get_references_in_stmt(), get_temp_reg(), get_vec_alignment_for_array_type(), get_vec_alignment_for_type(), gimple_can_coalesce_p(), gimple_equal_p(), gimple_fold_builtin_clear_padding(), gimple_fold_builtin_memory_op(), gimple_fold_partial_load_store_mem_ref(), gimplify_expr(), gimplify_init_constructor(), go_format_type(), handle_warn_if_not_align(), hash_tree(), initialize_argument_information(), insert_field_into_struct(), install_var_field(), install_var_field(), layout_decl(), layout_type(), lhd_simulate_enum_decl(), lookup_field_for_decl(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), may_be_unaligned_p(), maybe_canonicalize_mem_ref_addr(), min_align_of_type(), ipa_param_adjustments::modify_call(), nonoverlapping_array_refs_p(), offset_int_type_size_in_bits(), omp_finish_file(), operand_compare::operand_equal_p(), optimize_bit_field_compare(), pack_ts_type_common_value_fields(), place_field(), print_node(), prune_ref_by_group_reuse(), replace_ref(), rewrite_use_address(), scan_sharing_clauses(), set_mem_attributes_minus_bitpos(), set_parm_rtl(), simple_type_align_in_bits(), simple_type_size_in_bits(), sjlj_build_landing_pads(), start_record_layout(), std_gimplify_va_arg_expr(), target_align(), type_variants_equivalent_p(), unpack_ts_type_common_value_fields(), update_alignment_for_field(), vectorizable_load(), vectorizable_store(), and verify_opaque_type().
#define TYPE_ALIGN_RAW | ( | NODE | ) |
Raw access to the alignment field.
#define TYPE_ALIGN_UNIT | ( | NODE | ) |
The alignment for NODE, in bytes.
Referenced by array_ref_element_size(), build_printable_array_type(), compute_alias_check_pairs(), copy_reference_ops_from_ref(), create_array_ref(), default_cxx_get_cookie_size(), expand_omp_atomic(), expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), finalize_record_size(), finalize_type_size(), finish_taskreg_scan(), get_related_vectype_for_scalar_type(), gimplify_compound_lval(), gimplify_scan_omp_clauses(), go_format_type(), infer_loop_bounds_from_pointer_arith(), layout_type(), lower_coro_builtin(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), oacc_do_neutering(), omp_clause_aligned_alignment(), ompdevlow_adjust_simt_enter(), and vect_known_alignment_in_bytes().
#define TYPE_ARG_TYPES | ( | NODE | ) |
Referenced by block_move_libcall_safe_for_call_parm(), build_adjusted_function_type(), build_builtin_expect_predicate(), build_function_type(), build_method_type(), build_method_type_directly(), ipa_param_adjustments::build_new_function_type(), build_tm_store(), builtin_mathfn_code(), can_strub_internally_p(), check_fnspec(), ipa_param_body_adjustments::common_initialization(), count_num_arguments(), decl_class_context(), decl_function_context(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_function_declaration(), eliminate_dom_walker::eliminate_stmt(), type_cache_hasher::equal(), ipa_icf::sem_function::equals_wpa(), expand_builtin_int_roundingfn_2(), expand_call(), expand_omp_atomic_store(), expand_simd_clones(), fold_builtin_atomic_compare_exchange(), ccp_folder::fold_stmt(), function_args_iter_init(), get_call_args(), gimple_builtin_call_types_compatible_p(), gimple_canonical_types_compatible_p(), gimple_fold_call(), gimplify_call_expr(), gimplify_init_ctor_preeval_1(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strcpy(), hash_tree(), instrument_builtin_call(), ipa_get_callee_param_type(), lower_omp_task_reductions(), lower_resx(), lto_input_ts_type_non_common_tree_pointers(), make_dispatcher_decl(), maybe_diag_incompatible_alias(), maybe_remove_unused_call_args(), ipa_param_body_adjustments::modify_formal_parameters(), obj_type_ref_class(), odr_or_derived_type_p(), odr_types_equivalent_p(), ok_for_auto_simd_clone(), optimize_atomic_compare_exchange_p(), prepare_call_arguments(), print_node(), prototype_p(), push_function_arg_types(), reconstruct_complex_type(), cgraph_edge::redirect_call_stmt_to_callee(), remap_type_1(), rt_bb_visited::rt_bb_visited(), simd_clone_adjust_argument_types(), simd_clone_vector_of_formal_parm_types(), thunk_adjust(), tree_builtin_call_types_compatible_p(), type_hash_canon_hash(), type_num_arguments(), useless_type_conversion_p(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), verify_type(), verify_type_variant(), walk_type_fields(), warn_types_mismatch(), and write_ts_type_non_common_tree_pointers().
#define TYPE_ARRAY_MAX_SIZE | ( | ARRAY_TYPE | ) |
If non-NULL, this is an upper bound of the size (in bytes) of an object of the given ARRAY_TYPE_NON_COMMON. This allows temporaries to be allocated.
Referenced by max_int_size_in_bytes(), safe_from_p(), verify_type(), and verify_type_variant().
#define TYPE_ARTIFICIAL | ( | NODE | ) |
Used to indicate that this TYPE represents a compiler-generated entity.
Referenced by asan_global_struct(), finalize_record_size(), hash_tree(), modified_type_die(), need_assembler_name_p(), oacc_do_neutering(), ompdevlow_adjust_simt_enter(), pack_ts_base_value_fields(), place_field(), scan_omp_parallel(), scan_omp_target(), scan_omp_task(), scan_omp_teams(), ubsan_create_data(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), unpack_ts_base_value_fields(), and verify_type_variant().
#define TYPE_ATOMIC | ( | NODE | ) |
Nonzero in a type considered atomic as a whole.
Referenced by gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), plausible_type_for_simd_clone(), print_node(), set_type_quals(), simd_clone_clauses_extract(), ubsan_type_descriptor(), and use_pointer_for_field().
#define TYPE_ATTRIBUTES | ( | NODE | ) |
A TREE_LIST of IDENTIFIER nodes of the attributes that apply to this type.
Referenced by alloc_object_size(), build_adjusted_function_type(), build_pointer_type_for_mode(), build_reference_type_for_mode(), build_type_attribute_qual_variant(), check_aligned_type(), strlen_pass::check_and_optimize_call(), check_base_type(), comp_type_attributes(), compute_fn_summary(), decl_attributes(), decl_fnspec(), decls_mismatched_attributes(), DFS::DFS_write_tree_body(), diag_attr_exclusions(), do_warn_unused_result(), dump_function_to_file(), type_cache_hasher::equal(), error_unavailable_use(), evaluate_stmt(), flags_from_decl_or_type(), get_attrs_for(), get_nonnull_args(), get_parm_access(), get_strub_attr_from_type(), gimple_build_call_from_tree(), gimple_call_alloc_size(), gimple_call_fnspec(), gimple_call_nonnull_result_p(), gimple_infer_range::gimple_infer_range(), handle_warn_if_not_align(), hash_tree(), infer_nonnull_range_by_attribute(), lto_input_ts_type_common_tree_pointers(), make_node(), make_vector_type(), maybe_warn_pass_by_reference(), maybe_warn_read_write_only(), merge_type_attributes(), nonnull_arg_p(), print_node(), reconstruct_complex_type(), remap_type_1(), strub_set_fndt_mode_to(), surely_varying_stmt_p(), tree_expr_nonzero_warnv_p(), type_hash_canon_hash(), unlikely_executed_stmt_p(), useless_type_conversion_p(), validate_arglist(), warn_deprecated_use(), and write_ts_type_common_tree_pointers().
#define TYPE_BINFO | ( | NODE | ) |
For record and union types, information about this type, as a base type for itself.
Referenced by add_type_duplicate(), build_type_inheritance_graph(), compare_virtual_tables(), contains_polymorphic_type_p(), decl_maybe_in_construction_p(), dequeue_and_dump(), detect_type_change_from_memory_writes(), extr_type_from_vtbl_ptr_store(), ipa_polymorphic_call_context::get_dynamic_type(), get_odr_type(), inbounds_memaccess_p(), odr_types_equivalent_p(), polymorphic_type_binfo_p(), possible_placement_new(), possible_polymorphic_call_targets(), possible_polymorphic_call_targets_1(), record_known_type(), record_targets_from_bases(), register_odr_type(), ipa_polymorphic_call_context::restrict_to_inner_class(), set_type_binfo(), type_possibly_instantiated_p(), verify_bb_vtables(), verify_type(), verify_type_variant(), virtual_method_call_p(), and vtable_pointer_value_to_binfo().
#define TYPE_CACHED_VALUES | ( | NODE | ) |
Referenced by cache_integer_cst(), cache_wide_int_in_type_cache(), copy_node(), type_hash_canon(), and verify_type().
#define TYPE_CACHED_VALUES_P | ( | NODE | ) |
In a _TYPE, indicates whether TYPE_CACHED_VALUES contains a vector of cached values, or is something else.
Referenced by cache_integer_cst(), cache_wide_int_in_type_cache(), copy_node(), type_hash_canon(), and verify_type().
#define TYPE_CANONICAL | ( | NODE | ) |
The "canonical" type for this type node, which is used by frontends to compare the type for equality with another type. If two types are equal (based on the semantics of the language), then they will have equivalent TYPE_CANONICAL entries. As a special case, if TYPE_CANONICAL is NULL_TREE, and thus TYPE_STRUCTURAL_EQUALITY_P is true, then it cannot be used for comparison against other types. Instead, the type is said to require structural equality checks, described in TYPE_STRUCTURAL_EQUALITY_P. For unqualified aggregate and function types the middle-end relies on TYPE_CANONICAL to tell whether two variables can be assigned to each other without a conversion. The middle-end also makes sure to assign the same alias-sets to the type partition with equal TYPE_CANONICAL of their unqualified variants.
Referenced by build_array_type_1(), build_complex_type(), build_distinct_type_copy(), build_duplicate_type(), build_function_type(), build_method_type_directly(), build_offset_type(), build_opaque_vector_type(), build_pointer_type_for_mode(), build_qualified_type(), build_reference_type_for_mode(), build_type_attribute_qual_variant(), build_variant_type_copy(), get_alias_set(), get_odr_type(), gimple_canonical_types_compatible_p(), lto_input_ts_type_common_tree_pointers(), lto_read_body_or_constructor(), make_node(), make_vector_type(), maybe_canonicalize_argtypes(), ncr_type_uid(), obj_type_ref_class(), pack_ts_type_common_value_fields(), print_node(), same_strub_mode_in_variants_p(), same_type_for_tbaa(), set_type_canonical_for_odr_type(), types_equal_for_same_type_for_tbaa_p(), useless_type_conversion_p(), verify_opaque_type(), and verify_type().
#define TYPE_CHECK | ( | T | ) |
#define TYPE_CONTAINS_PLACEHOLDER_INTERNAL | ( | NODE | ) |
Used by type_contains_placeholder_p to avoid recomputation. Values are: 0 (unknown), 1 (false), 2 (true). Never access this field directly.
Referenced by type_contains_placeholder_p().
#define TYPE_CONTEXT | ( | NODE | ) |
Referenced by add_pubtype(), build_adjusted_function_type(), check_aligned_type(), check_base_type(), declare_in_namespace(), DFS::DFS_write_tree_body(), dump_type_inheritance_graph(), get_containing_scope(), hash_tree(), loc_list_from_tree_1(), lto_input_ts_type_common_tree_pointers(), maybe_create_die_with_external_ref(), new_die(), print_node(), type_with_linkage_p(), verify_type_variant(), and write_ts_type_common_tree_pointers().
#define TYPE_CXX_ODR_P | ( | NODE | ) |
If set for RECORD_TYPE or UNION_TYPE it indicates that the type conforms to the C++ one definition rule. This is used for LTO canonical type computation.
Referenced by hash_tree(), need_assembler_name_p(), pack_ts_type_common_value_fields(), print_node(), unpack_ts_type_common_value_fields(), and verify_type_variant().
#define TYPE_DECL_SUPPRESS_DEBUG | ( | NODE | ) |
In a TYPE_DECL nonzero means the detail info about this type is not dumped into stabs. Instead it will generate cross reference ('x') of names. This uses the same flag as DECL_EXTERNAL.
Referenced by print_node().
#define TYPE_DOMAIN | ( | NODE | ) |
Referenced by addr_object_size(), array_ref_flexible_size_p(), array_ref_low_bound(), array_ref_up_bound(), array_size_for_constructor(), array_type_nelts_minus_one(), build_array_type_1(), build_fn_info(), build_info(), build_user_friendly_ref_for_offset(), canonicalize_addr_expr(), cheap_array_ref_low_bound(), array_bounds_checker::check_addr_expr(), component_ref_sam_type(), create_component_ref_by_pieces_1(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_generic_node(), type_cache_hasher::equal(), expand_omp_target(), find_constructor_constant_at_offset(), flexible_array_member_p(), flexible_array_type_p(), fold_array_ctor_reference(), fold_indirect_ref_1(), get_array_ctor_element_at_index(), get_range_strlen_tree(), gimple_canonical_types_compatible_p(), gimple_fold_indirect_ref(), gimple_get_virt_method_for_vtable(), gimplify_init_ctor_eval(), gimplify_scan_omp_clauses(), gimplify_type_sizes(), go_format_type(), hash_tree(), is_empty_type(), layout_type(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lto_input_ts_type_non_common_tree_pointers(), maybe_warn_nonstring_arg(), native_encode_initializer(), native_interpret_aggregate(), note_nonlocal_vla_type(), odr_types_equivalent_p(), omp_firstprivatize_type_sizes(), output_constructor(), output_constructor_regular_field(), prepare_iteration_over_array_elts(), print_declaration(), print_node(), range_in_array_bounds_p(), reconstruct_complex_type(), remap_type_1(), remap_type_2(), rtl_for_decl_init(), simd_clone_adjust(), simd_clone_init_simd_arrays(), store_constructor(), totally_scalarizable_type_p(), totally_scalarize_subtree(), type_contains_placeholder_1(), type_hash_canon_hash(), ubsan_type_descriptor(), useless_type_conversion_p(), valueize_refs_1(), verify_type(), verify_type_variant(), vn_reference_may_trap(), walk_type_fields(), warn_types_mismatch(), and write_ts_type_non_common_tree_pointers().
#define TYPE_EMPTY_P | ( | NODE | ) |
Nonzero if this type is "empty" according to the particular psABI.
Referenced by aggregate_value_p(), arg_int_size_in_bytes(), arg_size_in_bytes(), assign_parm_setup_block(), assign_parm_setup_stack(), assign_parms(), compute_argument_addresses(), expand_function_end(), finalize_type_size(), hash_tree(), must_pass_in_stack_var_size_or_pad(), pack_ts_type_common_value_fields(), std_gimplify_va_arg_expr(), store_one_arg(), and unpack_ts_type_common_value_fields().
#define TYPE_FBIT | ( | NODE | ) |
#define TYPE_FIELDS | ( | NODE | ) |
Referenced by access_and_field_type_match_p(), asan_add_global(), asan_global_struct(), build_fn_info(), build_info(), build_user_friendly_ref_for_offset(), clear_padding_type(), clear_padding_union(), complete_ctor_at_level_p(), compute_record_mode(), contains_pointers_p(), contains_polymorphic_type_p(), count_type_elements(), create_odr_indicator(), create_task_copyfn(), default_emutls_var_init(), delete_omp_context(), dequeue_and_dump(), DFS::DFS_write_tree_body(), type_cache_hasher::equal(), field_at_offset(), fields_length(), finalize_nesting_tree_1(), finish_bitfield_layout(), finish_builtin_struct(), finish_taskreg_scan(), first_field(), fixup_child_record_type(), flexible_array_type_p(), get_binfo_at_offset(), get_descriptor_type(), get_emutls_object_type(), get_trampoline_type(), gimple_canonical_types_compatible_p(), gimplify_type_sizes(), go_format_type(), hash_tree(), init_eh(), insert_field_into_struct(), install_var_field(), is_empty_type(), last_field(), layout_type(), lower_omp_target(), lower_omp_task_reductions(), lower_send_shared_vars(), lto_input_ts_type_non_common_tree_pointers(), native_encode_initializer(), native_interpret_aggregate(), odr_types_equivalent_p(), omp_firstprivatize_type_sizes(), output_constructor(), print_node(), print_struct_decl(), push_fields_onto_fieldstack(), record_common_node(), record_component_aliases(), record_targets_from_bases(), register_odr_type(), remap_type_1(), remap_type_2(), ipa_polymorphic_call_context::restrict_to_inner_class(), scan_omp_parallel(), scan_omp_single(), scan_omp_target(), scan_omp_task(), scan_omp_teams(), scan_sharing_clauses(), stack_protect_classify_type(), task_copyfn_remap_type(), totally_scalarizable_type_p(), totally_scalarize_subtree(), tracked_record_parameter_p(), type_contains_placeholder_1(), type_has_padding_at_level_p(), type_internals_preclude_sra_p_1(), type_like_member_ptr_p(), ubsan_create_data(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), variably_modified_type_p(), verify_type(), verify_type_variant(), walk_tree_1(), and write_ts_type_non_common_tree_pointers().
#define TYPE_FILE_SCOPE_P | ( | EXP | ) |
Nonzero for a type which is at file scope.
Referenced by hash_tree(), and verify_type_variant().
#define TYPE_FINAL_P | ( | NODE | ) |
Nonzero if RECORD_TYPE represents a final derivation of class.
Referenced by hash_tree(), pack_ts_type_common_value_fields(), possible_polymorphic_call_targets(), type_all_derivations_known_p(), type_known_to_have_no_derivations_p(), unpack_ts_type_common_value_fields(), and verify_type_variant().
#define TYPE_HASH | ( | TYPE | ) |
Here is how primitive or already-canonicalized types' hash codes are made.
Referenced by type_hash_canon_hash().
#define TYPE_IBIT | ( | NODE | ) |
#define TYPE_IDENTIFIER | ( | NODE | ) |
The IDENTIFIER_NODE associated with the TYPE_NAME field.
Referenced by dump_generic_node(), gen_block_die(), gen_type_die(), go_format_type(), go_output_typedef(), is_cxx_auto(), modified_type_die(), and subrange_type_for_debug_p().
#define TYPE_INCLUDES_FLEXARRAY | ( | NODE | ) |
True if this RECORD_TYPE or UNION_TYPE includes a flexible array member as the last field recursively.
Referenced by addr_object_size(), pack_ts_type_common_value_fields(), print_node(), and unpack_ts_type_common_value_fields().
#define TYPE_INDIVISIBLE_P | ( | NODE | ) |
True if the type is indivisible at the source level, i.e. if its component parts cannot be accessed directly. This is used to suppress normal GNU extensions for target-specific vector types.
#define TYPE_LANG_FLAG_0 | ( | NODE | ) |
These flags are available for each language front end to use internally.
Referenced by lto_variably_modified_type_p(), pack_ts_type_common_value_fields(), print_node(), and unpack_ts_type_common_value_fields().
#define TYPE_LANG_FLAG_1 | ( | NODE | ) |
Referenced by print_node().
#define TYPE_LANG_FLAG_2 | ( | NODE | ) |
Referenced by print_node().
#define TYPE_LANG_FLAG_3 | ( | NODE | ) |
Referenced by print_node().
#define TYPE_LANG_FLAG_4 | ( | NODE | ) |
Referenced by print_node().
#define TYPE_LANG_FLAG_5 | ( | NODE | ) |
Referenced by print_node().
#define TYPE_LANG_FLAG_6 | ( | NODE | ) |
Referenced by print_node().
#define TYPE_LANG_FLAG_7 | ( | NODE | ) |
Referenced by print_node().
#define TYPE_LANG_SLOT_1 | ( | NODE | ) |
For types, used in a language-dependent way.
Referenced by verify_type().
#define TYPE_LANG_SPECIFIC | ( | NODE | ) |
#define TYPE_MAIN_VARIANT | ( | NODE | ) |
Referenced by access_and_field_type_match_p(), add_type_duplicate(), alias_ptr_types_compatible_p(), tree_switch_conversion::switch_conversion::array_value_type(), build_aligned_type(), build_complex_type(), build_distinct_type_copy(), build_method_type_directly(), build_offset_type(), build_opaque_vector_type(), build_printable_array_type(), build_type_attribute_qual_variant(), build_type_inheritance_graph(), build_variant_type_copy(), build_vector_from_val(), canonicalize_addr_expr(), canonicalize_component_ref(), check_stmt_for_type_change(), ipa_polymorphic_call_context::clear_outer_type(), constant_byte_string(), contains_polymorphic_type_p(), contains_type_p(), contains_vce_or_bfcref_p(), convert_to_complex_1(), create_access_replacement(), create_tmp_from_val(), decl_attributes(), decl_class_context(), decl_function_context(), decl_maybe_in_construction_p(), default_is_empty_record(), dequeue_and_dump(), detect_type_change_from_memory_writes(), DFS::DFS_write_tree_body(), do_mpfr_lgamma_r(), do_mpfr_remquo(), dump_generic_node(), dump_mem_ref(), dump_possible_polymorphic_call_targets(), odr_name_hasher::equal(), expand_omp_atomic(), expand_omp_atomic_cas(), expand_omp_atomic_pipeline(), expand_thunk(), expand_vector_conversion(), finalize_type_size(), fold_builtin_frexp(), fold_builtin_modf(), fold_convert_loc(), fold_convertible_p(), ccp_folder::fold_stmt(), fold_unary_loc(), force_decl_die(), get_alias_set(), ipa_polymorphic_call_context::get_dynamic_type(), get_nearest_type_subqualifiers(), get_odr_type(), get_qualified_type(), gimple_canonical_types_compatible_p(), gimple_fold_builtin_memory_op(), gimple_signed_or_unsigned_type(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_omp_atomic(), gimplify_omp_taskloop_expr(), gimplify_type_sizes(), go_output_typedef(), handle_mem_ref(), hash_odr_name(), operand_compare::hash_operand(), hash_tree(), int_size_in_bytes(), internal_get_tmp_var(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), is_va_list_type(), layout_type(), lhd_types_compatible_p(), local_tree_p(), lower_coro_builtin(), lto_input_ts_type_common_tree_pointers(), lto_read_body_or_constructor(), lto_variably_modified_type_p(), make_node(), make_ssa_name_fn(), make_vector_type(), mathfn_built_in_2(), maybe_canonicalize_mem_ref_addr(), maybe_warn_nonstring_arg(), modified_type_die(), ipa_param_body_adjustments::modify_call_stmt(), need_assembler_name_p(), odr_or_derived_type_p(), odr_subtypes_equivalent_p(), odr_types_equivalent_p(), omp_firstprivatize_type_sizes(), operand_compare::operand_equal_p(), optimize_stdarg_builtin(), optimize_va_list_gpr_fpr_size(), pack_ts_type_common_value_fields(), possible_polymorphic_call_targets(), record_known_type(), reference_alias_ptr_type(), reference_alias_ptr_type_1(), register_odr_type(), remap_type_1(), ipa_polymorphic_call_context::restrict_to_inner_class(), rt_bb_visited::rt_bb_visited(), same_access_path_p(), same_strub_mode_in_variants_p(), same_type_for_tbaa(), ipa_polymorphic_call_context::set_by_decl(), should_emit_struct_debug(), size_in_bytes_loc(), stack_protect_classify_type(), std_canonical_va_list_type(), substitute_placeholder_in_expr(), tree_builtin_call_types_compatible_p(), type_hash_canon(), type_main_variant(), type_with_linkage_p(), types_equal_for_same_type_for_tbaa_p(), types_match(), types_must_be_same_for_odr(), types_odr_comparable(), types_same_for_odr(), ubsan_type_descriptor(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), used_types_insert(), useless_type_conversion_p(), verify_bb_vtables(), verify_opaque_type(), verify_type(), verify_type_variant(), vn_reference_op_eq(), warn_deprecated_use(), warn_odr(), warn_types_mismatch(), and write_ts_type_common_tree_pointers().
#define TYPE_MAX_VALUE | ( | NODE | ) |
Referenced by access_ref::add_max_offset(), access_ref::add_offset(), addr_object_size(), adjusted_warn_limit(), array_ref_flexible_size_p(), array_ref_up_bound(), array_type_nelts_minus_one(), assert_loop_rolls_lt(), assert_no_overflow_lt(), build_bitint_type(), build_common_tree_nodes(), build_fn_info(), build_info(), build_nonstandard_integer_type(), build_range_type_1(), array_bounds_checker::check_addr_expr(), component_ref_sam_type(), dequeue_and_dump(), derive_constant_upper_bound_ops(), determine_block_size(), dr_step_indicator(), dump_array_domain(), tree_switch_conversion::jump_table_cluster::emit(), type_cache_hasher::equal(), expand_omp_target(), flexible_array_member_p(), flexible_array_type_p(), fold_comparison(), fold_convert_const_int_from_real(), fold_div_compare(), pass_walloca::gate(), get_array_ctor_element_at_index(), get_offset_range(), get_range_strlen_tree(), get_size_range(), get_stridx(), get_type_static_bounds(), get_up_bounds_for_array_ref(), gimple_call_alloc_size(), gimple_canonical_types_compatible_p(), gimplify_scan_omp_clauses(), gimplify_type_sizes(), go_format_type(), handle_array_ref(), strlen_pass::handle_builtin_strlen(), handle_mem_ref(), access_ref::inform_access(), init_offset_limit(), instrument_bool_enum_load(), int_fits_type_p(), layout_decl(), layout_type(), lhd_simulate_enum_decl(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), make_range_step(), max_object_size(), maybe_canonicalize_comparison_1(), maybe_diag_stxncpy_trunc(), maybe_set_strlen_range(), maybe_warn_nonstring_arg(), merge_ranges(), native_encode_initializer(), native_interpret_aggregate(), note_nonlocal_vla_type(), number_of_iterations_le(), number_of_iterations_lt_to_ne(), number_of_iterations_ne(), number_of_iterations_until_wrap(), odr_types_equivalent_p(), access_ref::offset_bounded(), access_ref::offset_in_range(), omp_extract_for_data(), omp_firstprivatize_type_sizes(), omp_reduction_init_op(), optimize_range_tests_1(), optimize_range_tests_diff(), optimize_range_tests_to_bit_test(), optimize_range_tests_xor(), optimize_spaceship(), output_constructor_regular_field(), prepare_iteration_over_array_elts(), preprocess_case_label_vec_for_gimple(), print_node(), range_check_type(), range_in_array_bounds_p(), range_successor(), refine_bounds_using_guard(), remap_type_1(), remap_type_2(), rtl_for_decl_init(), set_component_ref_size(), set_min_and_max_values_for_integral_type(), irange::set_nonnegative(), set_switch_stmt_execution_predicate(), simd_clone_adjust(), simd_clone_init_simd_arrays(), size_initval(), size_unknown(), store_constructor(), subrange_type_for_debug_p(), test_for_singularity(), totally_scalarizable_type_p(), try_transform_to_exit_first_loop_alt(), type_contains_placeholder_1(), type_hash_canon(), type_hash_canon_hash(), ubsan_type_descriptor(), useless_type_conversion_p(), valid_constant_size_p(), valueize_refs_1(), variably_modified_type_p(), vect_do_peeling(), vect_min_prec_for_max_niters(), vectorizable_reduction(), verify_type_variant(), vn_reference_may_trap(), walk_tree_1(), and warn_types_mismatch().
#define TYPE_MAX_VALUE_RAW | ( | NODE | ) |
Referenced by DFS::DFS_write_tree_body(), hash_tree(), lto_input_ts_type_non_common_tree_pointers(), verify_type(), and write_ts_type_non_common_tree_pointers().
#define TYPE_METHOD_BASETYPE | ( | NODE | ) |
Referenced by build_method_type_directly(), build_type_inheritance_graph(), check_stmt_for_type_change(), compound_type_base(), decl_maybe_in_construction_p(), dequeue_and_dump(), dump_generic_node(), type_cache_hasher::equal(), ipa_icf::sem_function::equals_wpa(), odr_or_derived_type_p(), print_node(), type_hash_canon_hash(), ubsan_type_descriptor(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), update_type_inheritance_graph(), useless_type_conversion_p(), verify_type(), verify_type_variant(), walk_polymorphic_call_targets(), walk_polymorphic_call_targets(), and walk_type_fields().
#define TYPE_MIN_VALUE | ( | NODE | ) |
Referenced by array_ref_flexible_size_p(), array_ref_low_bound(), array_size_for_constructor(), array_type_nelts_minus_one(), assert_loop_rolls_lt(), assert_no_overflow_lt(), build_common_tree_nodes(), build_range_type_1(), build_user_friendly_ref_for_offset(), canonicalize_addr_expr(), cheap_array_ref_low_bound(), array_bounds_checker::check_addr_expr(), component_ref_sam_type(), create_component_ref_by_pieces_1(), dequeue_and_dump(), determine_block_size(), dr_step_indicator(), dump_array_domain(), dump_generic_node(), type_cache_hasher::equal(), expand_neg_overflow(), expand_omp_for_generic(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), find_constructor_constant_at_offset(), flexible_array_member_p(), fold_array_ctor_reference(), fold_comparison(), fold_convert_const_int_from_real(), fold_div_compare(), fold_indirect_ref_1(), get_array_ctor_element_at_index(), get_offset_range(), get_size_range(), get_type_static_bounds(), gimple_canonical_types_compatible_p(), gimple_fold_indirect_ref(), gimple_get_virt_method_for_vtable(), gimplify_type_sizes(), go_format_type(), access_ref::inform_access(), instrument_bool_enum_load(), int_fits_type_p(), layout_type(), simplify_using_ranges::legacy_fold_cond_overflow(), lhd_simulate_enum_decl(), make_range_step(), maybe_canonicalize_comparison_1(), merge_ranges(), native_encode_initializer(), note_nonlocal_vla_type(), number_of_iterations_le(), number_of_iterations_lt_to_ne(), number_of_iterations_ne(), odr_types_equivalent_p(), access_ref::offset_bounded(), omp_extract_for_data(), omp_firstprivatize_type_sizes(), omp_reduction_init_op(), optimize_range_tests_1(), optimize_range_tests_diff(), optimize_range_tests_to_bit_test(), optimize_range_tests_xor(), optimize_spaceship(), output_constructor(), prepare_iteration_over_array_elts(), preprocess_case_label_vec_for_gimple(), print_node(), range_check_type(), range_in_array_bounds_p(), range_predecessor(), refine_bounds_using_guard(), remap_type_1(), remap_type_2(), rtl_for_decl_init(), set_min_and_max_values_for_integral_type(), set_switch_stmt_execution_predicate(), store_constructor(), subrange_type_for_debug_p(), test_for_singularity(), totally_scalarizable_type_p(), type_contains_placeholder_1(), type_hash_canon(), type_hash_canon_hash(), useless_type_conversion_p(), variably_modified_type_p(), vect_emulate_mixed_dot_prod(), vectorizable_reduction(), verify_type_variant(), and walk_tree_1().
#define TYPE_MIN_VALUE_RAW | ( | NODE | ) |
Referenced by DFS::DFS_write_tree_body(), hash_tree(), lto_input_ts_type_non_common_tree_pointers(), and write_ts_type_non_common_tree_pointers().
#define TYPE_MODE | ( | NODE | ) |
Referenced by add_autoinc_candidates(), add_iv_candidate_for_doloop(), add_iv_candidate_for_use(), add_mask_else_and_len_args(), add_rshift(), addr_offset_valid_p(), adjust_pointer_diff_expr(), aggregate_value_p(), align_local_variable(), analyze_candidates_and_replace(), ao_ref_init_from_vn_reference(), apply_pass_by_reference_rules(), array_elt_at_offset(), tree_switch_conversion::switch_conversion::array_value_type(), asan_emit_stack_protection(), assemble_asm(), assign_parm_find_data_types(), assign_parm_setup_reg(), assign_parms(), assign_temp(), associated_internal_fn(), avoid_type_punning_on_regs(), base_type_die(), block_move_libcall_safe_for_call_parm(), tree_switch_conversion::switch_conversion::build_arrays(), build_constant_desc(), build_debug_expr_decl(), build_gt(), build_lt(), build_minus_one_cst(), build_one_cst(), build_pointer_type_for_mode(), build_range_type_1(), build_real(), build_real_from_wide(), build_real_truncate(), build_reference_type_for_mode(), build_sinatan_real(), build_truth_vector_type_for(), build_zero_cst(), calc_perm_vec_perm_simplify_seqs(), can_duplicate_and_interleave_p(), check_load_store_for_partial_vectors(), check_pow(), check_scan_store(), check_target_format(), classify_builtin_st(), clear_padding_real_needs_padding_p(), compare_by_pieces(), compare_constant(), computation_cost(), compute_array_mode(), compute_record_mode(), const_binop(), const_vector_from_tree(), const_vector_mask_from_tree(), convert_expand_mult_copysign(), convert_mult_to_highpart(), convert_optab_supported_p(), convert_to_fixed(), convert_to_integer_1(), convert_to_real_1(), copy_blkmode_to_reg(), copy_decl_for_dup_finish(), strlen_pass::count_nonzero_bytes(), create_convert_operand_from_type(), create_mem_ref_raw(), default_preferred_div_as_shifts_over_mult(), default_ref_may_alias_errno(), default_return_in_memory(), default_vector_alignment(), detach_value(), determine_iv_cost(), direct_optab_supported_p(), directly_supported_p(), directly_supported_p(), discover_nonconstant_array_refs_r(), divmod_candidate_p(), do_compare_and_jump(), do_jump(), do_jump_1(), do_mpc_arg2(), do_mpc_ckconv(), do_mpfr_ckconv(), do_mpfr_lgamma_r(), do_mpfr_remquo(), do_negate(), do_plus_minus(), do_store_flag(), dump_generic_node(), dump_mem_ref(), element_mode(), emit_block_cmp_via_loop(), emit_block_op_via_libcall(), emit_library_call_value_1(), type_cache_hasher::equal(), ipa_icf::sem_variable::equals(), estimate_move_cost(), exact_inverse(), excess_precision_type(), execute_cse_reciprocals_1(), execute_update_addresses_taken(), expand_asm_stmt(), expand_assignment(), expand_BITINTTOFLOAT(), expand_builtin(), expand_builtin_cexpi(), expand_builtin_fabs(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_interclass_mathfn(), expand_builtin_issignaling(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), expand_builtin_memcmp(), expand_builtin_memset_args(), expand_builtin_powi(), expand_builtin_signbit(), expand_builtin_sincos(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_builtin_unop(), expand_call(), expand_cmpstrn_or_cmpmem(), expand_complex_libcall(), expand_cond_expr_using_cmove(), expand_constructor(), expand_convert_optab_fn(), expand_crc_optab_fn(), expand_debug_expr(), expand_DEFERRED_INIT(), expand_direct_optab_fn(), expand_DIVMOD(), expand_doubleword_mod(), expand_expr_addr_expr(), expand_expr_force_mode(), expand_expr_real_1(), expand_expr_real_2(), expand_expr_real_gassign(), expand_FLOATTOBITINT(), expand_fn_using_insn(), expand_function_end(), expand_function_start(), expand_gather_load_optab_fn(), expand_gimple_basic_block(), expand_gimple_stmt_1(), expand_GOMP_SIMT_LAST_LANE(), expand_GOMP_SIMT_ORDERED_PRED(), expand_GOMP_SIMT_VOTE_ANY(), expand_GOMP_SIMT_XCHG_BFLY(), expand_GOMP_SIMT_XCHG_IDX(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_op_fetch_cmp_0(), expand_load_lanes_optab_fn(), expand_omp_atomic(), expand_omp_atomic_cas(), expand_omp_atomic_fetch_op(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for_init_vars(), expand_one_ssa_partition(), expand_one_stack_var_at(), expand_one_var(), expand_partial_load_optab_fn(), expand_partial_store_optab_fn(), expand_POPCOUNT(), expand_pow_as_sqrts(), expand_RAWMEMCHR(), expand_return(), expand_scatter_store_optab_fn(), expand_sjlj_dispatch_table(), expand_SPACESHIP(), expand_speculation_safe_value(), expand_store_lanes_optab_fn(), expand_strided_load_optab_fn(), expand_strided_store_optab_fn(), expand_UADDC(), expand_unop(), expand_vec_cmp_expr(), expand_vec_cond_expr_p(), expand_vec_cond_mask_optab_fn(), expand_vec_set_optab_fn(), expand_vector_comparison(), expand_vector_condition(), expand_vector_conversion(), expand_vector_divmod(), expand_vector_operation(), expand_vector_operations_1(), expand_vector_parallel(), expand_vector_scalar_condition(), expand_vector_ubsan_overflow(), expand_while_optab_fn(), expand_widen_pattern_expr(), expr_size(), expression_expensive_p(), fill_vector_of_new_param_types(), finalize_must_preallocate(), finalize_type_size(), find_bitfield_repr_type(), float_widen_lhs_range(), frange::flush_denormals_to_zero(), fold_binary_loc(), fold_builtin_classify(), fold_builtin_fpclassify(), fold_builtin_inf(), fold_builtin_interclass_mathfn(), fold_const_builtin_nan(), fold_const_call_1(), fold_const_call_1(), fold_const_call_1(), fold_convert_const_real_from_real(), fold_plusminus_mult_expr(), cfn_sincos::fold_range(), cfn_sqrt::fold_range(), fold_read_from_constant_string(), fold_unary_loc(), force_expr_to_var_cost(), frange_arithmetic(), frange_mpfr_arg1(), gen_conditions_for_pow_cst_base(), generate_rawmemchr_builtin(), generate_strlen_builtin_using_rawmemchr(), get_address_cost(), get_call_args(), get_computation_cost(), get_compute_type(), get_inner_reference(), get_multi_vector_move(), get_no_error_domain(), get_ref_base_and_extent(), get_related_vectype_for_scalar_type(), get_same_sized_vectype(), get_vectype_for_scalar_type(), gimple_assign_unary_nop_p(), gimple_can_coalesce_p(), gimple_canonical_types_compatible_p(), gimple_expand_builtin_cabs(), gimple_expand_builtin_pow(), gimple_expand_vec_cond_expr(), gimple_expand_vec_set_extract_expr(), gimple_fold_builtin_memory_op(), gimple_fold_partial_load_store_mem_ref(), gimple_regimplify_operands(), gimple_signed_or_unsigned_type(), gimplify_expr(), gimplify_init_constructor(), gimplify_scalar_mode_aggregate_compare(), strlen_pass::handle_builtin_memcmp(), strlen_pass::handle_integral_assign(), hash_tree(), hashable_expr_equal_p(), hoist_adjacent_loads(), ifcvt_can_use_mask_load_store(), init_optabs(), initialize_argument_information(), initialize_sizetypes(), initializer_constant_valid_p_1(), inline_expand_builtin_bytecmp(), inline_string_cmp(), insert_debug_temp_for_var_def(), insert_value_copy_on_edge(), instrument_si_overflow(), int_binop_types_match_p(), integer_valued_real_single_p(), interclass_mathfn_icode(), interleave_supported_p(), internal_check_ptrs_fn_supported_p(), internal_gather_scatter_fn_supported_p(), frange::internal_singleton_p(), is_char_type(), is_truth_type_for(), frange::known_isdenormal_or_zero(), frange::known_isnormal(), layout_decl(), layout_type(), load_register_parameters(), loc_list_from_tree_1(), long_double_as_float128(), lower_oacc_reductions(), lower_vec_perm(), lto_read_tree_1(), make_debug_expr_from_rtl(), make_range_step(), make_tree(), match_arith_overflow(), match_uaddc_usubc(), may_be_unaligned_p(), maybe_emit_group_store(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), mem_ref_valid_without_offset_p(), merge_ranges(), mode_for_array(), most_expensive_mult_to_index(), multi_vector_optab_supported_p(), narrowing_initializer_constant_valid_p(), native_encode_real(), non_rewritable_lvalue_p(), nontemporal_store_p(), odr_types_equivalent_p(), omp_clause_aligned_alignment(), omp_reduction_init_op(), cfn_sincos::op1_range(), cfn_sqrt::op1_range(), operand_compare::operand_equal_p(), optimize_atomic_bit_test_and(), optimize_atomic_compare_exchange_p(), optimize_atomic_op_fetch_cmp_0(), optimize_bitfield_assignment_op(), optimize_pow_to_exp(), optimize_range_tests_diff(), optimize_range_tests_xor(), optimize_spaceship(), optimize_vector_constructor(), output_constant(), pass_by_reference(), perm_mask_for_reverse(), phi_incr_cost_1(), plausible_type_for_simd_clone(), precompute_arguments(), precompute_register_parameters(), predicate_statements(), prepare_call_arguments(), prepare_cmp_insn(), print_node(), vrange_printer::print_real_value(), process_assignment(), promote_ssa_mode(), propagate_with_phi(), vn_walk_cb_data::push_partial_def(), real_from_mpfr(), real_max_representable(), real_minus_onep(), real_onep(), real_value_from_int_cst(), real_zerop(), reassociate_bb(), recognise_vec_perm_simplify_seq(), reconstruct_complex_type(), remap_type_1(), remove_unused_ivs(), replace_uncond_cands_and_profitable_phis(), rtl_for_decl_init(), rtl_for_decl_location(), scan_store_can_perm_p(), frange::set(), set_parm_rtl(), set_reg_attrs_for_decl_rtl(), set_storage_via_libcall(), setup_incoming_promotions(), signed_or_unsigned_type_for(), avail_exprs_stack::simplify_binary_operation(), simplify_builtin_call(), simplify_using_ranges::simplify_float_conversion_using_ranges(), simplify_vector_constructor(), sjlj_build_landing_pads(), sjlj_emit_dispatch_table(), sjlj_emit_function_enter(), sjlj_mark_call_sites(), sort_by_mach_mode(), spaceship_replacement(), statement_sink_location(), std_gimplify_va_arg_expr(), stmt_cost(), store_constructor(), store_expr(), store_field(), store_one_arg(), strip_float_extensions(), supportable_convert_operation(), supportable_half_widening_operation(), supportable_indirect_convert_operation(), supportable_narrowing_operation(), supportable_widening_operation(), target_has_vecop_for_code(), target_supports_op_p(), loop_distribution::transform_reduction_loop(), tree_add_const_value_attribute(), tree_nop_conversion_p(), try_store_by_multiple_pieces(), try_tablejump(), type_for_widest_vector_mode(), type_has_mode_precision_p(), type_strictly_matches_mode_p(), types_risk_mangled_binary_repr_p(), ubsan_instrument_float_cast(), ubsan_type_descriptor(), undistribute_bitref_for_vector(), unpack_ts_type_common_value_fields(), use_register_for_decl(), useless_type_conversion_p(), valid_mem_ref_cand_p(), validate_test_and_branch(), vec_cmp_eq_icode_p(), vec_cmp_icode_p(), vect_build_all_ones_mask(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), vect_build_zero_merge_argument(), vect_check_gather_scatter(), vect_create_epilog_for_reduction(), vect_create_partial_epilog(), vect_determine_mask_precision(), vect_emulated_vector_p(), vect_enhance_data_refs_alignment(), vect_find_reusable_accumulator(), vect_gen_perm_mask_checked(), vect_get_loop_mask(), vect_get_vector_types_for_stmt(), vect_grouped_load_supported(), vect_grouped_store_supported(), vect_lanes_optab_supported_p(), vect_maybe_permute_loop_masks(), vect_model_reduction_cost(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_cast_forwprop_pattern(), vect_recog_cond_store_pattern(), vect_recog_divmod_pattern(), vect_recog_mult_pattern(), vect_recog_rotate_pattern(), vect_recog_vector_vector_shift_pattern(), vect_set_loop_condition_partial_vectors_avx512(), vect_shift_permute_load_chain(), vect_slp_region(), vect_supportable_direct_optab_p(), vect_supportable_dr_alignment(), vect_supportable_shift(), vect_synth_mult_by_constant(), vect_transform_cycle_phi(), vect_transform_grouped_load(), vect_transform_slp_perm_load_1(), vect_verify_full_masking_avx512(), vector_alignment_reachable_p(), vector_compare_rtx(), vector_vector_composition_type(), vectorizable_assignment(), vectorizable_bswap(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_early_exit(), vectorizable_live_operation(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_recurr(), vectorizable_reduction(), vectorizable_shift(), vectorizable_simd_clone_call(), vectorizable_slp_permutation_1(), vectorizable_store(), vectorized_internal_fn_supported_p(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_opaque_type(), verify_type(), verify_type_variant(), verify_types_in_gimple_reference(), vn_reference_eq(), vn_reference_lookup_3(), and vt_add_function_parameter().
#define TYPE_MODE_RAW | ( | NODE | ) |
Referenced by get_inner_reference(), lto_read_tree_1(), and pack_ts_type_common_value_fields().
#define TYPE_NAME | ( | NODE | ) |
Referenced by add_calling_convention_attribute(), add_type_duplicate(), asan_global_struct(), base_type_die(), build_complex_type(), check_aligned_type(), check_base_type(), compare_virtual_tables(), decl_attributes(), dequeue_and_dump(), DFS::DFS_write_tree_body(), dump_generic_node(), dump_odr_type(), dump_type_inheritance_graph(), odr_name_hasher::equal(), type_cache_hasher::equal(), error_unavailable_use(), finalize_nesting_tree_1(), finalize_record_size(), find_or_create_vtbl_map_node(), finish_builtin_struct(), fixup_child_record_type(), free_odr_warning_data(), generic_parameter_die(), get_descriptor_type(), get_emutls_object_type(), get_frame_type(), get_odr_name_for_type(), get_trampoline_type(), gimplify_type_sizes(), go_format_type(), go_output_typedef(), go_output_var(), go_type_decl(), hash_odr_name(), operand_compare::hash_operand(), hash_tree(), initialize_sizetypes(), ipa_devirt(), ipa_odr_summary_write(), lto_input_ts_type_common_tree_pointers(), member_declared_type(), modified_type_die(), need_assembler_name_p(), note_nonlocal_vla_type(), oacc_do_neutering(), odr_subtypes_equivalent_p(), odr_type_p(), print_node(), print_node_brief(), print_struct_decl(), remap_decl(), remap_vla_decls(), scan_omp_parallel(), scan_omp_single(), scan_omp_target(), scan_omp_task(), scan_omp_teams(), separate_decls_in_region(), strip_naming_typedef(), task_copyfn_remap_type(), type_all_derivations_known_p(), type_in_anonymous_namespace_p(), type_with_linkage_p(), typedef_variant_p(), types_same_for_odr(), ubsan_create_data(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), ubsan_type_descriptor(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), used_types_insert(), vtbl_map_get_node(), warn_deprecated_use(), warn_odr(), warn_types_mismatch(), and write_ts_type_common_tree_pointers().
#define TYPE_NAMELESS | ( | NODE | ) |
If nonzero, type's name shouldn't be emitted into debug info.
Referenced by member_declared_type(), and ompdevlow_adjust_simt_enter().
#define TYPE_NEEDS_CONSTRUCTING | ( | NODE | ) |
Indicates that objects of this type must be initialized by calling a function when they are created.
Referenced by analyze_functions(), omp_add_variable(), print_node(), and verify_type_variant().
#define TYPE_NEXT_PTR_TO | ( | NODE | ) |
Referenced by build_pointer_type_for_mode(), one_pointer_to_useless_type_conversion_p(), and verify_type().
#define TYPE_NEXT_REF_TO | ( | NODE | ) |
Referenced by build_reference_type_for_mode(), and verify_type().
#define TYPE_NEXT_VARIANT | ( | NODE | ) |
Referenced by build_aligned_type(), build_distinct_type_copy(), build_opaque_vector_type(), build_variant_type_copy(), decl_attributes(), finalize_type_size(), finish_record_layout(), get_nearest_type_subqualifiers(), get_qualified_type(), gimplify_type_sizes(), layout_type(), lto_read_body_or_constructor(), modified_type_die(), remap_type_1(), same_strub_mode_in_variants_p(), set_type_binfo(), and set_type_canonical_for_odr_type().
#define TYPE_NO_FORCE_BLK | ( | NODE | ) |
In a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE or ARRAY_TYPE, it means the type has BLKmode only because it lacks the alignment required for its size.
Referenced by compute_array_mode(), compute_record_mode(), gimplify_init_constructor(), layout_type(), and print_node().
#define TYPE_NO_NAMED_ARGS_STDARG_P | ( | NODE | ) |
True if this is a stdarg function with no named arguments (C23 (...) prototype, where arguments can be accessed with va_start and va_arg), as opposed to an unprototyped function.
Referenced by assign_parms(), build_function_type(), type_cache_hasher::equal(), expand_call(), gimple_canonical_types_compatible_p(), pack_ts_type_common_value_fields(), prototype_p(), reconstruct_complex_type(), stdarg_p(), and unpack_ts_type_common_value_fields().
#define TYPE_NONALIASED_COMPONENT | ( | NODE | ) |
For an ARRAY_TYPE, indicates that it is not permitted to take the address of a component of the type. This is the counterpart of DECL_NONADDRESSABLE_P for arrays, see the definition of this flag.
Referenced by ends_tbaa_access_path_p(), get_alias_set(), gimple_canonical_types_compatible_p(), hash_tree(), odr_types_equivalent_p(), pack_ts_type_common_value_fields(), print_node(), store_constructor(), unpack_ts_type_common_value_fields(), and verify_type_variant().
#define TYPE_OFFSET_BASETYPE | ( | NODE | ) |
Referenced by build_offset_type(), compound_type_base(), type_cache_hasher::equal(), print_node(), reconstruct_complex_type(), type_hash_canon_hash(), useless_type_conversion_p(), verify_type(), verify_type_variant(), and walk_type_fields().
#define TYPE_OVERFLOW_SANITIZED | ( | TYPE | ) |
True if an overflow is to be preserved for sanitization.
Referenced by extract_muldiv_1(), fold_binary_loc(), fold_negate_expr_1(), and negate_expr_p().
#define TYPE_OVERFLOW_TRAPS | ( | TYPE | ) |
True if overflow for the given integral type should issue a trap.
Referenced by compute_distributive_range(), convert_mult_to_fma(), divmod_candidate_p(), expand_simple_operations(), expand_vector_operation(), fold_binary_op_with_conditional_arg(), fold_negate_expr_1(), gimple_could_trap_p_1(), is_widening_mult_p(), maybe_resimplify_conditional_op(), nop_conversion_for_offset_p(), operation_no_trapping_overflow(), optab_for_tree_code(), split_constant_offset_1(), stmt_could_throw_1_p(), tree_could_trap_p(), and vn_nary_may_trap().
#define TYPE_OVERFLOW_UNDEFINED | ( | TYPE | ) |
True if overflow is undefined for the given integral or pointer type. We may optimize on the assumption that values in the type never overflow. IMPORTANT NOTE: Any optimization based on TYPE_OVERFLOW_UNDEFINED must issue a warning based on warn_strict_overflow. In some cases it will be appropriate to issue the warning immediately, and in other cases it will be appropriate to simply set a flag and let the caller decide whether a warning is appropriate or not.
Referenced by address_compare(), bb_no_side_effects_p(), chrec_convert_1(), chrec_fold_multiply(), compare_values_warnv(), compute_distributive_range(), expr_to_aff_combination(), extract_muldiv_1(), final_value_replacement_loop(), fold_binary_loc(), fold_comparison(), if_convertible_gimple_assign_stmt_p(), infer_loop_bounds_from_signedness(), interpret_rhs_expr(), is_nonwrapping_integer_induction(), make_range_step(), maybe_canonicalize_comparison_1(), maybe_optimize_sub_cmp_0(), move_computations_worker(), multiple_of_p(), nowrap_type_p(), number_of_iterations_ne_max(), operator_abs::op1_range(), operator_addr_expr::op1_range(), operator_addr_expr::op1_range(), operator_minus::overflow_free_p(), operator_mult::overflow_free_p(), operator_plus::overflow_free_p(), predicate_statements(), strip_offset_1(), loop_distribution::transform_reduction_loop(), tree_binary_nonnegative_warnv_p(), tree_binary_nonzero_warnv_p(), tree_unary_nonnegative_warnv_p(), update_range_test(), vect_recog_absolute_difference(), vect_recog_over_widening_pattern(), vectorize_slp_instance_root_stmt(), visit_nary_op(), operator_abs::wi_fold(), operator_mult::wi_fold(), operator_div::wi_op_overflows(), and operator_mult::wi_op_overflows().
#define TYPE_OVERFLOW_WRAPS | ( | TYPE | ) |
True if overflow wraps around for the given integral or pointer type. That is, TYPE_MAX + 1 == TYPE_MIN.
Referenced by adjust_op1_for_overflow(), can_reassociate_type_p(), chrec_apply(), chrec_evaluate(), do_narrow(), tree_switch_conversion::jump_table_cluster::emit(), expr_to_aff_combination(), extract_muldiv_1(), fold_binary_loc(), fold_bit_and_mask(), fold_cond_expr_with_comparison(), fold_negate_expr_1(), fold_plusminus_mult_expr(), pointer_plus_operator::fold_range(), fold_unary_loc(), follow_outer_ssa_edges(), instrument_si_overflow(), interpret_rhs_expr(), legal_cast_p_1(), operator_plus::lhs_op1_relation(), loc_list_from_tree_1(), minus_op1_op2_relation_effect(), negate_expr_p(), operator_mult::op1_range(), overflow_comparison_p_1(), parloops_needs_fold_left_reduction_p(), fold_using_range::range_of_address(), phi_group::refine_using_relation(), value_range_with_overflow(), vect_build_slp_tree_2(), vect_recog_absolute_difference(), vect_synth_mult_by_constant(), and visit_nary_op().
#define TYPE_P | ( | NODE | ) |
Nonzero if NODE represents a type.
Referenced by add_pubtype(), aggregate_value_p(), analyze_functions(), btf_mark_type_used(), computable_teams_clause(), copy_tree_body_r(), strlen_pass::count_nonzero_bytes(), decl_attributes(), decl_class_context(), decl_overlaps_hard_reg_set_p(), decompose_param_expr(), diagnose_tm_1_op(), dump_tree_via_hooks(), dump_type_inheritance_graph(), element_mode(), element_precision(), error_unavailable_use(), expand_omp_regimplify_p(), finalize_nrv_r(), find_non_realpart_uses(), find_var_from_fn(), flags_from_decl_or_type(), force_decl_die(), force_labels_r(), gen_generic_params_dies(), generic_parameter_die(), get_alias_set(), get_attrs_for(), get_containing_scope(), get_deref_alias_set(), get_deref_alias_set_1(), range_query::get_tree_range(), get_vec_alignment_for_type(), gimple_get_alias_set(), hash_tree(), value_range::init(), ipa_get_type(), ipa_simd_modify_stmt_ops(), is_tm_pure(), lower_private_allocate(), lto_read_body_or_constructor(), make_ssa_name_fn(), make_temp_ssa_name(), maybe_create_die_with_external_ref(), move_stmt_op(), note_simd_array_uses_cb(), omp_discover_declare_target_fn_r(), omp_discover_declare_target_tgt_fn_r(), omp_discover_declare_target_var_r(), output_ttype(), pack_ts_base_value_fields(), prepare_call_address(), print_node(), record_type_list(), remap_gimple_op_r(), remap_type_3(), replace_with_mapped_expr(), sbr_sparse_bitmap::sbr_sparse_bitmap(), sbr_vector::sbr_vector(), scan_omp_1_op(), set_mem_attributes_minus_bitpos(), tree_is_indexable(), types_match(), types_match(), types_same_for_odr(), unpack_ts_base_value_fields(), verify_type(), verify_type_context(), walk_make_indirect(), walk_tree_1(), and warn_deprecated_use().
#define TYPE_PACKED | ( | NODE | ) |
Indicated that objects of this type should be laid out in as compact a way as possible.
Referenced by build_aligned_type(), finalize_record_size(), finish_record_layout(), get_vec_alignment_for_record_type(), hash_tree(), pack_ts_type_common_value_fields(), place_field(), print_node(), start_record_layout(), unpack_ts_type_common_value_fields(), and verify_type_variant().
#define TYPE_POINTER_TO | ( | NODE | ) |
Referenced by build_distinct_type_copy(), build_pointer_type_for_mode(), one_pointer_to_useless_type_conversion_p(), print_node(), remap_type_1(), and verify_bb_vtables().
#define TYPE_PRECISION | ( | NODE | ) |
Referenced by add_candidate_1(), add_iv_candidate_for_biv(), equiv_oracle::add_partial_equiv(), add_standard_iv_candidates(), adjust_pointer_diff_expr(), irange_bitmask::adjust_range(), aff_combination_convert(), aff_combination_expand(), aff_combination_mult(), prange_storage::alloc(), alloc_object_size(), alloca_call_type(), analyze_access_subtree(), analyze_and_compute_bitwise_induction_effect(), analyze_subscript_affine_affine(), apply_return_prediction(), arith_overflow_check_p(), arith_overflowed_p(), tree_switch_conversion::switch_conversion::array_value_type(), assert_loop_rolls_lt(), assume_query::assume_query(), base_type_die(), bit_value_assume_aligned(), bit_value_binop(), bit_value_unop(), bitint_precision_kind(), bits_from_bytes(), bound_difference_of_offsetted_base(), bounds_add(), build2(), tree_switch_conversion::switch_conversion::build_arrays(), build_bitint_type(), build_call_internal(), build_cltz_expr(), build_common_tree_nodes(), tree_switch_conversion::switch_conversion::build_constructors(), build_int_cst(), build_int_cst_type(), build_int_cstu(), build_low_bits_mask(), build_nonstandard_boolean_type(), build_nonstandard_integer_type(), build_poly_int_cst(), build_popcount_expr(), build_range_check(), build_range_type_1(), build_replicated_int_cst(), cache_integer_cst(), can_log2(), format_helper::can_represent_integral_type_p(), canonicalize_loop_ivs(), ccp_finalize(), ccp_lattice_meet(), check_pow(), chrec_apply(), chrec_convert_1(), chrec_convert_aggressive(), clear_padding_bitint_needs_padding_p(), clear_padding_type(), compare_access_positions(), compare_constant(), compare_nonzero_chars(), compute_distributive_range(), compute_doloop_base_on_mode(), cond_removal_in_builtin_zero_pattern(), constant_byte_string(), tree_switch_conversion::switch_conversion::contains_linear_function_p(), contains_zero_p(), convert_affine_scev(), convert_mult_to_highpart(), convert_mult_to_widen(), convert_plusminus_to_widen(), convert_to_integer_1(), convert_to_pointer_1(), convert_to_real_1(), strlen_pass::count_nonzero_bytes(), create_waw_or_war_checks(), decode_field_reference(), define_builtin_macros_for_lp64(), define_builtin_macros_for_type_sizes(), dequeue_and_dump(), derive_constant_upper_bound_ops(), edge_info::derive_equivalences(), derive_simple_iv_with_niters(), desired_pro_or_demotion_p(), determine_common_wider_type(), do_jump(), do_narrow(), do_store_flag(), dump_generic_node(), dump_ternary_rhs(), element_precision(), eliminate_dom_walker::eliminate_stmt(), tree_switch_conversion::bit_test_cluster::emit(), tree_switch_conversion::jump_table_cluster::emit(), tree_switch_conversion::switch_decision_tree::emit(), iv_common_cand_hasher::equal(), type_cache_hasher::equal(), ipa_icf::sem_variable::equals(), evaluate_stmt(), expand_arith_overflow(), expand_arith_overflow_result_store(), expand_arith_set_overflow(), expand_case(), expand_expr_force_mode(), expand_expr_real_1(), expand_expr_real_2(), expand_gimple_cond(), expand_mul_overflow(), expand_oacc_for(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_taskloop_for_outer(), expand_single_bit_test(), expand_ubsan_result_store(), expand_vector_comparison(), expand_vector_condition(), expand_vector_divmod(), expr_not_equal_to(), expr_to_aff_combination(), wi::extended_tree< N >::extended_tree(), extract_bit_test_mask(), extract_muldiv_1(), factor_out_conditional_operation(), ranger_cache::fill_block_cache(), final_value_replacement_loop(), finalize_type_size(), find_conditions(), find_constructor_constant_at_offset(), find_var_cmp_const(), finish_bitfield_representative(), prange_storage::fits_p(), wi::fits_to_tree_p(), fixup_signed_type(), fixup_unsigned_type(), fold_binary_loc(), fold_builtin_abs(), fold_builtin_bit_query(), fold_builtin_iseqsig(), fold_builtin_unordered_cmp(), fold_comparison(), fold_const_aggregate_ref_1(), fold_const_call_1(), fold_const_call_1(), fold_const_call_ss(), fold_const_vec_convert(), fold_convert_const(), fold_convert_const_int_from_int(), fold_convert_const_int_from_real(), fold_convertible_p(), operator_cast::fold_pair(), fold_plusminus_mult_expr(), cfn_clrsb::fold_range(), cfn_clz::fold_range(), cfn_constant_float_p::fold_range(), cfn_constant_p::fold_range(), cfn_ctz::fold_range(), cfn_ffs::fold_range(), cfn_goacc_dim::fold_range(), cfn_isfinite::fold_range(), cfn_isinf::fold_range(), cfn_isnormal::fold_range(), cfn_popcount::fold_range(), cfn_strlen::fold_range(), operator_bitwise_not::fold_range(), operator_cast::fold_range(), operator_cast::fold_range(), operator_logical_and::fold_range(), operator_lshift::fold_range(), fold_stmt_1(), fold_ternary_loc(), fold_truth_andor_for_ifcombine(), fold_unary_loc(), force_fit_type(), forward_propagate_addr_expr_1(), forward_propagate_into_gimple_cond(), wi::from_mpz(), fully_constant_vn_reference_p(), gen_conditions_for_pow_int_base(), gen_counter_update(), get_addr_base_and_unit_offset_1(), get_array_ctor_element_at_index(), get_bitfield_rep(), vrange::get_bitmask(), get_bitmask_from_range(), get_computation_aff_1(), get_computation_cost(), get_debug_computation_at(), get_inner_reference(), get_int_cst_ext_nunits(), irange_storage::get_irange(), get_legacy_range(), cfn_toupper_tolower::get_letter_range(), get_min_precision(), get_name_for_bit_test(), get_narrower(), get_offset_range(), prange_storage::get_prange(), wi::unextended_tree::get_precision(), get_range_pos_neg(), get_ref_base_and_extent(), get_related_vectype_for_scalar_type(), get_shift_range(), get_size_range(), get_stridx(), range_query::get_tree_range(), get_type_static_bounds(), get_unwidened(), get_value_for_expr(), get_value_from_alignment(), gimple_bitwise_inverted_equal_p(), gimple_builtin_call_types_compatible_p(), gimple_divmod_fixed_value_transform(), gimple_fold_builtin_strlen(), gimple_fold_call(), gimple_lower_bitint(), gimple_parm_array_size(), gimple_signed_or_unsigned_type(), gimple_stringops_transform(), gimplify_expr(), gimplify_omp_atomic(), go_format_type(), handle_array_ref(), strlen_pass::handle_integral_assign(), hashable_expr_equal_p(), ifcombine_ifandif(), infer_loop_bounds_from_pointer_arith(), init_range_entry(), initialize_sizetypes(), initializer_constant_valid_p_1(), inline_expand_builtin_bytecmp(), insert_into_preds_of_block(), instrument_bool_enum_load(), instrument_decisions(), instrument_pointer_overflow(), instrument_si_overflow(), int_binop_types_match_p(), int_cst_value(), int_fits_type_p(), integer_all_onesp(), interpret_rhs_expr(), irange::intersect(), inverse(), irange::invert(), prange::invert(), ipa_compute_jump_functions_for_edge(), ipcp_store_vr_results(), ipcp_update_vr(), irange_val_max(), irange_val_min(), if_chain::is_beneficial(), is_char_type(), is_nonwrapping_integer_induction(), is_widening_mult_p(), is_widening_mult_rhs_p(), iv_can_overflow_p(), iv_period(), layout_type(), simplify_using_ranges::legacy_fold_cond_overflow(), legal_cast_p_1(), lhd_enum_underlying_base_type(), lhd_simulate_enum_decl(), lhd_type_for_size(), operator_bitwise_and::lhs_op1_relation(), operator_cast::lhs_op1_relation(), operator_cast::lhs_op1_relation(), operator_cast::lhs_op1_relation(), operator_cast::lhs_op1_relation(), operator_plus::lhs_op1_relation(), lower_bitfield(), lower_bound_in_type(), lower_omp_ordered_clauses(), lower_omp_target(), lto_input_tree_1(), make_accum_type(), make_bit_field_ref(), make_fract_type(), make_range_step(), make_signed_type(), make_unsigned_type(), mask_with_tz(), maskable_range_p(), match_arith_overflow(), match_uaddc_usubc(), max_limit(), wi::max_value(), gimple_range_op_handler::maybe_builtin_call(), maybe_diag_stxncpy_trunc(), maybe_instrument_pointer_overflow(), maybe_optimize_guarding_check(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), maybe_optimize_var(), maybe_rewrite_mem_ref_base(), maybe_set_nonzero_bits(), ipcp_bits_lattice::meet_with(), merge_ranges(), min_limit(), wi::min_value(), minmax_replacement(), minus_op1_op2_relation_effect(), modified_type_die(), most_expensive_mult_to_index(), mpz_get_double_int(), multiple_of_p(), native_encode_fixed(), native_encode_initializer(), native_encode_int(), native_encode_vector_part(), native_interpret_aggregate(), native_interpret_int(), native_interpret_vector_part(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), irange::nonzero_p(), nop_conversion_for_offset_p(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_ne(), number_of_iterations_ne_max(), number_of_iterations_popcount(), number_of_iterations_until_wrap(), odr_types_equivalent_p(), omp_extract_for_data(), omp_loop_number_of_iterations(), omp_reduction_init_op(), cfn_signbit::op1_range(), operator_abs::op1_range(), operator_bitwise_or::op1_range(), operator_cast::op1_range(), operator_cast::op1_range(), operator_cast::op1_range(), operator_cast::op1_range(), operator_lshift::op1_range(), operator_rshift::op1_range(), operator_trunc_mod::op1_range(), operator_trunc_mod::op2_range(), simplify_using_ranges::op_with_boolean_value_range_p(), operand_equal_for_comparison_p(), operand_compare::operand_equal_p(), optimize_atomic_bit_test_and(), optimize_atomic_compare_exchange_p(), optimize_count_trailing_zeroes(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_diff(), optimize_range_tests_var_bound(), optimize_range_tests_xor(), optimize_spaceship(), output_constant(), output_constructor(), output_constructor_array_range(), output_constructor_regular_field(), overflow_comparison_p_1(), plus_minus_ranges(), pointer_may_wrap_p(), poly_int_binop(), prange_storage::prange_storage(), prepare_instrumented_value(), prepare_iteration_over_array_elts(), print_int_bound(), print_node(), propagate_bits_across_jump_function(), ptrofftype_p(), vn_walk_cb_data::push_partial_def(), range_check_type(), range_compatible_p(), range_false(), range_fits_type_p(), range_is_either_true_or_false(), range_negatives(), fold_using_range::range_of_address(), range_of_var_in_loop(), range_positives(), range_true(), range_true_and_false(), recognize_single_bit_test(), reduce_to_bit_field_precision(), reduction_var_overflows_first(), refine_bounds_using_guard(), refine_value_range_using_guard(), replace_mult_candidate(), reuse_split_load(), scan_operand_equal_p(), irange::set(), prange::set(), irange_storage::set_irange(), irange::set_nonnegative(), prange::set_nonnegative(), irange::set_nonzero(), prange::set_nonzero(), vrange::set_nonzero_bits(), irange::set_varying(), prange::set_varying(), irange::set_zero(), prange::set_zero(), sign_bit_p(), signed_or_unsigned_type_for(), signed_type_for_types(), operator_bitwise_and::simple_op1_range_solver(), simplify_using_ranges::simplify(), simplify_builtin_call(), simplify_using_ranges::simplify_casted_compare(), simplify_conversion_using_ranges(), simplify_using_ranges::simplify_float_conversion_using_ranges(), simplify_gimple_switch(), simplify_rotate(), simplify_using_ranges::simplify_truth_ops_using_ranges(), simplify_vector_constructor(), irange_storage::size(), size_must_be_zero_p(), skip_a_safe_conversion_op(), sort_and_splice_var_accesses(), spaceship_replacement(), split_address_to_core_and_offset(), split_constant_offset_1(), ssa_name_has_boolean_range(), store_constructor(), store_expr(), store_field(), strip_float_extensions(), supportable_indirect_convert_operation(), gimple_outgoing_range::switch_edge_range(), wi::to_wide(), loop_distribution::transform_reduction_loop(), tree_binary_nonnegative_warnv_p(), tree_builtin_call_types_compatible_p(), tree_ctz(), tree_int_cst_sign_bit(), tree_nonzero_bits(), tree_nop_conversion_p(), tree_simple_nonnegative_warnv_p(), tree_single_nonzero_warnv_p(), tree_unary_nonnegative_warnv_p(), tree_unary_nonzero_warnv_p(), operator_cast::truncating_cast_p(), type_has_mode_precision_p(), type_hash_canon_hash(), type_strictly_matches_mode_p(), type_with_interoperable_signedness(), uaddc_cast(), ubsan_encode_value(), ubsan_instrument_float_cast(), ubsan_type_descriptor(), update_known_bitmask(), update_range_test(), upper_bound_in_type(), useless_type_conversion_p(), valid_gimple_rhs_p(), crc_optimization::validate_crc_and_data(), value_range_from_overflowed_bounds(), value_range_with_overflow(), irange::varying_compatible_p(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), vect_can_peel_nonlinear_iv_p(), vect_check_gather_scatter(), vect_convert_input(), vect_determine_min_output_precision(), vect_determine_precisions_from_range(), vect_determine_precisions_from_users(), vect_emulated_vector_p(), vect_estimate_min_profitable_iters(), vect_find_stmt_data_reference(), vect_gather_scatter_fn_p(), vect_gen_vector_loop_niters(), vect_is_extending_load(), vect_is_integer_truncation(), vect_joust_widened_integer(), vect_joust_widened_type(), vect_look_through_possible_promotion(), vect_peel_nonlinear_iv_init(), vect_recog_abd_pattern(), vect_recog_absolute_difference(), vect_recog_average_pattern(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_cast_forwprop_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), vect_recog_mask_conversion_pattern(), vect_recog_mulhs_pattern(), vect_recog_over_widening_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_rotate_pattern(), vect_recog_sat_sub_pattern_transform(), vect_recog_vector_vector_shift_pattern(), vect_recog_widen_abd_pattern(), vect_recog_widen_op_pattern(), vect_recog_widen_sum_pattern(), vect_rgroup_iv_might_wrap_p(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), vect_set_min_input_precision(), vect_set_operation_type(), vect_simd_lane_linear(), vect_use_strided_gather_scatters_p(), vect_verify_full_masking(), vect_verify_full_masking_avx512(), vect_verify_loop_lens(), vect_widened_op_tree(), vector_element_bits(), vectorizable_assignment(), vectorizable_conversion(), vectorizable_load(), vectorizable_nonlinear_induction(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_comparison(), verify_gimple_switch(), irange::verify_range(), verify_types_in_gimple_reference(), visit_nary_op(), vn_hash_type(), vn_nary_op_eq(), vn_reference_eq(), vn_reference_insert(), vn_reference_lookup(), vn_reference_lookup_3(), vr_set_zero_nonzero_bits(), operator_abs::wi_fold(), operator_absu::wi_fold(), operator_bitwise_and::wi_fold(), operator_div::wi_fold(), operator_lshift::wi_fold(), operator_mult::wi_fold(), operator_trunc_mod::wi_fold(), wi_optimize_signed_bitwise_op(), wi_zero_p(), wide_int_ext_for_comb(), wide_int_ext_for_comb(), wide_int_to_tree_1(), widening_mult_conversion_strippable_p(), and zero_one_minusone().
#define TYPE_PRECISION_RAW | ( | NODE | ) |
Referenced by gimple_canonical_types_compatible_p(), hash_tree(), pack_ts_type_common_value_fields(), unpack_ts_type_common_value_fields(), and verify_type_variant().
#define TYPE_QUALS | ( | NODE | ) |
The set of type qualifiers for this type.
Referenced by add_calling_convention_attribute(), attr_access::array_as_string(), build_complex_type(), build_opaque_vector_type(), build_ref_for_offset(), build_type_attribute_qual_variant(), build_type_attribute_variant(), canonicalize_component_ref(), check_aligned_type(), check_base_type(), check_qualified_type(), create_access_replacement(), decl_attributes(), dump_generic_node(), find_or_create_vtbl_map_node(), fold_unary_loc(), get_nearest_type_subqualifiers(), get_qualified_type(), get_related_vectype_for_scalar_type(), install_var_field(), install_var_field(), instrument_bool_enum_load(), lhd_tree_dump_type_quals(), make_vector_type(), oacc_rewrite_var_decl(), reconstruct_complex_type(), remap_type_1(), tree_profiling(), type_variants_equivalent_p(), and vtbl_map_get_node().
#define TYPE_QUALS_NO_ADDR_SPACE | ( | NODE | ) |
The same as TYPE_QUALS without the address space qualifications.
Referenced by declare_in_namespace(), and modified_type_die().
#define TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC | ( | NODE | ) |
The same as TYPE_QUALS without the address space and atomic qualifications.
#define TYPE_READONLY | ( | NODE | ) |
Means this type is const-qualified.
Referenced by btf_add_const_void(), builtin_call_nomodifying_p(), flags_from_decl_or_type(), hash_tree(), lower_omp_target(), maybe_warn_nonstring_arg(), maybe_warn_pass_by_reference(), pack_ts_type_common_value_fields(), print_node(), set_type_quals(), simd_clone_adjust(), tree_profiling(), ubsan_type_descriptor(), and unpack_ts_type_common_value_fields().
#define TYPE_REF_CAN_ALIAS_ALL | ( | NODE | ) |
Nonzero in a pointer or reference type means the data pointed to by this type can alias anything.
Referenced by build_pointer_type_for_mode(), build_reference_type_for_mode(), dump_generic_node(), dump_mem_ref(), fold_indirect_ref_1(), gimple_fold_indirect_ref(), input_gimple_stmt(), maybe_canonicalize_mem_ref_addr(), reconstruct_complex_type(), ref_all_alias_ptr_type_p(), remap_type_1(), and verify_type_variant().
#define TYPE_REF_IS_RVALUE | ( | NODE | ) |
True if reference type NODE is a C++ rvalue reference.
Referenced by type_cache_hasher::equal(), modified_type_die(), type_hash_canon_hash(), and verify_type_variant().
#define TYPE_REFERENCE_TO | ( | NODE | ) |
Referenced by build_distinct_type_copy(), build_reference_type_for_mode(), print_node(), and remap_type_1().
#define TYPE_RESTRICT | ( | NODE | ) |
If nonzero, this type is `restrict'-qualified, in the C sense of the term.
Referenced by ipa_icf::sem_function::compatible_parm_types_p(), ipa_icf_gimple::func_checker::compatible_types_p(), create_variable_info_for(), create_variable_info_for_1(), hash_tree(), install_var_field(), install_var_field(), pack_ts_type_common_value_fields(), print_node(), push_fields_onto_fieldstack(), set_type_quals(), ubsan_type_descriptor(), and unpack_ts_type_common_value_fields().
#define TYPE_REVERSE_STORAGE_ORDER | ( | NODE | ) |
In an aggregate type, indicates that the scalar fields of the type are stored in reverse order from the target order. This effectively toggles BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN within the type.
Referenced by categorize_ctor_elements_1(), compare_constant(), copy_reference_ops_from_ref(), expand_expr_real_1(), expand_expr_real_2(), finish_record_layout(), fold_ctor_reference(), gimple_canonical_types_compatible_p(), gimple_fold_builtin_memory_op(), hash_tree(), initializer_constant_valid_p_1(), may_be_nonaddressable_p(), output_constructor(), pack_ts_base_value_fields(), print_node(), propagate_subaccesses_from_rhs(), reverse_storage_order_for_component_p(), sra_modify_assign(), storage_order_barrier_p(), store_constructor(), store_field(), unpack_ts_base_value_fields(), useless_type_conversion_p(), verify_type_variant(), and vn_reference_lookup_3().
#define TYPE_SATURATING | ( | NODE | ) |
In a non-aggregate type, indicates a saturating type.
Referenced by const_binop(), const_binop(), dequeue_and_dump(), dump_generic_node(), type_cache_hasher::equal(), expand_expr_real_2(), fold_binary_loc(), fold_convert_const_fixed_from_fixed(), fold_convert_const_fixed_from_int(), fold_convert_const_fixed_from_real(), fold_negate_const(), hash_tree(), layout_type(), make_accum_type(), make_fract_type(), make_range_step(), optab_for_tree_code(), pack_ts_base_value_fields(), unpack_ts_base_value_fields(), useless_type_conversion_p(), verify_type_variant(), and visit_nary_op().
#define TYPE_SIGN | ( | NODE | ) |
Same as TYPE_UNSIGNED but converted to SIGNOP.
Referenced by add_one(), adjust_op1_for_overflow(), arith_overflowed_p(), bit_value_assume_aligned(), bit_value_binop(), bit_value_unop(), bitint_min_cst_precision(), bits_from_bytes(), build_gt(), build_lt(), format_helper::can_represent_integral_type_p(), check_for_binary_op_overflow(), check_reduction_path(), chrec_fold_multiply(), compare_nonzero_chars(), compare_values_warnv(), tree_switch_conversion::switch_conversion::contains_linear_function_p(), irange::contains_p(), create_add_imm_cand(), create_possibly_reversed_range(), determine_value_range(), do_warn_aggressive_loop_optimizations(), double_int_to_tree(), dr_step_indicator(), dump_generic_node(), tree_switch_conversion::bit_test_cluster::emit(), evaluate_stmt(), expand_vector_divmod(), expand_widen_pattern_expr(), extract_muldiv_1(), find_var_cmp_const(), fold_abs_const(), fold_const_call_ss(), fold_convert_const(), fold_convert_const_int_from_int(), fold_div_compare(), operator_cast::fold_pair(), fold_plusminus_mult_expr(), cfn_clz::fold_range(), cfn_ffs::fold_range(), operator_ge::fold_range(), operator_ge::fold_range(), operator_gt::fold_range(), operator_gt::fold_range(), operator_le::fold_range(), operator_le::fold_range(), operator_lt::fold_range(), operator_lt::fold_range(), fold_unary_loc(), force_fit_type(), get_array_ctor_element_at_index(), get_default_value(), get_legacy_range(), get_min_precision(), tree_switch_conversion::cluster::get_range(), get_ref_base_and_extent(), get_type_static_bounds(), get_unwidened(), induction_variable_may_overflow_p(), operator_cast::inside_domain_p(), int_const_binop(), int_fits_type_p(), irange::intersect(), irange::intersect(), irange::invert(), ipcp_get_parm_bits(), ipcp_store_vr_results(), irange::irange_contains_p(), irange::irange_single_pair_union(), irange_val_max(), irange_val_min(), tree_switch_conversion::switch_conversion::is_exp_index_transform_viable(), is_nonwrapping_integer_induction(), is_widening_mult_rhs_p(), iv_can_overflow_p(), operator_cast::lhs_op1_relation(), operator_cast::lhs_op1_relation(), operator_cast::lhs_op1_relation(), operator_cast::lhs_op1_relation(), operator_minus::lhs_op1_relation(), operator_plus::lhs_op1_relation(), operator_rshift::lhs_op1_relation(), loop_niters_no_overflow(), lower_omp_ordered_clauses(), max_limit(), wi::max_value(), gimple_range_op_handler::maybe_non_standard(), ipcp_bits_lattice::meet_with(), min_limit(), wi::min_value(), minmax_from_comparison(), minmax_replacement(), minus_op1_op2_relation_effect(), irange::nonnegative_p(), irange::nonpositive_p(), nop_conversion_for_offset_p(), number_of_iterations_lt(), number_of_iterations_ne(), number_of_iterations_ne_max(), number_of_iterations_until_wrap(), omp_apply_tile(), omp_context_compute_score(), omp_reduction_init_op(), operator_abs::op1_range(), operator_bitwise_or::op1_range(), operator_lshift::op1_range(), operator_trunc_mod::op1_range(), operator_trunc_mod::op2_range(), irange::operator==(), optimize_range_tests_diff(), optimize_range_tests_to_bit_test(), optimize_range_tests_xor(), output_constant(), operator_minus::overflow_free_p(), operator_mult::overflow_free_p(), operator_plus::overflow_free_p(), print_aff(), print_int_bound(), print_node(), print_node_brief(), propagate_bits_across_jump_function(), range_compatible_p(), range_fits_type_p(), range_from_loop_direction(), range_negatives(), range_of_var_in_loop(), range_positives(), real_value_from_int_cst(), refine_value_range_using_guard(), replace_mult_candidate(), irange::set(), set_switch_stmt_execution_predicate(), irange::set_varying(), simple_cst_equal(), simple_iv_with_niters(), operator_bitwise_and::simple_op1_range_solver(), simplify_using_ranges::simplify(), simplify_using_ranges::simplify_casted_compare(), simplify_conversion_using_ranges(), simplify_rotate(), skip_a_safe_conversion_op(), split_constant_offset(), split_to_var_and_offset(), subtract_one(), wi::to_wide(), tree_nonzero_bits(), ubsan_type_descriptor(), irange::union_(), irange::union_append(), update_known_bitmask(), value_range_from_overflowed_bounds(), value_range_with_overflow(), irange::varying_compatible_p(), vect_determine_precisions_from_range(), vect_determine_precisions_from_users(), vect_gen_vector_loop_niters(), vect_get_range_info(), vect_is_emulated_mixed_dot_prod(), vect_joust_widened_integer(), vect_look_through_possible_promotion(), vect_peel_nonlinear_iv_init(), vect_recog_cast_forwprop_pattern(), vect_recog_cond_expr_convert_pattern(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), irange::verify_range(), cross_product_operator::wi_cross_product(), operator_abs::wi_fold(), operator_bitwise_and::wi_fold(), operator_bitwise_or::wi_fold(), operator_bitwise_xor::wi_fold(), operator_div::wi_fold(), operator_lshift::wi_fold(), operator_max::wi_fold(), operator_min::wi_fold(), operator_minus::wi_fold(), operator_mult::wi_fold(), operator_plus::wi_fold(), operator_trunc_mod::wi_fold(), operator_widen_mult_signed::wi_fold(), operator_widen_mult_unsigned::wi_fold(), operator_widen_plus_signed::wi_fold(), operator_widen_plus_unsigned::wi_fold(), range_operator::wi_fold_in_parts(), range_operator::wi_fold_in_parts_equiv(), wi_includes_zero_p(), operator_div::wi_op_overflows(), operator_lshift::wi_op_overflows(), operator_mult::wi_op_overflows(), operator_rshift::wi_op_overflows(), wi_set_zero_nonzero_bits(), and wide_int_to_tree_1().
#define TYPE_SIZE | ( | NODE | ) |
Type size in bits as a tree expression. Need not be constant and may be greater than TYPE_SIZE for a C++ FIELD_DECL representing a base class subobject with its own virtual base classes (which are laid out separately).
Referenced by aliasing_component_refs_walk(), analyze_all_variable_accesses(), ao_ref_init_from_vn_reference(), array_ref_flexible_size_p(), array_type_nelts_minus_one(), ipcp_modif_dom_walker::before_dom_children(), build_agg_jump_func_from_list(), build_printable_array_type(), build_range_type_1(), build_tm_load(), build_tm_store(), build_truth_vector_type_for(), build_user_friendly_ref_for_offset(), build_vector_type_for_mode(), categorize_ctor_elements_1(), check_stmt_for_type_change(), check_ts_and_push_padding_to_vec(), coalesce_bitint(), ipa_polymorphic_call_context::combine_with(), ao_compare::compare_ao_refs(), compare_type_sizes(), complete_ctor_at_level_p(), component_ref_to_zero_sized_trailing_array_p(), compute_array_mode(), compute_avail(), compute_optimized_partition_bases(), compute_record_mode(), convert_mult_to_fma(), convert_to_integer_1(), convert_to_vector(), copy_reference_ops_from_ref(), count_type_elements(), coverage_end_function(), create_variable_info_for_1(), decl_init_size(), decode_field_reference(), default_function_arg_padding(), default_vector_alignment(), dequeue_and_dump(), determine_index(), determine_known_aggregate_parts(), DFS::DFS_write_tree_body(), discover_nonconstant_array_refs_r(), do_vec_narrow_conversion(), dse_optimize_stmt(), dump_generic_node(), dump_mem_ref(), eliminate_dom_walker::eliminate_stmt(), evaluate_conditions_for_known_args(), excess_unit_span(), execute_update_addresses_taken(), expand_asm_stmt(), expand_assignment(), expand_expr_real_1(), expand_expr_real_2(), expand_omp_atomic_cas(), expand_vector_conversion(), expand_vector_parallel(), expand_vector_piecewise(), expand_vector_ubsan_overflow(), extract_component(), finalize_record_size(), finalize_type_size(), find_atomic_core_type(), fixup_remapped_decl(), flexible_array_type_p(), fold_convert_loc(), fold_convertible_p(), fold_ctor_reference(), fold_indirect_ref_1(), fold_nonarray_ctor_reference(), fold_ternary_loc(), fold_truth_andor_for_ifcombine(), fold_view_convert_vector_encoding(), force_value_to_type(), fully_constant_vn_reference_p(), gather_mem_refs_stmt(), gen_ctf_base_type(), get_constraint_for_1(), get_inner_reference(), get_reassociation_width(), get_ref_base_and_extent(), get_ubsan_type_info_for_type(), get_vec_alignment_for_array_type(), gimple_fold_indirect_ref(), gimple_get_alias_set(), gimple_get_virt_method_for_vtable(), gimple_lower_bitint(), gimplify_init_ctor_preeval(), gimplify_omp_atomic(), gimplify_type_sizes(), go_output_typedef(), ao_compare::hash_ao_ref(), hash_tree(), idx_find_step(), indirect_ref_may_alias_decl_p(), initialize_data_dependence_relation(), initialize_sizetypes(), internal_gather_scatter_fn_supported_p(), ipa_dump_jump_function(), ipcp_get_aggregate_const(), layout_decl(), layout_type(), load_from_unmodified_param_or_agg(), lto_input_ts_type_common_tree_pointers(), make_bit_field_ref(), maybe_add_sra_candidate(), maybe_canonicalize_mem_ref_addr(), maybe_rewrite_mem_ref_base(), ipa_polymorphic_call_context::meet_with(), mode_for_array(), ipa_param_body_adjustments::modify_assignment(), ipa_param_body_adjustments::modify_expression(), must_pass_in_stack_var_size(), must_pass_in_stack_var_size_or_pad(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), nonoverlapping_refs_since_match_p(), not_size_aligned(), odr_types_equivalent_p(), offset_int_type_size_in_bits(), omp_firstprivatize_type_sizes(), operand_compare::operand_equal_p(), optimize_count_trailing_zeroes(), optimize_vector_load(), output_constructor_bitfield(), pass_by_reference(), place_field(), possible_placement_new(), prepare_iteration_over_array_elts(), print_node(), propagate_aggregate_lattice(), propagate_aggs_across_jump_function(), remap_type_1(), remap_type_2(), ipa_polymorphic_call_context::restrict_to_inner_class(), rt_bb_visited::rt_bb_visited(), ipa_icf_gimple::func_checker::safe_for_total_scalarization_p(), safe_from_p(), simple_type_size_in_bits(), simplify_bitfield_ref(), simplify_count_trailing_zeroes(), simplify_permutation(), simplify_vector_constructor(), sort_by_size_then_ssa_version_or_uid(), sra_modify_expr(), staticp(), std_gimplify_va_arg_expr(), stmt_kills_ref_p(), store_constructor(), store_field(), tm_log_emit_stmt(), totally_scalarizable_type_p(), type_contains_placeholder_1(), type_has_padding_at_level_p(), ubsan_type_descriptor(), undistribute_bitref_for_vector(), unmodified_parm_1(), update_alignment_for_field(), useless_type_conversion_p(), variably_modified_type_p(), vect_add_slp_permutation(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_check_gather_scatter(), vect_create_epilog_for_reduction(), vect_create_partial_epilog(), vect_expand_fold_left(), vect_gather_scatter_fn_p(), vect_is_simple_cond(), vect_model_reduction_cost(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_slp_is_lane_insert(), vector_element_bits(), vector_element_bits_tree(), vectorizable_bswap(), vectorizable_internal_function(), vectorizable_load(), vectorizable_shift(), vectorizable_simd_clone_call(), vectorizable_store(), verify_gimple_assign_ternary(), verify_opaque_type(), verify_type_variant(), verify_types_in_gimple_reference(), vn_reference_eq(), vn_reference_lookup_3(), walk_tree_1(), and write_ts_type_common_tree_pointers().
#define TYPE_SIZE_UNIT | ( | NODE | ) |
Likewise, type size in bytes.
Referenced by access_with_size_object_size(), add_stack_var(), addr_object_size(), adjacent_dr_p(), array_ref_element_size(), array_ref_flexible_size_p(), array_size_for_constructor(), assign_temp(), build_omp_struct_comp_nodes(), build_printable_array_type(), build_range_type_1(), bump_vector_ptr(), c_strlen(), call_may_clobber_ref_p_1(), canonicalize_addr_expr(), rt_bb_visited::check(), array_bounds_checker::check_addr_expr(), check_all_va_list_escapes(), check_fnspec(), array_bounds_checker::check_mem_ref(), check_string_literal(), component_ref_sam_type(), component_ref_size(), compute_access_range(), compute_alias_check_pairs(), compute_object_offset(), compute_trims(), constant_byte_string(), copy_reference_ops_from_ref(), strlen_pass::count_nonzero_bytes(), coverage_end_function(), create_component_ref_by_pieces_1(), create_task_copyfn(), create_tmp_var_for(), decl_init_size(), declare_return_variable(), decode_addr_const(), defer_stack_allocation(), DFS::DFS_write_tree_body(), dr_analyze_indices(), dr_group_sort_cmp(), dr_may_alias_p(), dump_generic_node(), emit_note_insn_var_location(), execute_omp_oacc_neuter_broadcast(), execute_update_addresses_taken(), cgraph_node::expand(), expand_assign_tm(), expand_builtin_va_copy(), expand_call(), expand_constructor(), expand_omp_atomic(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_one_stack_var_1(), expand_thunk(), expand_vector_parallel(), field_at_offset(), finalize_record_size(), finalize_type_size(), find_constructor_constant_at_offset(), finish_taskreg_scan(), fixup_remapped_decl(), fold_array_ctor_reference(), fold_indirect_ref_1(), generate_strlen_builtin_using_rawmemchr(), generate_subtree_deferred_init(), get_addr_base_and_unit_offset_1(), get_misalign_in_elems(), get_negative_load_store_type(), get_range_strlen_dynamic(), get_range_strlen_tree(), get_ref_size(), get_stridx(), getbyterep(), gimple_add_init_for_auto_var(), gimple_fold_builtin_clear_padding(), gimple_fold_builtin_memory_op(), gimple_fold_indirect_ref(), gimple_get_virt_method_for_vtable(), gimple_lower_bitint(), gimple_parm_array_size(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), gimplify_scan_omp_clauses(), gimplify_type_sizes(), gimplify_variable_sized_compare(), go_format_type(), handle_array_ref(), handle_simd_reference(), hash_tree(), initialize_ao_ref_for_dse(), initialize_argument_information(), initialize_data_dependence_relation(), initialize_sizetypes(), instrument_object_size(), int_size_in_bytes(), is_variable_sized(), layout_decl(), layout_type(), lhd_unit_size_without_reusable_padding(), lower_coro_builtin(), lower_lastprivate_clauses(), lower_omp_for_scan(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lto_input_ts_type_common_tree_pointers(), maybe_rewrite_mem_ref_base(), maybe_set_strlen_range(), maybe_with_size_expr(), native_encode_constructor(), native_encode_int(), native_encode_string(), native_interpret_int(), native_interpret_vector(), native_interpret_vector_part(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), nonoverlapping_array_refs_p(), nonzero_bytes_for_type(), oacc_do_neutering(), odr_types_equivalent_p(), omp_accumulate_sibling_list(), omp_add_variable(), omp_adjust_for_condition(), omp_build_struct_sibling_lists(), omp_firstprivatize_type_sizes(), omp_notice_variable(), omp_resolve_clause_dependencies(), omp_task_reduction_iterate(), ompdevlow_adjust_simt_enter(), optimize_atomic_bit_test_and(), optimize_memcpy_to_memset(), output_constructor_array_range(), output_constructor_regular_field(), parm_object_size(), pointer_may_wrap_p(), print_node(), vn_walk_cb_data::push_partial_def(), reduction_var_overflows_first(), ref_maybe_used_by_call_p_1(), remap_type_1(), remap_type_2(), rtx_addr_can_trap_p_1(), self_reuse_distance(), set_component_ref_size(), set_mem_attributes_minus_bitpos(), should_interchange_loops(), should_remove_lhs_p(), simd_clone_adjust(), simd_clone_linear_addend(), size_in_bytes_loc(), sort_size_descending(), sra_modify_deferred_init(), stack_protect_classify_type(), store_constructor(), pcom_worker::suitable_component_p(), task_reduction_read(), tm_log_add(), tm_log_emit_stmt(), loop_distribution::transform_reduction_loop(), tree_profiling(), type_contains_placeholder_1(), ubsan_type_descriptor(), variably_modified_type_p(), vect_analyze_data_ref_access(), vect_analyze_data_ref_accesses(), vect_analyze_group_access_1(), vect_create_cond_for_align_checks(), vect_create_data_ref_ptr(), vect_dr_misalign_for_aligned_access(), vect_enhance_data_refs_alignment(), vect_find_stmt_data_reference(), vect_gen_prolog_loop_niters(), vect_get_data_ptr_increment(), vect_get_peeling_costs_all_drs(), vect_get_scalar_dr_size(), vect_get_smallest_scalar_type(), vect_vfa_access_size(), vector_alignment_reachable_p(), vectorizable_load(), vectorizable_store(), verify_gimple_call(), verify_type_variant(), vn_reference_lookup_3(), rt_bb_visited::vword(), walk_tree_1(), and write_ts_type_common_tree_pointers().
#define TYPE_SIZES_GIMPLIFIED | ( | NODE | ) |
Nonzero if NODE, a type, has had its sizes gimplified.
Referenced by gimplify_decl_expr(), gimplify_omp_depend(), gimplify_return_expr(), gimplify_target_expr(), gimplify_type_sizes(), and print_node().
#define TYPE_STRING_FLAG | ( | NODE | ) |
If set in an ARRAY_TYPE, indicates a string type (for languages that distinguish string from array of char). If set in a INTEGER_TYPE, indicates a character type.
Referenced by base_type_die(), build_common_tree_nodes(), gimple_canonical_types_compatible_p(), hash_tree(), odr_types_equivalent_p(), pack_ts_type_common_value_fields(), print_node(), type_to_class(), unpack_ts_type_common_value_fields(), useless_type_conversion_p(), and verify_type_variant().
#define TYPE_STRUCTURAL_EQUALITY_P | ( | NODE | ) |
Indicates that the type node requires structural equality checks. The compiler will need to look at the composition of the type to determine whether it is equal to another type, rather than just comparing canonical type pointers. For instance, we would need to look at the return and parameter types of a FUNCTION_TYPE node.
Referenced by build_array_type_1(), build_complex_type(), build_distinct_type_copy(), build_function_type(), build_method_type_directly(), build_offset_type(), build_pointer_type_for_mode(), build_qualified_type(), build_reference_type_for_mode(), build_type_attribute_qual_variant(), type_cache_hasher::equal(), get_alias_set(), get_odr_type(), lto_read_body_or_constructor(), make_vector_type(), maybe_canonicalize_argtypes(), obj_type_ref_class(), print_node(), record_component_aliases(), same_type_for_tbaa(), type_hash_canon_hash(), and types_equal_for_same_type_for_tbaa_p().
#define TYPE_STUB_DECL | ( | NODE | ) |
If your language allows you to declare types, and you want debug info for them, then you need to generate corresponding TYPE_DECL nodes. These "stub" TYPE_DECL nodes have no name, and simply point at the type node. You then set the TYPE_STUB_DECL field of the type node to point back at the TYPE_DECL node. This allows the debug routines to know that the two nodes represent the same type, so that we only get one debug info record for them.
Referenced by asan_global_struct(), error_unavailable_use(), finish_builtin_struct(), lhd_simulate_enum_decl(), remap_decl(), remap_type_1(), rest_of_type_compilation(), should_emit_struct_debug(), type_in_anonymous_namespace_p(), ubsan_create_data(), ubsan_get_source_location_type(), ubsan_get_type_descriptor_type(), and warn_deprecated_use().
#define TYPE_SYMTAB_ADDRESS | ( | NODE | ) |
The debug output functions use the symtab union field to store information specific to the debugging format. The different debug output hooks store different types in the union field. These three macros are used to access different fields in the union. The debug hooks are responsible for consistently using only a specific macro.
Symtab field as an integer. Used by stabs generator in dbxout.cc to hold the type's number in the generated stabs.
Referenced by copy_node(), and print_node().
#define TYPE_SYMTAB_DIE | ( | NODE | ) |
Symtab field as a pointer to a DWARF DIE. Used by DWARF generator in dwarf2out.cc to point to the DIE generated for the type.
Referenced by copy_node(), dwarf2out_next_real_insn(), equate_type_number_to_die(), and lookup_type_die().
#define TYPE_SYMTAB_IS_ADDRESS (0) |
The garbage collector needs to know the interpretation of the symtab field. These constants represent the different types in the union.
#define TYPE_SYMTAB_IS_DIE (1) |
#define TYPE_TRANSPARENT_AGGR | ( | NODE | ) |
Indicates that a UNION_TYPE object should be passed the same way that the first union alternative would be passed, or that a RECORD_TYPE object should be passed the same way that the first (and only) member would be passed.
Referenced by aggregate_value_p(), assign_parm_find_data_types(), hash_tree(), initialize_argument_information(), load_register_parameters(), pack_ts_type_common_value_fields(), pass_by_reference(), print_node(), unpack_ts_type_common_value_fields(), and verify_type_variant().
#define TYPE_TYPELESS_STORAGE | ( | NODE | ) |
For an ARRAY_TYPE, a RECORD_TYPE, a UNION_TYPE or a QUAL_UNION_TYPE whether the array is typeless storage or the type contains a member with this flag set. Such types are exempt from type-based alias analysis. For ARRAY_TYPEs with AGGREGATE_TYPE_P element types the flag should be inherited from the element type, can change when type is finalized and because of that should not be used in type hashing. For ARRAY_TYPEs with non-AGGREGATE_TYPE_P element types the flag should not be changed after the array is created and should be used in type hashing.
Referenced by build_array_type_1(), type_cache_hasher::equal(), finalize_type_size(), get_alias_set(), hash_tree(), layout_type(), pack_ts_type_common_value_fields(), place_field(), place_union_field(), type_hash_canon_hash(), and unpack_ts_type_common_value_fields().
#define TYPE_UID | ( | NODE | ) |
Define fields and accessors for nodes representing data types.
See tree.def for documentation of the use of these fields. Look at the documentation of the various ..._TYPE tree codes. Note that the type.values, type.minval, and type.maxval fields are overloaded and used for different macros in different kinds of types. Each macro must check to ensure the tree node is of the proper kind of type. Note also that some of the front-ends also overload these fields, so they must be checked as well.
Referenced by build_poly_int_cst(), compare_access_positions(), copy_node(), create_variable_info_for_1(), decl_for_type_insert(), decl_for_type_lookup(), dump_generic_node(), default_hash_traits< type_pair >::hash(), int_cst_hasher::hash(), polymorphic_call_target_hasher::hash(), tree_type_hash::hash(), tree_type_map_cache_hasher::hash(), make_node(), ncr_type_uid(), odr_subtypes_equivalent_p(), type_hash_canon(), and ipa_icf::sem_item_optimizer::update_hash_by_addr_refs().
#define TYPE_UNSIGNED | ( | NODE | ) |
In integral and pointer types, means an unsigned type.
Referenced by access_with_size_object_size(), inchash::add_hashable_expr(), add_iv_candidate_for_use(), add_mask_else_and_len_args(), add_taskreg_looptemp_clauses(), analyze_access_subtree(), apply_return_prediction(), arith_overflow_check_p(), tree_switch_conversion::switch_conversion::array_value_type(), assign_parm_find_data_types(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_temp(), base_type_die(), bitint_min_cst_precision(), build_index_vector(), build_new_int_cst(), build_range_check(), cache_integer_cst(), canonicalize_loop_ivs(), chrec_fold_multiply(), chrec_fold_plus_1(), compute_distributive_range(), convert_affine_scev(), convert_mult_to_highpart(), convert_mult_to_widen(), convert_plusminus_to_widen(), convert_to_integer_1(), copy_blkmode_from_reg(), create_convert_operand_from_type(), create_iv(), decode_field_reference(), default_preferred_div_as_shifts_over_mult(), default_ref_may_alias_errno(), dequeue_and_dump(), derive_constant_upper_bound_ops(), divmod_candidate_p(), do_compare_and_jump(), do_jump(), do_jump_by_parts_greater(), do_narrow(), do_store_flag(), do_unop(), dump_generic_node(), elim_create(), eliminate_dom_walker::eliminate_stmt(), emit_library_call_value_1(), type_cache_hasher::equal(), expand_arith_overflow(), expand_arith_overflow_result_store(), expand_arith_set_overflow(), expand_call(), expand_cmpstrn_or_cmpmem(), expand_cond_expr_using_cmove(), expand_debug_expr(), expand_debug_source_expr(), expand_DIVMOD(), expand_expr_addr_expr_1(), expand_expr_real_1(), expand_expr_real_2(), expand_fn_using_insn(), expand_function_end(), expand_gather_load_optab_fn(), expand_gimple_cond(), expand_oacc_collapse_init(), expand_oacc_for(), expand_omp_for(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_simd(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_scatter_store_optab_fn(), expand_ubsan_result_store(), expand_value_return(), expand_vec_cmp_expr(), expand_vector_divmod(), expr_to_aff_combination(), extract_muldiv_1(), factor_out_conditional_operation(), find_lastprivate_looptemp(), wi::fits_to_boolean_p(), wi::fits_to_tree_p(), fixup_unsigned_type(), fold_binary_loc(), fold_builtin_abs(), fold_builtin_bit_query(), fold_cond_expr_with_comparison(), fold_convert_const_fixed_from_int(), fold_convert_const_int_from_fixed(), fold_negate_const(), fold_negate_expr_1(), fold_ternary_loc(), fold_truth_andor_for_ifcombine(), fold_unary_loc(), generic_type_for(), get_array_ctor_element_at_index(), get_compare_parts(), get_debug_computation_at(), get_inner_reference(), get_int_cst_ext_nunits(), get_min_precision(), get_narrower(), get_offset_range(), get_range_pos_neg(), get_related_vectype_for_scalar_type(), get_size_range(), get_type_static_bounds(), get_ubsan_type_info_for_type(), get_unwidened(), get_value_for_expr(), get_value_from_alignment(), gimple_canonical_types_compatible_p(), gimple_divmod_values_to_profile(), gimple_fold_builtin_memset(), gimple_fold_call(), gimple_get_alias_set(), gimple_lower_bitint(), gimple_mod_pow2_value_transform(), gimple_mod_subtract_transform(), gimple_signed_or_unsigned_type(), gimplify_omp_depend(), go_format_type(), handle_array_ref(), operand_compare::hash_operand(), hash_tree(), hashable_expr_equal_p(), init_range_entry(), initialize_argument_information(), initialize_sizetypes(), initializer_constant_valid_p_1(), insert_part_to_rtx_on_edge(), insert_partition_copy_on_edge(), int_binop_types_match_p(), int_fits_type_p(), internal_gather_scatter_fn_supported_p(), is_rshift_by_1(), is_widening_mult_rhs_p(), layout_decl(), layout_type(), lhd_enum_underlying_base_type(), loc_list_from_tree_1(), loop_exits_before_overflow(), lower_bound_in_type(), lower_omp_for(), lower_omp_for_lastprivate(), lower_omp_ordered_clauses(), lower_rec_input_clauses(), make_accum_type(), make_bit_field_ref(), make_fract_type(), make_range_step(), match_arith_overflow(), match_saturation_add(), match_uaddc_usubc(), may_negate_without_overflow_p(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), merge_ranges(), minmax_replacement(), modified_type_die(), mpz_get_double_int(), multiple_of_p(), n_of_executions_at_most(), negate_expr_p(), nop_conversion_for_offset_p(), number_of_iterations_cltz(), odr_types_equivalent_p(), omp_extract_for_data(), omp_loop_number_of_iterations(), operator_abs::op1_range(), operand_compare::operand_equal_p(), optab_for_tree_code(), optimize_atomic_op_fetch_cmp_0(), optimize_bitfield_assignment_op(), optimize_count_trailing_zeroes(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_var_bound(), optimize_range_tests_xor(), optimize_spaceship(), overflow_comparison_p_1(), operator_minus::overflow_free_p(), operator_mult::overflow_free_p(), operator_plus::overflow_free_p(), pack_ts_base_value_fields(), prepare_iteration_over_array_elts(), print_int_bound(), print_node(), promote_decl_mode(), promote_ssa_mode(), ptrofftype_p(), vn_walk_cb_data::push_partial_def(), range_check_type(), reduce_to_bit_field_precision(), irange::set_nonzero(), setup_incoming_promotions(), signed_or_unsigned_type_for(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), simplify_using_ranges::simplify_float_conversion_using_ranges(), simplify_rotate(), simplify_using_ranges::simplify_truth_ops_using_ranges(), size_diffop_loc(), spaceship_replacement(), ssa_name_has_boolean_range(), store_constructor(), store_expr(), supportable_convert_operation(), supportable_narrowing_operation(), supportable_widening_operation(), tree_binary_nonnegative_warnv_p(), tree_builtin_call_types_compatible_p(), tree_int_cst_sgn(), tree_invalid_nonnegative_warnv_p(), tree_sign_nop_conversion(), tree_simple_nonnegative_warnv_p(), tree_single_nonnegative_warnv_p(), tree_unary_nonnegative_warnv_p(), try_tablejump(), type_hash_canon(), type_hash_canon_hash(), uaddc_cast(), ubsan_encode_value(), ubsan_instrument_float_cast(), ubsan_type_descriptor(), unpack_ts_base_value_fields(), unsigned_reg_p(), update_range_test(), upper_bound_in_type(), useless_type_conversion_p(), vec_cmp_icode_p(), vect_convert_input(), vect_create_epilog_for_reduction(), vect_determine_precisions_from_users(), vect_emulate_mixed_dot_prod(), vect_gather_scatter_fn_p(), vect_is_simple_cond(), vect_joust_widened_integer(), vect_joust_widened_type(), vect_look_through_possible_promotion(), vect_peel_nonlinear_iv_init(), vect_recog_abd_pattern(), vect_recog_absolute_difference(), vect_recog_average_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_dot_prod_pattern(), vect_recog_mulhs_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_widen_abd_pattern(), vect_recog_widen_op_pattern(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), vectorizable_assignment(), verify_gimple_assign_binary(), verify_gimple_assign_unary(), verify_type_variant(), visit_nary_op(), vn_hash_type(), vn_reference_lookup_3(), operator_absu::wi_fold(), operator_mult::wi_fold(), wide_int_to_tree_1(), widening_mult_conversion_strippable_p(), and zero_one_minusone().
#define TYPE_USER_ALIGN | ( | NODE | ) |
1 if the alignment for this type was requested by "aligned" attribute, 0 if it is the default for this type.
Referenced by build_aligned_type(), build_common_tree_nodes(), build_range_type_1(), check_aligned_type(), check_base_type(), do_type_align(), expand_expr_addr_expr_1(), finalize_type_size(), finish_builtin_struct(), hash_tree(), layout_type(), make_node(), min_align_of_type(), pack_ts_type_common_value_fields(), place_field(), print_node(), unpack_ts_type_common_value_fields(), update_alignment_for_field(), and verify_opaque_type().
#define TYPE_VALUES | ( | NODE | ) |
Referenced by dequeue_and_dump(), type_cache_hasher::equal(), go_output_typedef(), ipa_odr_summary_write(), print_node(), verify_type(), and verify_type_variant().
#define TYPE_VALUES_RAW | ( | NODE | ) |
Referenced by verify_type().
#define TYPE_VECTOR_OPAQUE | ( | NODE | ) |
Nonzero in a VECTOR_TYPE if the frontends should not emit warnings about missing conversions to other vector types of the same size.
Referenced by build_opaque_vector_type().
#define TYPE_VFIELD | ( | NODE | ) |
Referenced by verify_type(), and verify_type_variant().
#define TYPE_VOLATILE | ( | NODE | ) |
Nonzero in a type considered volatile as a whole.
Referenced by assign_stack_temp_for_type(), can_implement_as_sibling_call_p(), maybe_make_indirect(), objects_must_conflict_p(), set_mem_attributes_minus_bitpos(), set_type_quals(), type_internals_preclude_sra_p_1(), and ubsan_type_descriptor().
#define TYPE_WARN_IF_NOT_ALIGN | ( | NODE | ) |
Referenced by build_range_type_1(), do_type_align(), finish_builtin_struct(), handle_warn_if_not_align(), layout_type(), place_field(), and print_node().
#define TYPE_WARN_IF_NOT_ALIGN_RAW | ( | NODE | ) |
The minimum alignment necessary for objects of this type without warning. The value is an int, measured in bits.
#define uda_type_node global_trees[TI_UDA_TYPE] |
#define udq_type_node global_trees[TI_UDQ_TYPE] |
#define uha_type_node global_trees[TI_UHA_TYPE] |
#define uhq_type_node global_trees[TI_UHQ_TYPE] |
#define uint128_type_node global_trees[TI_UINT128_TYPE] |
Referenced by build_common_tree_nodes().
#define uint16_type_node global_trees[TI_UINT16_TYPE] |
Referenced by build_common_tree_nodes(), and initialize_sanitizer_builtins().
#define uint32_type_node global_trees[TI_UINT32_TYPE] |
Referenced by build_common_tree_nodes(), gen_counter_update(), and initialize_sanitizer_builtins().
#define uint64_type_node global_trees[TI_UINT64_TYPE] |
Referenced by build_common_tree_nodes(), and initialize_sanitizer_builtins().
#define UNARY_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents a unary arithmetic expression.
Referenced by dr_equal_offsets_p1(), expand_debug_expr(), extract_muldiv_1(), range_query::get_tree_range(), skip_simple_arithmetic(), skip_simple_constant_arithmetic(), substitute_placeholder_in_expr(), and will_be_nonconstant_expr_predicate().
#define unsigned_accum_type_node global_trees[TI_UACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define unsigned_char_type_node integer_types[itk_unsigned_char] |
Referenced by build_common_tree_nodes(), build_complex_type(), array_bounds_checker::check_mem_ref(), classify_builtin_st(), expand_builtin_memset_args(), finish_bitfield_representative(), fold_builtin_memcmp(), get_typenode_from_name(), gimple_fold_builtin_memory_op(), gimple_get_alias_set(), gimple_load_first_char(), gimple_signed_or_unsigned_type(), handle_builtin_alloca(), initialize_sanitizer_builtins(), inline_expand_builtin_bytecmp(), inline_string_cmp(), instrument_builtin(), instrument_object_size(), lhd_type_for_size(), stack_protect_classify_type(), try_store_by_multiple_pieces(), ubsan_expand_null_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_vptr_ifn(), and vect_check_gather_scatter().
#define unsigned_fract_type_node global_trees[TI_UFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define unsigned_intDI_type_node global_trees[TI_UINTDI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define unsigned_intHI_type_node global_trees[TI_UINTHI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define unsigned_intQI_type_node global_trees[TI_UINTQI_TYPE] |
#define unsigned_intSI_type_node global_trees[TI_UINTSI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define unsigned_intTI_type_node global_trees[TI_UINTTI_TYPE] |
Referenced by build_common_tree_nodes(), gimple_signed_or_unsigned_type(), and lhd_type_for_size().
#define unsigned_long_accum_type_node global_trees[TI_ULACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define unsigned_long_fract_type_node global_trees[TI_ULFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define unsigned_long_long_accum_type_node global_trees[TI_ULLACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define unsigned_long_long_fract_type_node global_trees[TI_ULLFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define unsigned_short_accum_type_node global_trees[TI_USACCUM_TYPE] |
Referenced by make_or_reuse_accum_type().
#define unsigned_short_fract_type_node global_trees[TI_USFRACT_TYPE] |
Referenced by make_or_reuse_fract_type().
#define unsigned_type_node integer_types[itk_unsigned_int] |
Referenced by adjust_simduid_builtins(), asan_add_global(), build_cltz_expr(), build_common_tree_nodes(), build_complex_type(), build_personality_function(), build_popcount_expr(), create_odr_indicator(), dump_generic_node(), expand_omp_for_generic(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_parallel_call(), expand_task_call(), expand_teams_call(), find_loop_niter(), fold_builtin_bit_query(), fold_builtin_isdigit(), get_target_argument_value(), get_typenode_from_name(), get_ws_args_for(), gimple_gen_interval_profiler(), gimple_init_gcov_profiler(), gimple_signed_or_unsigned_type(), inline_string_cmp(), lhd_type_for_size(), loop_niter_by_eval(), lower_lastprivate_clauses(), lower_lastprivate_conditional_clauses(), lower_oacc_head_tail(), lower_oacc_reductions(), lower_omp_for_scan(), lower_omp_scan(), lower_omp_sections(), lower_omp_teams(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), max_stmt_executions_tree(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_popcount(), oacc_dim_call(), oacc_launch_pack(), oacc_loop_process(), oacc_loop_xform_head_tail(), oacc_thread_numbers(), omp_adjust_chunk_size(), simd_clone_adjust(), ubsan_get_source_location_type(), ubsan_source_location(), and vectorizable_call().
#define UNUSED_LABEL_P | ( | NODE | ) |
Set on label that is known not to be jumped to, it can be only reached by falling through from previous statements. This is used to implement -Wimplicit-fallthrough.
Referenced by collect_fallthrough_labels(), and gimplify_cond_expr().
#define uqq_type_node global_trees[TI_UQQ_TYPE] |
#define usa_type_node global_trees[TI_USA_TYPE] |
#define usq_type_node global_trees[TI_USQ_TYPE] |
#define uta_type_node global_trees[TI_UTA_TYPE] |
#define utq_type_node global_trees[TI_UTQ_TYPE] |
#define va_list_fpr_counter_field global_trees[TI_VA_LIST_FPR_COUNTER_FIELD] |
Referenced by optimize_va_list_gpr_fpr_size(), and va_list_counter_struct_op().
#define va_list_gpr_counter_field global_trees[TI_VA_LIST_GPR_COUNTER_FIELD] |
Referenced by optimize_va_list_gpr_fpr_size(), and va_list_counter_struct_op().
#define va_list_type_node global_trees[TI_VA_LIST_TYPE] |
Referenced by build_common_tree_nodes(), is_va_list_type(), std_canonical_va_list_type(), and std_fn_abi_va_list().
#define VAR_DECL_IS_VIRTUAL_OPERAND | ( | NODE | ) |
In a VAR_DECL, nonzero if this is a global variable for VOPs.
Referenced by create_vop_var(), ana::state_purge_map::get_data_for_ssa_name(), mark_virtual_operand_for_renaming(), remap_ssa_name(), target_for_debug_bind(), and virtual_operand_p().
#define VAR_OR_FUNCTION_DECL_P | ( | DECL | ) |
Nonzero if DECL represents a VAR_DECL or FUNCTION_DECL.
Referenced by can_refer_decl_in_current_unit_p(), canonicalize_constructor_val(), DFS::DFS_write_tree_body(), fold_builtin_expect(), make_decl_one_only(), mangle_referenced_decls(), symtab_node::maybe_create_reference(), need_assembler_name_p(), secname_for_decl(), simple_operand_p(), streamer_write_chain(), streamer_write_chain(), update_vtable_references(), and write_symbol().
#define VAR_P | ( | NODE | ) |
True if NODE designates a variable declaration.
Referenced by add_clobbers_to_eh_landing_pad(), add_decls_addresses_to_decl_constructor(), add_local_decl(), add_local_variables(), add_location_or_const_value_attribute(), add_mask_else_and_len_args(), add_scope_conflicts_1(), add_var_loc_to_decl(), address_compare(), analyze_all_variable_accesses(), analyze_functions(), array_ref_flexible_size_p(), asan_protect_global(), varpool_node::assemble_decl(), assemble_variable(), assumption_copy_decl(), auto_var_p(), build_constant_desc(), build_ssa_conflict_graph(), builtin_save_expr(), call_may_clobber_ref_p_1(), can_be_nonlocal(), can_escape(), symtab_node::can_increase_alignment_p(), can_refer_decl_in_current_unit_p(), canonicalize_constructor_val(), categorize_decl_for_section(), symbol_table::change_decl_assembler_name(), check_all_va_list_escapes(), array_bounds_checker::check_array_ref(), check_global_declaration(), check_scan_store(), chrec_contains_symbols(), clear_tree_used(), clear_unused_block_pointer_in_block(), coalesce_with_default(), compare_base_decls(), compare_base_symbol_refs(), compare_virtual_tables(), component_ref_size(), computable_teams_clause(), compute_live_vars_1(), compute_live_vars_visit(), consider_split(), constant_byte_string(), constant_decl_p(), convert_local_omp_clauses(), convert_local_reference_stmt(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_stmt(), copy_debug_stmt(), copy_decl_for_dup_finish(), copy_node(), copy_ref_info(), symtab_node::copy_visibility_from(), strlen_pass::count_nonzero_bytes(), varpool_node::create_alias(), create_variable_info_for(), ctor_for_folding(), decl_attributes(), decl_by_reference_p(), decl_in_symtab_p(), decl_init_priority_insert(), decl_maybe_in_construction_p(), decl_overlaps_hard_reg_set_p(), default_encode_section_info(), default_section_type_flags(), default_tree_printer(), delegitimize_mem_from_attrs(), dequeue_and_dump(), DFS::DFS_write_tree_body(), diag_attr_exclusions(), do_assemble_alias(), dwarf2out_type_decl(), emit_push_insn(), symtab_node::equal_address_to(), execute_fixup_cfg(), execute_update_addresses_taken(), expand_assignment(), expand_call_inline(), expand_debug_expr(), expand_expr_real_1(), expand_expr_real_2(), expand_fn_using_insn(), expand_omp_regimplify_p(), expand_omp_target(), expand_omp_taskreg(), expand_one_var(), expand_thunk(), expand_used_vars_for_block(), varpool_node::finalize_named_section_flags(), find_assumption_locals_r(), find_local_vars_to_propagate(), find_partitioned_var_uses_1(), find_replaceable_in_bb(), find_simtpriv_var_op(), find_tail_calls(), find_va_list_reference(), find_var_candidates(), finish_taskreg_remap(), fixed_address_object_p(), fixup_vla_decls(), fold_unary_loc(), force_constant_size(), force_expr_to_var_cost(), fortran_common(), fully_constant_vn_reference_p(), gen_variable_die(), generic_parameter_die(), get_alias_set(), get_block_for_decl(), get_component_ssa_name(), get_constraint_for_1(), get_constraint_for_ssa_var(), symtab_node::get_create(), varpool_node::get_create(), get_debug_decl(), get_default_value(), get_range_strlen_tree(), get_ref_base_and_extent(), get_symbol_initial_value(), gimple_can_coalesce_p(), gimple_duplicate_bb(), gimple_expand_vec_set_extract_expr(), gimple_get_virt_method_for_vtable(), gimple_lower_bitint(), gimplify_adjust_omp_clauses_1(), gimplify_asm_expr(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_compound_lval(), gimplify_decl_expr(), gimplify_init_constructor(), gimplify_modify_expr(), gimplify_modify_expr_rhs(), gimplify_oacc_declare(), gimplify_omp_for(), gimplify_one_sizepos(), gimplify_type_sizes(), gimplify_var_or_parm_decl(), handle_alias_pairs(), implicit_ptr_descriptor(), initialize_inlined_parameters(), install_var_field(), instantiate_decls_1(), instantiate_expr(), instrument_bool_enum_load(), instrument_derefs(), instrument_expr(), instrument_object_size(), ipa_compute_jump_functions_for_edge(), ipa_find_agg_cst_from_init(), ipa_set_jf_constant(), is_addr_local(), is_asan_mark_p(), is_gimple_asm_val(), is_gimple_reg(), is_gimple_variable(), lhd_set_decl_assembler_name(), lhd_warn_unused_global_decl(), load_register_parameters(), loc_list_from_tree_1(), lookup_field_for_decl(), lower_assumption(), lower_emutls_2(), lower_lastprivate_clauses(), lower_omp_regimplify_p(), lower_omp_scan(), lower_stmt(), lto_input_ts_decl_common_tree_pointers(), lto_input_var_decl_ref(), lto_output_var_decl_ref(), lto_read_tree_1(), symtab_node::make_decl_local(), make_decl_one_only(), make_decl_rtl(), make_ssa_name_fn(), mark_address(), mark_address_taken(), mark_addressable(), mark_all_vars_used_1(), mark_decl_referenced(), mark_load(), mark_nonssa_use(), mark_store(), may_propagate_copy(), maybe_instrument_pointer_overflow(), maybe_optimize_ubsan_ptr_ifn(), maybe_register_def(), maybe_remove_writeonly_store(), maybe_set_strlen_range(), maybe_warn_operand(), move_stmt_op(), need_assembler_name_p(), nesting_copy_decl(), new_var_info(), note_no_context_vars(), note_nonlocal_vla_type(), note_simd_array_uses_cb(), notice_global_symbol(), oacc_privatization_candidate_p(), oacc_rewrite_var_decl(), omp_declare_target_var_p(), omp_default_clause(), omp_discover_declare_target_var_r(), omp_discover_implicit_declare_target(), omp_member_access_dummy_var(), omp_notice_variable(), ompdevlow_adjust_simt_enter(), optimize_va_list_gpr_fpr_size(), output_constant_def_contents(), output_gimple_stmt(), symtab_node::output_to_lto_symbol_table_p(), output_ttype(), pack_ts_decl_common_value_fields(), pack_ts_decl_with_vis_value_fields(), partition_view_init(), place_field(), populate_coalesce_list_for_outofssa(), print_call_name(), print_declaration(), process_alt_operands(), process_references(), symbol_table::process_same_body_aliases(), propagate_controlled_uses(), ptr_deref_may_alias_decl_p(), ptrs_compare_unequal(), readonly_data_expr(), record_reference(), record_type_list(), record_vars_into(), ref_maybe_used_by_call_p_1(), reference_to_unused(), referenced_from_vtable_p(), remap_decl(), remap_decls(), remap_ssa_name(), remap_vla_decls(), remove_dead_stmt(), remove_unused_locals(), remove_unused_scope_block_p(), replace_block_vars_by_duplicates(), replace_locals_op(), requires_barrier(), reset_debug_binding(), rest_of_decl_compilation(), rewrite_stmt(), rtl_for_decl_location(), set_decl_section_name(), set_decl_section_name(), set_mem_attributes_minus_bitpos(), set_rtl(), set_ssa_default_def(), set_uids_in_ptset(), setjmp_vars_warning(), ssa_default_def(), ssa_defined_default_def_p(), statement_sink_location(), target_for_debug_bind(), test_nonssa_use(), thunk_adjust(), tls_mem_loc_descriptor(), track_expr_p(), tree_add_const_value_attribute_for_decl(), tree_is_indexable(), unpack_ts_decl_common_value_fields(), unpack_ts_decl_with_vis_value_fields(), use_blocks_for_decl_p(), va_list_counter_struct_op(), va_list_ptr_read(), va_list_ptr_write(), var_debug_decl(), vect_analyze_data_refs(), vect_can_force_dr_alignment_p(), vect_get_vec_defs_for_operand(), vect_slp_analyze_node_operations(), vectorizable_load(), vectorizable_store(), verify_address(), symtab_node::verify_base(), verify_bb_vtables(), verify_expr_location_1(), verify_live_on_entry(), verify_node_partition(), verify_phi_args(), verify_type(), virtual_operand_p(), visit_loadstore(), warn_uninit(), worker_single_copy(), wrap_refs(), wrapup_global_declaration_1(), wrapup_global_declaration_2(), write_symbol(), write_symbol_extension_info(), and write_ts_decl_common_tree_pointers().
#define VECTOR_BOOLEAN_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a vector of booleans.
Referenced by add_mask_else_and_len_args(), append_pattern_def_seq(), const_vector_from_tree(), do_compare_rtx_and_jump(), do_store_flag(), expand_expr_real_2(), expand_fn_using_insn(), expand_vec_cond_expr_p(), expand_vector_comparison(), expand_vector_condition(), expand_vector_operations_1(), expand_widen_pattern_expr(), gimple_expand_vec_cond_expr(), is_truth_type_for(), layout_type(), make_vector_type(), native_encode_vector_part(), native_interpret_vector_part(), simplify_vector_constructor(), store_constructor(), supportable_narrowing_operation(), supportable_widening_operation(), truth_type_for(), type_strictly_matches_mode_p(), vect_build_all_ones_mask(), vect_check_scalar_mask(), vect_create_constant_vectors(), vect_create_destination_var(), vect_emulated_vector_p(), vect_get_vec_defs_for_operand(), vect_get_vector_types_for_stmt(), vect_init_pattern_stmt(), vect_init_vector(), vect_is_simple_cond(), vect_maybe_update_slp_op_vectype(), vect_slp_convert_to_external(), vector_element_bits(), vector_element_bits_tree(), vectorizable_assignment(), vectorizable_call(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_conversion(), vectorizable_live_operation(), vectorizable_live_operation_1(), vectorizable_operation(), vectorizable_simd_clone_call(), vectorizable_store(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_comparison(), and vn_reference_eq().
#define VECTOR_CST_DUPLICATE_P | ( | NODE | ) |
Referenced by initializer_zerop(), integer_all_onesp(), integer_onep(), integer_zerop(), real_minus_onep(), real_onep(), and uniform_vector_p().
#define VECTOR_CST_ELT | ( | NODE, | |
IDX ) |
Referenced by build_vector_from_ctor(), calc_perm_vec_perm_simplify_seqs(), categorize_ctor_elements_1(), const_binop(), const_unop(), const_vector_from_tree(), const_vector_mask_from_tree(), drop_tree_overflow(), dump_generic_node(), exact_inverse(), expand_debug_expr(), expand_expr_real_1(), expand_vector_divmod(), fold_const_fold_left(), fold_const_reduction(), fold_const_vec_convert(), fold_convert_const(), fold_negate_expr_1(), fold_read_from_vector(), fold_relational_const(), fold_ternary_loc(), is_combined_permutation_identity(), native_encode_vector_part(), output_constant(), recognise_vec_perm_simplify_seq(), simplify_bitfield_ref(), vec_cst_ctor_to_array(), vector_const_binop(), vector_element(), and vn_reference_lookup_3().
#define VECTOR_CST_ENCODED_ELT | ( | NODE, | |
ELT ) |
Referenced by compare_constant(), const_hash_1(), const_with_all_bytes_same(), DFS::DFS_write_tree_body(), ipa_icf::sem_variable::equals(), operand_compare::hash_operand(), hash_tree(), initializer_zerop(), integer_all_onesp(), integer_onep(), integer_zerop(), lto_input_ts_vector_tree_pointers(), negate_expr_p(), operand_compare::operand_equal_p(), print_node(), real_maybe_zerop(), real_minus_onep(), real_onep(), real_zerop(), tree_to_vec_perm_builder(), uniform_vector_p(), valid_lattice_transition(), vector_cst_elt(), vector_cst_int_elt(), walk_tree_1(), and write_ts_vector_tree_pointers().
#define VECTOR_CST_ENCODED_ELTS | ( | NODE | ) |
Referenced by tree_vector_builder::build().
#define VECTOR_CST_LOG2_NPATTERNS | ( | NODE | ) |
Referenced by make_vector(), operand_compare::operand_equal_p(), and streamer_write_tree_header().
#define VECTOR_CST_NELTS | ( | NODE | ) |
In a VECTOR_CST node. See generic.texi for details.
Referenced by bitmask_inv_cst_vector_p(), build_vector_from_ctor(), categorize_ctor_elements_1(), const_binop(), const_unop(), dump_generic_node(), ipa_icf::sem_variable::equals(), expand_debug_expr(), expand_expr_real_1(), fold_const_fold_left(), fold_const_reduction(), fold_convert_const(), fold_relational_const(), fold_ternary_loc(), is_combined_permutation_identity(), native_encode_vector(), tree_vector_builder::nelts_of(), output_constant(), recognise_vec_perm_simplify_seq(), simplify_bitfield_ref(), single_nonzero_element(), and vec_cst_ctor_to_array().
#define VECTOR_CST_NELTS_PER_PATTERN | ( | NODE | ) |
Referenced by compare_constant(), const_hash_1(), const_vector_from_tree(), const_vector_mask_from_tree(), fold_vec_perm_cst(), fold_view_convert_vector_encoding(), operand_compare::hash_operand(), make_vector(), tree_vector_builder::nelts_per_pattern_of(), operand_compare::operand_equal_p(), print_node(), single_nonzero_element(), streamer_write_tree_header(), tree_to_vec_perm_builder(), and vector_cst_encoded_nelts().
#define VECTOR_CST_NPATTERNS | ( | NODE | ) |
Referenced by compare_constant(), const_hash_1(), const_vector_from_tree(), const_vector_mask_from_tree(), fold_view_convert_vector_encoding(), operand_compare::hash_operand(), initializer_zerop(), integer_all_onesp(), integer_onep(), integer_zerop(), tree_vector_builder::npatterns_of(), print_node(), real_minus_onep(), real_onep(), single_nonzero_element(), tree_to_vec_perm_builder(), uniform_vector_p(), valid_mask_for_fold_vec_perm_cst_p(), vector_cst_elt(), vector_cst_encoded_nelts(), and vector_cst_int_elt().
#define VECTOR_CST_STEPPED_P | ( | NODE | ) |
Referenced by fold_view_convert_vector_encoding(), initializer_each_zero_or_onep(), operation_could_trap_helper_p(), vector_const_binop(), vector_cst_elt(), and vector_cst_int_elt().
#define VECTOR_FLOAT_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a vector floating-point type.
Referenced by valid_lattice_transition(), and verify_gimple_assign_unary().
#define VECTOR_INTEGER_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a vector integer type.
Referenced by bitmask_inv_cst_vector_p(), expand_vector_operation(), expand_vector_operations_1(), fold_binary_loc(), simplify_permutation(), verify_gimple_assign_unary(), and verify_gimple_comparison().
#define VECTOR_TYPE_P | ( | TYPE | ) |
Nonzero if TYPE represents a vector type.
Referenced by build_uniform_cst(), compare_access_positions(), compare_type_sizes(), compound_type_base(), constant_boolean_node(), copy_decl_for_dup_finish(), strlen_pass::count_nonzero_bytes(), determine_max_movement(), directly_supported_p(), directly_supported_p(), do_binop(), do_cond(), do_store_flag(), do_vec_conversion(), element_mode(), estimate_move_cost(), execute_update_addresses_taken(), expand_cond_expr_using_cmove(), expand_debug_expr(), expand_expr_real_1(), expand_expr_real_2(), expand_gimple_basic_block(), expand_UBSAN_CHECK_ADD(), expand_UBSAN_CHECK_MUL(), expand_UBSAN_CHECK_SUB(), expand_vector_conversion(), expand_vector_operations_1(), expand_vector_piecewise(), fold_binary_loc(), fold_binary_op_with_conditional_arg(), fold_cond_expr_with_comparison(), fold_const_vec_convert(), fold_convert_const(), fold_convert_loc(), fold_convertible_p(), fold_indirect_ref_1(), fold_invert_truthvalue(), fold_read_from_vector(), fold_relational_const(), fold_ternary_loc(), fold_view_convert_expr(), get_inner_reference(), get_scalar_evolution(), gimple_canonical_types_compatible_p(), gimple_expand_vec_set_extract_expr(), handle_mem_ref(), initializer_constant_valid_p(), instrument_si_overflow(), invert_truthvalue_loc(), loop_has_vector_phi_nodes(), lto_read_tree_1(), maybe_canonicalize_mem_ref_addr(), maybe_resimplify_conditional_op(), maybe_rewrite_mem_ref_base(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), note_nonlocal_vla_type(), odr_types_equivalent_p(), operand_compare::operand_equal_p(), optab_for_tree_code(), optimize_atomic_compare_exchange_p(), optimize_mask_stores(), pack_ts_decl_common_value_fields(), pack_ts_type_common_value_fields(), propagate_subaccesses_from_rhs(), reassociate_bb(), reduce_vector_comparison_to_scalar_comparison(), reverse_storage_order_for_component_p(), sign_mask_for(), simd_clone_init_simd_arrays(), simplify_using_ranges::simplify_internal_call_using_ranges(), simplify_permutation(), simplify_vector_constructor(), store_constructor(), subparts_gt(), supportable_convert_operation(), supportable_half_widening_operation(), tree_simple_nonnegative_warnv_p(), type_for_widest_vector_mode(), type_has_components_p(), type_strictly_matches_mode_p(), undistribute_bitref_for_vector(), uniform_integer_cst_p(), uniform_vector_p(), useless_type_conversion_p(), valid_gimple_rhs_p(), vect_build_one_gather_load_call(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_create_epilog_for_reduction(), vect_create_half_widening_stmts(), vect_init_vector(), vect_recog_cond_store_pattern(), vect_recog_gcond_pattern(), vect_slp_check_for_roots(), vect_transform_loop(), vector_element_bits(), vector_element_bits_tree(), vector_vector_composition_type(), vectorizable_load(), vectorizable_store(), vectorized_internal_fn_supported_p(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), and verify_gimple_comparison().
#define VL_EXP_CHECK | ( | T | ) |
#define VL_EXP_CLASS_P | ( | NODE | ) |
Nonzero if NODE represents a function call-like expression with a variable-length operand vector.
Referenced by expand_expr_real_1(), extract_muldiv_1(), substitute_placeholder_in_expr(), and tree_operand_length().
#define VL_EXP_OPERAND_LENGTH | ( | NODE | ) |
In a tcc_vl_exp node, operand 0 is an INT_CST node holding the operand length. Its value includes the length operand itself; that is, the minimum valid length is 1. Note that we have to bypass the use of TREE_OPERAND to access that field to avoid infinite recursion in expanding the macros.
Referenced by tree_operand_length(), and tree_size().
#define void_list_node global_trees[TI_VOID_LIST_NODE] |
The node that should be placed at the end of a parameter list to indicate that the function does not take a variable number of arguments. The TREE_VALUE will be void_type_node and there will be no TREE_CHAIN. Language-independent code should not assume anything else about this node.
Referenced by block_move_libcall_safe_for_call_parm(), build_adjusted_function_type(), build_common_builtin_nodes(), build_common_tree_nodes(), build_function_type_array_1(), build_function_type_list_1(), dump_function_declaration(), get_call_args(), ipa_get_callee_param_type(), lower_assumption(), lower_resx(), maybe_canonicalize_argtypes(), prepare_call_arguments(), and simd_clone_adjust_argument_types().
#define void_node global_trees[TI_VOID] |
#define void_type_node global_trees[TI_VOID_TYPE] |
Referenced by alloc_stmt_list(), asan_expand_mark_ifn(), assign_parm_find_data_types(), build3(), build_adjusted_function_type(), build_and_jump(), build_asan_poison_call_expr(), build_case_label(), build_common_builtin_nodes(), build_common_tree_nodes(), build_cxa_atexit_decl(), build_empty_stmt(), build_gcov_exit_decl(), build_info_type(), build_init_ctor(), build_predict_expr(), cgraph_build_static_cdtor_1(), count_num_arguments(), create_artificial_label(), create_loop_fn(), create_omp_child_function(), create_task_copyfn(), create_vop_var(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), do_rpo_vn_1(), dump_generic_node(), eliminate_dom_walker::eliminate_stmt(), emit_library_call_value_1(), function_arg_info::end_marker(), evaluate_properties_for_edge(), expand_expr_real_2(), expand_omp_atomic_fetch_op(), expand_omp_for_generic(), expand_omp_target(), fold_builtin_addc_subc(), fold_builtin_arith_overflow(), fold_builtin_sincos(), force_gimple_operand_1(), free_odr_warning_data(), get_spill_slot_decl(), get_trampoline_type(), gimple_fold_call(), gimple_init_gcov_profiler(), gimple_push_cleanup(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_cond_expr(), gimplify_decl_expr(), gimplify_exit_expr(), gimplify_init_constructor(), gimplify_modify_expr_rhs(), gimplify_omp_affinity(), gimplify_omp_atomic(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_save_expr(), gimplify_scan_omp_clauses(), gimplify_target_expr(), gimplify_transaction(), handle_builtin_alloca(), initialize_sanitizer_builtins(), layout_decl(), lower_omp_master(), lower_omp_single_copy(), lower_omp_target(), lower_rec_input_clauses(), lower_reduction_clauses(), lto_output_decl_state_refs(), maybe_remove_unused_call_args(), maybe_warn_nonstring_arg(), move_hint_to_base(), omit_one_operand_loc(), omp_apply_tile(), unsupported_range::operator=(), optimize_stdarg_builtin(), optimize_va_list_gpr_fpr_size(), push_dummy_function(), cgraph_edge::redirect_call_stmt_to_callee(), rt_bb_visited::rt_bb_visited(), self_referential_size(), set_stack_check_libfunc(), ipcp_vr_lattice::set_to_bottom(), shortcut_cond_expr(), shortcut_cond_r(), simd_clone_adjust(), simd_clone_adjust_argument_types(), simd_clone_adjust_return_type(), simd_clone_clauses_extract(), stdarg_p(), tree_function_versioning(), tree_ssa_prefetch_arrays(), unsupported_range::type(), type_argument_type(), ubsan_encode_value(), ubsan_instrument_float_cast(), and voidify_wrapper_expr().
#define VOID_TYPE_P | ( | NODE | ) |
Nonzero if this type is the (possibly qualified) void type.
Referenced by ipa_param_adjustments::adjust_decl(), aggregate_value_p(), assign_parm_find_data_types(), btf_add_const_void(), btf_datasec_add_var(), builtin_call_nomodifying_p(), builtin_mathfn_code(), consider_split(), convert_to_integer_1(), create_coalesce_list_for_region(), create_function_info_for(), declare_return_variable(), funct_state_summary_t::duplicate(), eliminate_dom_walker::eliminate_stmt(), estimate_move_cost(), expand_expr_real_2(), expand_return(), expand_thunk(), fixup_noreturn_call(), fold_binary_op_with_conditional_arg(), fold_builtin_atomic_always_lock_free(), fold_ternary_loc(), fold_truth_not_expr(), fold_unary_loc(), for_all_parms(), get_ref_base_and_extent(), gimple_build(), gimple_build(), gimple_build(), gimple_build(), gimple_builtin_call_types_compatible_p(), gimple_canonical_types_compatible_p(), gimple_fold_call(), gimplify_arg(), gimplify_asm_expr(), gimplify_call_expr(), gimplify_cond_expr(), gimplify_expr(), gimplify_modify_expr_rhs(), gimplify_return_expr(), gimplify_target_expr(), go_format_type(), goa_stabilize_expr(), instrument_object_size(), is_gimple_stmt(), maybe_diag_incompatible_alias(), maybe_rewrite_mem_ref_base(), non_rewritable_mem_ref_base(), parm_object_size(), plausible_type_for_simd_clone(), propagate_malloc(), cgraph_edge::redirect_call_stmt_to_callee(), ref_all_alias_ptr_type_p(), shortcut_cond_r(), split_function(), store_expr(), tree_builtin_call_types_compatible_p(), tree_function_versioning(), tree_invalid_nonnegative_warnv_p(), type_argument_type(), type_num_arguments(), voidify_wrapper_expr(), warn_function_const(), and warn_function_pure().
Referenced by add_candidate_1(), add_local_variables(), clear_unused_block_pointer(), clear_unused_block_pointer_in_block(), computation_cost(), contains_label_1(), contains_label_p(), convert_local_omp_clauses(), convert_local_reference_op(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), convert_tramp_reference_stmt(), copy_debug_stmt(), copy_if_shared(), copy_if_shared_r(), copy_phis_for_bb(), copy_tree_body(), copy_tree_body_r(), create_dispatcher_calls(), eliminate_local_variables_stmt(), expand_omp_build_assign(), expand_omp_build_cond(), expand_omp_simd(), extract_omp_for_update_vars(), find_inv_vars(), find_ssaname_in_store(), finish_taskreg_scan(), fixup_child_record_type(), fixup_remapped_decl(), function_and_variable_visibility(), get_symbol_initial_value(), gimplify_decl_expr(), gimplify_init_constructor(), gimplify_init_ctor_preeval(), gimplify_omp_dispatch(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_scan_omp_clauses(), ifcombine_replace_cond(), insert_debug_temp_for_var_def(), instantiate_decls(), instantiate_decls_1(), instantiate_expr(), ipa_simd_modify_stmt_ops(), lower_emutls_1(), lower_emutls_phi_arg(), lower_omp_1(), lto_output(), mark_all_vars_used(), maybe_optimize_arith_overflow(), omp_maybe_apply_loop_xforms(), optimize_target_teams(), optimize_va_list_gpr_fpr_size(), record_references_in_initializer(), remap_decl(), remap_decls(), remap_gimple_op_r(), remap_gimple_stmt(), remap_type_1(), remap_vla_decls(), ipa_param_body_adjustments::remap_with_debug_expressions(), replace_block_vars_by_duplicates(), replace_trapping_overflow(), rewrite_to_non_trapping_overflow(), rtl_for_decl_init(), scan_omp_op(), self_referential_size(), task_copyfn_remap_type(), tree_add_const_value_attribute(), tree_function_versioning(), tree_overlaps_hard_reg_set(), unmark_visited(), unshare_and_remap(), unshare_expr(), unshare_expr_without_location(), update_clone_info(), verify_expr_location_1(), verify_gimple_in_cfg(), verify_loop_structure(), walk_gimple_asm(), walk_gimple_omp_for(), and walk_gimple_op().
Referenced by contains_abnormal_ssa_name_p(), debug_find_tree(), determine_base_object(), gimplify_omp_for(), gimplify_omp_loop(), omp_discover_declare_target_fn_r(), omp_discover_implicit_declare_target(), and walk_type_fields().
typedef generic_wide_int<wi::extended_tree <WIDEST_INT_MAX_PRECISION * 2> > widest2_int_cst |
Used to convert a tree to a widest2_int like this: widest2_int foo = widest2_int_cst (some_tree).
enum access_mode |
enum cst_size_error |
|
strong |
|
extern |
Allocate and return a new UID from the DECL_UID namespace.
References next_decl_uid.
Referenced by build_fake_var_decl(), copy_node(), ipa_pta_execute(), and make_node().
|
extern |
Like int_size_in_bytes, but handle empty records specially.
References int_size_in_bytes(), and TYPE_EMPTY_P.
Referenced by copy_blkmode_to_reg(), hard_function_value(), and store_one_arg().
|
extern |
Like size_in_bytes, but handle empty records specially.
References size_in_bytes(), size_zero_node, and TYPE_EMPTY_P.
Referenced by locate_and_pad_parm(), std_gimplify_va_arg_expr(), and store_one_arg().
Return a tree of sizetype representing the size, in bytes, of the element of EXP, an ARRAY_REF or an ARRAY_RANGE_REF.
References exp(), EXPR_LOCATION, fold_convert_loc(), size_binop_loc(), size_int, sizetype, SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, TREE_TYPE, TYPE_ALIGN_UNIT, and TYPE_SIZE_UNIT.
Referenced by compute_object_offset(), constant_byte_string(), dump_generic_node(), ipa_icf::sem_variable::equals(), fold_addr_of_array_ref_difference(), fold_const_aggregate_ref_1(), get_addr_base_and_unit_offset_1(), get_inner_reference(), get_ref_base_and_extent(), get_up_bounds_for_array_ref(), gimplify_compound_lval(), gimplify_scan_omp_clauses(), idx_analyze_ref(), idx_find_step(), operand_compare::operand_equal_p(), and strip_offset_1().
Returns true if REF is an array reference, a component reference, or a memory reference to an array whose actual size might be larger than its upper bound implies.
Returns true if REF is an array reference, a component reference, or a memory reference to an array whose actual size might be larger than its upper bound implies, there are multiple cases: A. a ref to a flexible array member at the end of a structure; B. a ref to an array with a different type against the original decl; for example: short a[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; (*((char(*)[16])&a[0]))[i+8] C. a ref to an array that was passed as a parameter; for example: int test (uint8_t *p, uint32_t t[1][1], int n) { for (int i = 0; i < 4; i++, p++) t[i][0] = ...; If non-null, set IS_TRAILING_ARRAY to true if the ref is the above case A.
References DECL_CHAIN, DECL_COMMON, DECL_NOT_FLEXARRAY, DECL_P, DECL_SIZE, DECL_SIZE_UNIT, gcc_assert, gcc_unreachable, get_addr_base_and_unit_offset(), get_base_address(), handled_component_p(), known_le, last_field(), NULL_TREE, offset, wi::to_offset(), TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_DOMAIN, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_SIZE, TYPE_SIZE_UNIT, and VAR_P.
Referenced by addr_object_size(), component_ref_sam_type(), component_ref_to_zero_sized_trailing_array_p(), get_range_strlen_tree(), idx_infer_loop_bounds(), idx_within_array_bound(), maybe_set_strlen_range(), stmt_kills_ref_p(), and trailing_array().
Return a tree representing the lower bound of the array mentioned in EXP, an ARRAY_REF or an ARRAY_RANGE_REF.
References build_int_cst(), error_mark_node, exp(), integer_zero_node, SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, TREE_TYPE, TYPE_DOMAIN, and TYPE_MIN_VALUE.
Referenced by check_out_of_bounds_and_warn(), compute_object_offset(), constant_byte_string(), copy_reference_ops_from_ref(), dump_generic_node(), ipa_icf::sem_variable::equals(), expand_expr_real_1(), expr_with_var_bounded_array_refs_p(), fold_const_aggregate_ref_1(), fold_read_from_constant_string(), get_addr_base_and_unit_offset_1(), get_inner_reference(), get_ref_base_and_extent(), gimplify_compound_lval(), gimplify_scan_omp_clauses(), handle_array_ref(), idx_find_step(), idx_infer_loop_bounds(), idx_within_array_bound(), in_array_bounds_p(), maybe_canonicalize_mem_ref_addr(), operand_compare::operand_equal_p(), optimize_count_trailing_zeroes(), and range_in_array_bounds_p().
Return a tree representing the upper bound of the array mentioned in EXP, an ARRAY_REF or an ARRAY_RANGE_REF.
References exp(), NULL_TREE, SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, TREE_TYPE, TYPE_DOMAIN, and TYPE_MAX_VALUE.
Referenced by array_bounds_checker::check_array_ref(), copy_reference_ops_from_ref(), idx_infer_loop_bounds(), idx_within_array_bound(), in_array_bounds_p(), and range_in_array_bounds_p().
|
extern |
Return, as a tree node, the number of elements for TYPE (which is an ARRAY_TYPE) minus one. This counts only elements of the top array.
References build_int_cst(), COMPLETE_TYPE_P, error_mark_node, fold_build2, integer_zerop(), TREE_TYPE, TYPE_DOMAIN, TYPE_MAX_VALUE, TYPE_MIN_VALUE, and TYPE_SIZE.
Referenced by array_type_nelts_top(), count_type_elements(), and is_empty_type().
Return, as an INTEGER_CST node, the number of elements for TYPE (which is an ARRAY_TYPE). This counts only elements of the top array.
References array_type_nelts_minus_one(), fold_build2_loc(), input_location, size_one_node, and sizetype.
|
inline |
Return the target-independent built-in function represented by CODE. Only valid if builtin_fn_p (CODE).
References builtin_fn_p(), and gcc_checking_assert.
Referenced by associated_internal_fn(), combined_fn_name(), gimple_build(), gimple_build(), gimple_build(), gimple_build(), is_copysign_call_with_1(), maybe_build_call_expr_loc(), maybe_push_res_to_seq(), and code_helper::operator built_in_function().
|
inline |
Definitions for the ubiquitous 'tree' type for GNU compilers. Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
Convert a target-independent built-in function code to a combined_fn.
Referenced by convert_conditional_op(), expand_bitquery(), expand_builtin_int_roundingfn_2(), fold_builtin_1(), fold_builtin_2(), fold_builtin_3(), fold_builtin_sincos(), fully_constant_vn_reference_p(), get_call_combined_fn(), gimple_call_combined_fn(), gimple_extract(), handle_builtin_alloca(), hwasan_check_func(), mathfn_built_in(), supportable_widening_operation(), try_conditional_simplification(), vect_create_epilog_for_reduction(), and vectorize_slp_instance_root_stmt().
|
inline |
Convert an internal function code to a combined_fn.
References END_BUILTINS.
|
inline |
Return the internal function represented by CODE. Only valid if internal_fn_p (CODE).
References END_BUILTINS, gcc_checking_assert, and internal_fn_p().
Referenced by associated_internal_fn(), combined_fn_name(), convert_conditional_op(), gimple_build(), gimple_build(), gimple_build(), gimple_build(), is_copysign_call_with_1(), maybe_build_call_expr_loc(), maybe_push_res_to_seq(), code_helper::operator internal_fn(), supportable_widening_operation(), vect_build_slp_tree_1(), vect_gimple_build(), vectorizable_call(), vectorizable_internal_function(), and widening_fn_p().
|
extern |
If T needs an assembler name, have one created for it.
References decl_assembler_name(), DECL_SOURCE_LOCATION, input_location, and need_assembler_name_p().
Referenced by cgraph_node::analyze(), expand_omp_target(), expand_omp_taskreg(), and mangle_referenced_decls().
Return true if CODE represents an associative tree code. Otherwise return false.
Referenced by loop_cand::analyze_iloop_reduction_var(), associative_binary_op_p(), may_reassociate_p(), parloops_is_simple_reduction(), reassociate_bb(), undistribute_ops_list(), vect_build_slp_tree_2(), and vect_slp_check_for_roots().
|
extern |
Return true if VAR is an automatic variable defined in function FN.
References auto_var_p(), DECL_CONTEXT, DECL_P, and TREE_CODE.
Referenced by add_clobbers_to_eh_landing_pad(), can_be_nonlocal(), ipa_icf_gimple::func_checker::compare_decl(), copy_tree_body_r(), decl_maybe_in_construction_p(), estimated_stack_frame_size(), find_func_clobbers(), find_return_bb(), find_tail_calls(), find_var_from_fn(), gimple_expand_vec_set_extract_expr(), ipa_pta_execute(), mark_nonssa_use(), maybe_nonzero_address(), optimize_atomic_compare_exchange_p(), output_gimple_stmt(), points_to_possible_sra_candidate_p(), refs_local_or_readonly_memory_p(), remap_gimple_op_r(), remap_gimple_stmt(), self_inlining_addr_expr(), set_uids_in_ptset(), setup_one_parameter(), and test_nonssa_use().
|
extern |
Return true if VAR is an automatic variable.
References DECL_EXTERNAL, TREE_CODE, TREE_STATIC, and VAR_P.
Referenced by nontrapping_dom_walker::add_or_mark_expr(), auto_var_in_fn_p(), gimple_add_init_for_auto_var(), ipa_pta_execute(), is_var_need_auto_init(), and ref_can_have_store_data_races().
|
inline |
Return the starting bit offset of BIT_FIELD_REF T, in cases where it is known to be a poly_uint64. (This is always true at the gimple level.)
References TREE_OPERAND, and tree_to_poly_uint64().
Referenced by copy_reference_ops_from_ref(), optimize_vector_load(), simplify_bitfield_ref(), simplify_vector_constructor(), sra_handled_bf_read_p(), undistribute_bitref_for_vector(), vect_build_slp_tree_2(), and vect_recog_bitfield_ref_pattern().
|
inline |
Return the bit size of BIT_FIELD_REF T, in cases where it is known to be a poly_uint64. (This is always true at the gimple level.)
References TREE_OPERAND, and tree_to_poly_uint64().
Referenced by optimize_vector_load(), simplify_bitfield_ref(), simplify_vector_constructor(), sra_handled_bf_read_p(), undistribute_bitref_for_vector(), vect_build_slp_tree_2(), and vect_recog_bitfield_ref_pattern().
|
extern |
Return the bit position of FIELD, in bits from the start of the record. This is a tree of type bitsizetype.
References bit_from_pos(), DECL_FIELD_BIT_OFFSET, and DECL_FIELD_OFFSET.
Referenced by add_data_member_location_attribute(), build_user_friendly_ref_for_offset(), compute_record_mode(), dequeue_and_dump(), field_byte_offset(), get_vec_alignment_for_record_type(), hoist_adjacent_loads(), store_constructor(), type_has_padding_at_level_p(), and type_internals_preclude_sra_p_1().
Checks to see if T is a constant or a constant vector and if each element E adheres to ~E + 1 == pow2 then return ~E otherwise NULL_TREE.
References wi::add(), wi::bit_not(), tree_vector_builder::build(), build_uniform_cst(), INTEGRAL_TYPE_P, tree_vector_builder::new_vector(), NULL_TREE, wi::popcount(), wi::to_wide(), TREE_CODE, TREE_TYPE, ty, uniform_integer_cst_p(), unsigned_type_for(), vector_cst_elt(), VECTOR_CST_NELTS, VECTOR_INTEGER_TYPE_P, and wide_int_to_tree().
|
extern |
Try to determine if we can fall out of the bottom of BLOCK. This guess need not be 100% accurate; simply be conservative and return true if we don't know. This is used only to avoid stupidly generating extra code. If we're wrong, we'll just delete the extra code later.
References BIND_EXPR_BODY, block_may_fallthru(), lang_hooks::block_may_fallthru, call_expr_flags(), COND_EXPR_ELSE, COND_EXPR_THEN, CONST_CAST_TREE, ECF_NORETURN, expr_last(), SWITCH_ALL_CASES_P, SWITCH_BODY, TREE_CODE, TREE_OPERAND, and try_catch_may_fallthru().
Referenced by block_may_fallthru(), shortcut_cond_expr(), and try_catch_may_fallthru().
|
extern |
If BLOCK is inlined from an __attribute__((__artificial__)) routine, return pointer to location from where it has been called.
References BLOCK_ABSTRACT_ORIGIN, BLOCK_SOURCE_LOCATION, BLOCK_SUPERCONTEXT, DECL_ATTRIBUTES, DECL_DECLARED_INLINE_P, lookup_attribute(), NULL, and TREE_CODE.
Referenced by gimple_nonartificial_location(), and tree_nonartificial_location().
|
extern |
Determine the "ultimate origin" of a block.
References BLOCK_ABSTRACT_ORIGIN, BLOCK_ORIGIN, DECL_ORIGIN, DECL_P, gcc_checking_assert, and NULL_TREE.
Referenced by compute_discriminator(), dump_gimple_debug(), dump_scope_block(), inlined_polymorphic_ctor_dtor_block_p(), noncall_stmt_may_be_vtbl_ptr_store(), and remove_unused_scope_block_p().
Referenced by build1_loc().
|
inline |
_loc versions of build[1-5].
References build1(), CAN_HAVE_LOCATION_P, PASS_MEM_STAT, and SET_EXPR_LOCATION.
Referenced by build_cxa_dtor_registrations(), build_fold_addr_expr_with_type_loc(), build_fold_indirect_ref_loc(), canonicalize_constructor_val(), convert_to_real_1(), fold_binary_loc(), fold_build1_loc(), fold_build_cleanup_point_expr(), fold_builtin_addc_subc(), fold_builtin_arith_overflow(), fold_truth_not_expr(), fold_unary_loc(), forward_propagate_addr_expr_1(), gimple_call_set_fndecl(), gimple_fold_stmt_to_constant_1(), gimplify_expr(), maybe_wrap_with_location(), negate_expr(), non_lvalue_loc(), omit_one_operand_loc(), predicate_bbs(), and save_expr().
Referenced by build2_loc().
|
inline |
References build2(), CAN_HAVE_LOCATION_P, PASS_MEM_STAT, and SET_EXPR_LOCATION.
Referenced by associate_trees(), clear_padding_flush(), convert_to_complex_1(), convert_to_integer_1(), convert_to_real_1(), expand_omp_atomic_fetch_op(), fold_binary_loc(), fold_build2_loc(), fold_builtin_addc_subc(), fold_builtin_arith_overflow(), fold_range_test(), fold_truth_andor_1(), fold_truth_andor_for_ifcombine(), fold_truth_not_expr(), fold_unary_loc(), get_narrower(), gimple_fold_call(), gimple_simplify_phiopt(), gimplify_expr(), gimplify_omp_affinity(), gimplify_omp_atomic(), gimplify_omp_depend(), strlen_pass::handle_builtin_memcmp(), make_range_step(), maybe_optimize_arith_overflow(), omit_one_operand_loc(), omit_two_operands_loc(), optimize_bit_field_compare(), predicate_bbs(), and prepare_target_mem_ref_lvalue().
Referenced by build3_loc().
|
inline |
References build3(), CAN_HAVE_LOCATION_P, PASS_MEM_STAT, and SET_EXPR_LOCATION.
Referenced by fold_build3_loc(), fold_truth_not_expr(), fold_unary_loc(), gimplify_expr(), gimplify_omp_atomic(), gimplify_omp_depend(), make_bit_field_ref(), and maybe_canonicalize_mem_ref_addr().
Referenced by build4_loc().
|
inline |
References build4(), CAN_HAVE_LOCATION_P, PASS_MEM_STAT, and SET_EXPR_LOCATION.
Referenced by expand_vector_ubsan_overflow(), fold_indirect_ref_1(), and ubsan_expand_vptr_ifn().
Referenced by build5_loc().
|
inline |
References build5(), CAN_HAVE_LOCATION_P, PASS_MEM_STAT, and SET_EXPR_LOCATION.
Create a variant of type T with alignment ALIGN.
Create a variant of type T with alignment ALIGN which is measured in bits.
References build_variant_type_copy(), check_aligned_type(), SET_TYPE_ALIGN, type(), TYPE_ALIGN, TYPE_MAIN_VARIANT, TYPE_NEXT_VARIANT, TYPE_PACKED, and TYPE_USER_ALIGN.
Referenced by build_ref_for_offset(), clear_padding_flush(), compute_avail(), copy_ref_info(), expand_call_mem_ref(), fill_vector_of_new_param_types(), fold_unary_loc(), gather_mem_refs_stmt(), get_references_in_stmt(), gimple_fold_builtin_memory_op(), gimple_fold_partial_load_store_mem_ref(), gimplify_expr(), ipa_param_adjustments::modify_call(), ref_at_iteration(), replace_ref(), rewrite_use_address(), vectorizable_load(), and vectorizable_store().
Return an integer of type TYPE containing all 1's in as much precision as it contains, or a complex or vector whose subparts are such integers.
References build_all_ones_cst(), build_complex(), build_minus_one_cst(), TREE_CODE, and TREE_TYPE.
Referenced by analyze_and_compute_bitwise_induction_effect(), build_all_ones_cst(), do_compare(), eliminate_not_pairs(), eliminate_plus_minus_pair(), fold_while_ult(), get_range_strlen(), get_range_strlen(), get_range_strlen_dynamic(), get_range_strlen_dynamic(), get_range_strlen_phi(), get_range_strlen_tree(), lower_omp_for_scan(), native_interpret_vector_part(), neutral_op_for_reduction(), undistribute_bitref_for_vector(), vect_create_constant_vectors(), vect_gen_loop_len_mask(), vect_init_vector(), vect_recog_bool_pattern(), and vect_set_loop_condition_normal().
Return a function call to the appropriate builtin alloca variant. SIZE is the size to be allocated. ALIGN, if non-zero, is the requested alignment of the allocated area. MAX_SIZE, if non-negative, is an upper bound for SIZE in case it is not a fixed value.
References build_call_expr(), builtin_decl_explicit(), and size_int.
Referenced by gimplify_parameters(), and gimplify_vla_decl().
Wrapper around build_array_type_1 with SHARED set to true.
References build_array_type_1().
Referenced by attr_access::array_as_string(), asan_pp_string(), assemble_crc_table(), build_array_type_nelts(), build_fn_info_type(), build_info(), build_info_type(), tree_switch_conversion::switch_conversion::build_one_array(), build_printable_array_type(), build_string_literal(), coverage_counter_alloc(), coverage_end_function(), coverage_obj_finish(), get_descriptor_type(), get_memory_rtx(), get_nl_goto_field(), get_trampoline_type(), gimplify_omp_depend(), init_eh(), reconstruct_complex_type(), resolve_addr_in_expr(), scan_sharing_clauses(), store_expr(), and ubsan_get_type_descriptor_type().
|
extern |
Construct, lay out and return the type of arrays of elements with ELT_TYPE and number of elements specified by the range of values of INDEX_TYPE. If TYPELESS_STORAGE is true, TYPE_TYPELESS_STORAGE flag is set on the type. If SHARED is true, reuse such a type that has already been constructed. If SET_CANONICAL is true, compute TYPE_CANONICAL from the element type.
References build_array_type_1(), error(), gcc_unreachable, type_hash::hash, integer_type_node, layout_type(), make_node(), NULL_TREE, SET_TYPE_STRUCTURAL_EQUALITY, TREE_CODE, TREE_TYPE, TYPE_ADDR_SPACE, TYPE_CANONICAL, TYPE_DOMAIN, type_hash_canon(), type_hash_canon_hash(), TYPE_STRUCTURAL_EQUALITY_P, and TYPE_TYPELESS_STORAGE.
Referenced by build_array_type(), build_array_type_1(), and build_nonshared_array_type().
|
extern |
Return a representation of ELT_TYPE[NELTS], using indices of type sizetype.
References build_array_type(), build_index_type(), and size_int.
Referenced by asan_finish_file(), build_printable_array_type(), rt_bb_visited::check(), array_bounds_checker::check_mem_ref(), clear_padding_flush(), create_tmp_simd_array(), create_vector_array(), expand_omp_for_generic(), expand_omp_ordered_source_sink(), expand_vector_ubsan_overflow(), finish_bitfield_representative(), fold_builtin_alloca_with_align(), get_target_arguments(), gimple_fold_builtin_memory_op(), gimple_lower_bitint(), gimplify_init_ctor_eval(), gimplify_omp_for(), lower_depend_clauses(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), maybe_trim_constructor_store(), omp_finish_file(), shrink_simd_arrays(), simd_clone_adjust(), simd_clone_adjust_return_type(), ubsan_expand_vptr_ifn(), ubsan_source_location(), ubsan_type_descriptor(), vector_element(), vectorizable_load(), vectorizable_store(), and rt_bb_visited::vtype().
|
extern |
Builds a signed or unsigned _BitInt(PRECISION) type.
References inchash::add_expr(), bitint_type_cache, inchash::hash::end(), fixup_signed_type(), fixup_unsigned_type(), gcc_checking_assert, make_node(), MAX_INT_CACHED_PREC, NULL, type_hash_canon(), TYPE_MAX_VALUE, TYPE_PRECISION, and vec_safe_grow_cleared().
Referenced by analyze_access_subtree(), gimple_lower_bitint(), omp_extract_for_data(), and signed_or_unsigned_type_for().
BLOCK nodes are used to represent the structure of binding contours and declarations, once those contours have been exited and their contents compiled. This information is used for outputting debugging info.
References BLOCK_CHAIN, BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT, BLOCK_VARS, and make_node().
|
extern |
Build a call to __builtin_unreachable, possibly rewritten by -fsanitize=unreachable. Use this rather than the above when practical.
References build_call_expr_loc(), NULL_TREE, and sanitize_unreachable_fn().
Referenced by fold_builtin_0().
|
extern |
Build a CALL_EXPR of class tcc_vl_exp with the indicated RETURN_TYPE and FN and a null static chain slot. NARGS is the number of call arguments which are specified as a tree array ARGS.
References build_call_1(), CALL_EXPR_ARG, i, process_call_operands(), and SET_EXPR_LOCATION.
Referenced by fold_build_call_array_loc(), and gimplify_call_expr().
Like build_call_expr_loc (UNKNOWN_LOCATION, ...). Duplicated because varargs macros aren't supported by all bootstrap compilers.
References ap, build_call_expr_loc_array(), i, and UNKNOWN_LOCATION.
Referenced by asan_dynamic_init_call(), asan_finish_file(), build_alloca_call_expr(), build_cdtor(), build_cltz_expr(), build_gcov_exit_decl(), build_init_ctor(), build_popcount_expr(), convert_to_integer_1(), convert_to_real_1(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), emit_block_op_via_libcall(), emutls_common_1(), expand_builtin_trap(), expand_DEFERRED_INIT(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_task_call(), expand_taskwait_call(), fold_builtin_interclass_mathfn(), hwasan_finish_file(), lower_rec_input_clauses(), set_storage_via_libcall(), sjlj_emit_function_enter(), strdup_object_size(), and tsan_finish_file().
|
extern |
Build internal call expression. This is just like CALL_EXPR, except its CALL_EXPR_FN is NULL. It will get gimplified later into ordinary internal function.
References ap, build_call_expr_internal_loc_array(), and i.
Referenced by build_asan_poison_call_expr(), build_cltz_expr(), build_popcount_expr(), create_ifn_alias_checks(), expand_omp_atomic_pipeline(), expand_omp_simd(), fold_builtin_addc_subc(), fold_builtin_arith_overflow(), fold_builtin_bit_query(), gimple_add_init_for_auto_var(), gimplify_modify_expr(), gimplify_va_arg_expr(), lower_lastprivate_clauses(), lower_oacc_reductions(), lower_rec_input_clauses(), and omp_adjust_chunk_size().
|
extern |
Conveniently construct a function call expression. FNDECL names the function to be called, N is the number of arguments, and the "..." parameters are the argument expressions.
References ap, build_call_expr_loc_array(), and i.
Referenced by build_builtin_expect_predicate(), build_builtin_unreachable(), build_cxa_dtor_registrations(), build_tm_abort_call(), create_task_copyfn(), expand_omp_atomic_fetch_op(), fold_builtin_bit_query(), fold_builtin_carg(), fold_builtin_classify(), fold_builtin_sincos(), fold_builtin_strcspn(), fold_builtin_strpbrk(), fold_negate_expr_1(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_omp_depend(), gimplify_scalar_mode_aggregate_compare(), gimplify_va_arg_expr(), gimplify_variable_sized_compare(), instrument_object_size(), lower_omp_critical(), lower_omp_master(), lower_omp_single_copy(), lower_omp_target(), lower_rec_input_clauses(), optimize_stdarg_builtin(), ubsan_build_overflow_builtin(), and ubsan_instrument_float_cast().
Conveniently construct a function call expression. FNDECL names the function to be called and N arguments are passed in the array ARGARRAY.
References build1(), build_pointer_type(), fold_build_call_array_loc(), and TREE_TYPE.
Referenced by build_call_expr(), build_call_expr_loc(), build_call_expr_loc_vec(), maybe_build_call_expr_loc(), and rewrite_call_expr_valist().
Conveniently construct a function call expression. FNDECL names the function to be called and the arguments are passed in the vector VEC.
References build_call_expr_loc_array(), vec_safe_address(), and vec_safe_length().
Referenced by expand_parallel_call(), expand_teams_call(), and self_referential_size().
Build a CALL_EXPR of class tcc_vl_exp with the indicated RETURN_TYPE and FN and a null static chain slot. NARGS is the number of call arguments which are specified as "..." arguments.
References build_call_valist().
Referenced by expand_builtin_cexpi(), expand_ifn_atomic_bit_test_and(), and expand_ifn_atomic_op_fetch_cmp_0().
Build a CALL_EXPR of class tcc_vl_exp with the indicated RETURN_TYPE and FN and a null static chain slot. NARGS is the number of call arguments which are specified as a va_list ARGS.
References build_call_1(), CALL_EXPR_ARG, i, and process_call_operands().
Referenced by build_call_nary(), and build_call_nofold_loc().
Like build_call_array, but takes a vec.
References build_call_1(), CALL_EXPR_ARG, FOR_EACH_VEC_SAFE_ELT, process_call_operands(), and vec_safe_length().
Referenced by expand_builtin(), and expand_ifn_atomic_compare_exchange_into_call().
Make a CASE_LABEL_EXPR.
Create a CASE_LABEL_EXPR tree node and return it.
References CASE_CHAIN, CASE_HIGH, CASE_LABEL, CASE_LOW, DECL_SOURCE_LOCATION, make_node(), NULL_TREE, SET_EXPR_LOCATION, TREE_TYPE, and void_type_node.
|
extern |
Return a node of type TYPE for which TREE_CLOBBER_P is true.
References build_constructor(), CLOBBER_KIND, NULL, and TREE_THIS_VOLATILE.
Referenced by add_clobbers_to_eh_landing_pad(), rt_bb_visited::check(), clobber_subtree(), detach_value(), execute_update_addresses_taken(), expand_call_inline(), expand_omp_for_generic(), gimplify_bind_expr(), gimplify_parameters(), gimplify_target_expr(), insert_clobber_before_stack_restore(), lower_depend_clauses(), lower_omp_scope(), lower_omp_single(), lower_omp_target(), lower_omp_taskreg(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), ompdevlow_adjust_simt_enter(), and vect_clobber_variable().
|
extern |
Call this function after instantiating all builtins that the language front end cares about. This will build the rest of the builtins and internal functions that are relied upon by the tree optimizers and the middle-end.
References build_function_type(), build_function_type_list(), build_pointer_type(), BUILT_IN_COMPLEX_DIV_MIN, built_in_names, builtin_decl_explicit(), builtin_decl_explicit_p(), const_ptr_type_node, ECF_COLD, ECF_CONST, ECF_LEAF, ECF_MALLOC, ECF_NORETURN, ECF_NOTHROW, ECF_PURE, ECF_TM_PURE, ECF_XTHROW, GET_MODE_NAME, global_options, init_internal_fns(), integer_type_node, local_define_builtin(), NULL, NULL_TREE, ptr_type_node, size_type_node, targetm, TREE_TYPE, type(), lang_hooks_for_types::type_for_mode, lang_hooks::types, UI_SJLJ, void_list_node, and void_type_node.
|
extern |
Create nodes for all integer types (and error_mark_node) using the sizes of C datatypes. SIGNED_CHAR specifies whether char is signed.
Make fixed-point nodes based on sat/non-sat and signed/unsigned.
Make fixed-point type nodes based on four different widths.
Make fixed-point mode nodes based on sat/non-sat and signed/unsigned.
References access_private_node, access_protected_node, access_public_node, arm_bfloat_half_format, atomicDI_type_node, atomicHI_type_node, atomicQI_type_node, atomicSI_type_node, atomicTI_type_node, bfloat16_type_node, bitsize_int, bitsize_one_node, bitsize_unit_node, bitsize_zero_node, BOOL_TYPE_SIZE, boolean_false_node, boolean_true_node, boolean_type_node, build_atomic_base(), build_complex_type(), build_int_cst(), build_nonstandard_integer_type(), build_pointer_type(), build_tree_list(), build_type_variant, build_variant_type_copy(), builtin_structptr_types, char_type_node, CHAR_TYPE_SIZE, chrec_dont_know, chrec_known, complex_double_type_node, complex_float_type_node, COMPLEX_FLOATN_NX_TYPE_NODE, complex_integer_type_node, complex_long_double_type_node, const_ptr_type_node, DECIMAL128_TYPE_SIZE, DECIMAL32_TYPE_SIZE, DECIMAL64_TYPE_SIZE, dfloat128_type_node, dfloat32_type_node, dfloat64_type_node, dfloat64x_type_node, double_ptr_type_node, double_type_node, error_mark_node, float128_type_node, float128t_type_node, float_ptr_type_node, float_type_node, FLOATN_NX_TYPE_NODE, floatn_nx_types, gcc_unreachable, get_identifier(), GET_MODE_BITSIZE(), GET_MODE_PRECISION(), i, initialize_sizetypes(), int_n_data, int_n_enabled_p, int_n_trees, INT_TYPE_SIZE, intDI_type_node, integer_minus_one_node, integer_one_node, integer_ptr_type_node, integer_type_node, integer_types, integer_zero_node, intHI_type_node, intQI_type_node, intSI_type_node, intTI_type_node, itk_intN_0, itk_unsigned_intN_0, layout_type(), long_double_ptr_type_node, long_double_type_node, long_integer_type_node, long_long_integer_type_node, LONG_LONG_TYPE_SIZE, long_long_unsigned_type_node, LONG_TYPE_SIZE, long_unsigned_type_node, MAKE_FIXED_MODE_NODE, MAKE_FIXED_TYPE_NODE_FAMILY, make_node(), make_or_reuse_type(), make_signed_type(), make_unsigned_type(), null_pointer_node, NULL_TREE, NUM_FLOATN_NX_TYPES, POINTER_SIZE, pointer_sized_int_node, ptr_type_node, PTRDIFF_TYPE, ptrdiff_type_node, REAL_MODE_FORMAT, SA, SET_TYPE_ALIGN, SET_TYPE_MODE, short_integer_type_node, SHORT_TYPE_SIZE, short_unsigned_type_node, signed_char_type_node, int_n_trees_t::signed_type, size_int, size_one_node, SIZE_TYPE, size_type_node, size_zero_node, targetm, TI_DOUBLE_TYPE, TI_FLOAT_TYPE, TI_LONG_DOUBLE_TYPE, poly_int< N, C >::to_constant(), TREE_CODE, TREE_SET_CODE, TREE_TYPE, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_PRECISION, TYPE_STRING_FLAG, TYPE_USER_ALIGN, uint128_type_node, uint16_type_node, uint32_type_node, uint64_type_node, unsigned_char_type_node, unsigned_intDI_type_node, unsigned_intHI_type_node, unsigned_intQI_type_node, unsigned_intSI_type_node, unsigned_intTI_type_node, int_n_trees_t::unsigned_type, unsigned_type_node, va_list_type_node, void_list_node, void_node, and void_type_node.
Return a newly constructed COMPLEX_CST node whose value is specified by the real and imaginary parts REAL and IMAG. Both REAL and IMAG should be constant nodes. TYPE, if specified, will be the type of the COMPLEX_CST; otherwise a new type will be made.
References build_complex_type(), CONSTANT_CLASS_P, gcc_assert, make_node(), TREE_IMAGPART, TREE_OVERFLOW, TREE_REALPART, TREE_TYPE, and type().
Referenced by build_all_ones_cst(), build_complex_inf(), build_each_one_cst(), build_minus_one_cst(), build_one_cst(), build_zero_cst(), const_binop(), const_binop(), const_unop(), do_mpc_ckconv(), fold_const_call(), fold_const_call(), fold_const_call_1(), fold_const_call_1(), fold_negate_expr_1(), gimple_fold_call(), gimplify_init_constructor(), gimplify_modify_expr_complex_part(), maybe_optimize_arith_overflow(), and native_interpret_complex().
Build a complex (inf +- 0i), such as for the result of cproj. TYPE is the complex tree type of the result. If NEG is true, the imaginary zero is negative.
References build_complex(), build_real(), dconst0, dconstinf, REAL_VALUE_TYPE, and TREE_TYPE.
Create a complex type whose components are COMPONENT_TYPE. If NAMED is true, the type is given a TYPE_NAME. We do not always do so because this creates a DECL node and thus make the DECL_UIDs dependent on the type canonicalization hashtable, which is GC-ed, so the DECL_UIDs would not be stable wrt garbage collection.
References build_complex_type(), build_decl(), build_qualified_type(), char_type_node, COMPLETE_TYPE_P, FIXED_POINT_TYPE_P, gcc_assert, gcc_checking_assert, get_identifier(), type_hash::hash, integer_type_node, INTEGRAL_TYPE_P, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, make_node(), NULL, SCALAR_FLOAT_TYPE_P, SET_TYPE_STRUCTURAL_EQUALITY, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, TREE_TYPE, TYPE_CANONICAL, type_hash_canon(), type_hash_canon_hash(), TYPE_MAIN_VARIANT, TYPE_NAME, TYPE_QUALS, TYPE_STRUCTURAL_EQUALITY_P, UNKNOWN_LOCATION, unsigned_char_type_node, and unsigned_type_node.
Referenced by bitwise_type_for_mode(), build_common_tree_nodes(), build_complex(), build_complex_type(), convert_to_divmod(), expand_builtin_cexpi(), expand_doubleword_mod(), expand_omp_atomic_cas(), expand_omp_atomic_pipeline(), fold_builtin_addc_subc(), fold_builtin_arith_overflow(), fold_builtin_atomic_compare_exchange(), fold_builtin_sincos(), gimple_fold_call(), lower_omp_for_scan(), match_arith_overflow(), match_uaddc_usubc(), maybe_optimize_arith_overflow(), and signed_or_unsigned_type_for().
|
extern |
Return a new CONSTRUCTOR node whose type is TYPE and whose values are in a list pointed to by VALS.
References build_constructor(), CONSTRUCTOR_APPEND_ELT, list_length(), NULL, TREE_CHAIN, TREE_PURPOSE, TREE_VALUE, and vec_alloc().
Referenced by rt_bb_visited::check().
Return a new CONSTRUCTOR node whose type is TYPE and whose values are in a vector pointed to by VALS. Note that the TREE_PURPOSE fields in the constructor remain null.
References build_constructor(), CONSTRUCTOR_APPEND_ELT, NULL, and NULL_TREE.
Referenced by assemble_crc_table().
Build a CONSTRUCTOR node made of a single initializer, with the specified INDEX and VALUE.
References build_constructor(), and vec_alloc().
Referenced by gimplify_init_ctor_eval().
Return a new CONSTRUCTOR node whose type is TYPE. NELTS is the number of elements, provided as index/value pairs.
References build_constructor(), CONSTRUCTOR_APPEND_ELT, NULL, and vec_alloc().
Referenced by asan_add_global(), create_odr_indicator(), ubsan_source_location(), ubsan_type_descriptor(), and vect_add_slp_permutation().
Create and return a DEBUG_EXPR_DECL node of the given TYPE.
References DECL_ARTIFICIAL, make_node(), SET_DECL_MODE, TREE_TYPE, type(), and TYPE_MODE.
Referenced by avoid_deep_ter_for_debug(), expand_gimple_basic_block(), insert_debug_temp_for_var_def(), ipa_simd_modify_stmt_ops(), make_new_ssa_for_def(), ipa_param_body_adjustments::mark_dead_statements(), ipa_param_adjustments::modify_call(), optimize_atomic_bit_test_and(), ipa_param_body_adjustments::prepare_debug_expressions(), remap_ssa_name(), remove_unused_ivs(), ipa_param_body_adjustments::reset_debug_stmts(), rewrite_debug_stmt_uses(), spaceship_replacement(), tree_function_versioning(), and value_replacement().
Return the constant 1 in type TYPE. If TYPE has several elements, each element is set to 1. In particular, this is 1 + i for complex types.
References build_complex(), build_one_cst(), TREE_CODE, and TREE_TYPE.
|
extern |
Build an empty statement at location LOC.
References build1(), SET_EXPR_LOCATION, size_zero_node, and void_type_node.
Referenced by copy_tree_body_r(), fold_builtin_1(), and gimplify_call_expr().
Builds and returns function declaration with NAME and TYPE.
References build_decl(), DECL_ARTIFICIAL, DECL_EXTERNAL, get_identifier(), input_location, TREE_NOTHROW, and TREE_PUBLIC.
Referenced by expand_builtin_cexpi(), expand_builtin_int_roundingfn(), gimple_init_gcov_profiler(), and make_dispatcher_decl().
Construct, lay out and return the type of functions returning type VALUE_TYPE given arguments of types ARG_TYPES. ARG_TYPES is a chain of TREE_LIST nodes whose TREE_VALUEs are data type nodes for the arguments of the function. NO_NAMED_ARGS_STDARG_P is true if this is a prototyped variable-arguments function with (...) prototype (no named arguments). If such a type has already been constructed, reuse it.
References build_function_type(), COMPLETE_TYPE_P, error(), error_mark_node, gcc_assert, type_hash::hash, integer_type_node, layout_type(), make_node(), maybe_canonicalize_argtypes(), NULL_TREE, SET_TYPE_STRUCTURAL_EQUALITY, TREE_CODE, TREE_TYPE, TYPE_ARG_TYPES, TYPE_CANONICAL, type_hash_canon(), type_hash_canon_hash(), TYPE_NO_NAMED_ARGS_STDARG_P, and TYPE_STRUCTURAL_EQUALITY_P.
Referenced by build_adjusted_function_type(), build_common_builtin_nodes(), build_function_type(), build_function_type_array_1(), build_function_type_list_1(), build_libfunc_function_visibility(), emit_library_call_value_1(), lower_assumption(), make_dispatcher_decl(), maybe_diag_incompatible_alias(), reconstruct_complex_type(), and self_referential_size().
Build a function type. RETURN_TYPE is the type returned by the function. The function takes N named arguments, the types of which are provided in ARG_TYPES.
References build_function_type_array_1().
Referenced by function_reader::create_function().
Build a function type. The RETURN_TYPE is the type returned by the function. If additional arguments are provided, they are additional argument types. The list of argument types must always be terminated by NULL_TREE.
References build_function_type_list_1().
Referenced by build_common_builtin_nodes(), build_cxa_atexit_decl(), build_gcov_exit_decl(), build_info_type(), build_init_ctor(), build_personality_function(), cgraph_build_static_cdtor_1(), create_loop_fn(), create_omp_child_function(), default_external_stack_protect_fail(), default_hidden_stack_protect_fail(), expand_builtin_cexpi(), expand_builtin_int_roundingfn(), gimple_init_gcov_profiler(), init_eh(), initialize_sanitizer_builtins(), push_dummy_function(), rt_bb_visited::rt_bb_visited(), set_stack_check_libfunc(), and tree_ssa_prefetch_arrays().
Create a type of integers to be the TYPE_DOMAIN of an ARRAY_TYPE. MAXVAL should be the maximum value in the domain (one less than the length of the array). The maximum value that MAXVAL can have is INT_MAX for a HOST_WIDE_INT. We don't enforce this limit, that is up to caller (e.g. language front end). The limit exists because the result is a signed type and we don't handle sizes that use more than one HOST_WIDE_INT.
References build_range_type(), size_zero_node, and sizetype.
Referenced by attr_access::array_as_string(), asan_pp_string(), assemble_crc_table(), build_array_type_nelts(), tree_switch_conversion::switch_conversion::build_arrays(), build_fn_info_type(), build_info(), build_info_type(), build_string_literal(), coverage_end_function(), coverage_obj_finish(), get_descriptor_type(), get_nl_goto_field(), get_trampoline_type(), gimplify_omp_depend(), init_eh(), resolve_addr_in_expr(), and store_expr().
|
extern |
Return a vector with the same number of units and number of bits as VEC_TYPE, but in which the elements are a linear series of unsigned integers { BASE, BASE + STEP, BASE + STEP * 2, ... }.
References tree_vector_builder::build(), build_int_cstu(), build_nonstandard_integer_type(), build_vector_type(), GET_MODE_BITSIZE(), i, INTEGRAL_TYPE_P, SCALAR_TYPE_MODE, TREE_TYPE, TYPE_UNSIGNED, and TYPE_VECTOR_SUBPARTS().
Referenced by vect_create_epilog_for_reduction(), vectorizable_call(), and vectorizable_induction().
|
extern |
Create an INT_CST node with a CST value zero extended.
static inline
Create a constant tree that contains CST sign-extended to TYPE.
References integer_type_node, wi::shwi(), TYPE_PRECISION, and wide_int_to_tree().
Referenced by access_with_size_object_size(), add_async_clauses_and_wait(), add_iv_candidate_for_biv(), add_iv_candidate_for_doloop(), add_iv_candidate_for_use(), add_rshift(), add_standard_iv_candidates(), scev_dfs::add_to_evolution_1(), add_wait(), adjust_simduid_builtins(), analyze_subscript_affine_affine(), array_ref_low_bound(), array_type_nelts_minus_one(), asan_add_global(), asan_expand_check_ifn(), asan_expand_poison_ifn(), asan_finish_file(), asan_poison_variable(), asan_store_shadow_bytes(), assert_loop_rolls_lt(), assert_no_overflow_lt(), assign_filter_values(), attempt_builtin_powi(), build_asan_poison_call_expr(), build_assign(), build_builtin_expect_predicate(), build_check_stmt(), build_cltz_expr(), build_cmp_result(), build_common_tree_nodes(), tree_switch_conversion::switch_conversion::build_constructors(), build_debug_ref_for_model(), build_invariant_address(), build_minus_one_cst(), build_one_cst(), build_popcount_expr(), build_predict_expr(), build_range_check(), build_ref_for_offset(), build_shadow_mem_access(), build_simple_mem_ref_loc(), build_tm_abort_call(), build_tm_store(), build_user_friendly_ref_for_offset(), build_vl_exp(), build_zero_cst(), can_use_analyze_subscript_affine_affine(), canonicalize_bool(), canonicalize_cond_expr_cond(), canonicalize_loop_induction_variables(), canonicalize_loop_ivs(), rt_bb_visited::check(), chrec_apply(), chrec_fold_multiply(), chrec_fold_multiply_poly_poly(), chrec_is_positive(), clear_padding_flush(), compare_values_warnv(), compute_access_stride(), compute_doloop_base_on_mode(), compute_new_first_bound(), compute_overlap_steps_for_affine_univar(), cond_removal_in_builtin_zero_pattern(), constant_boolean_node(), constant_byte_string(), convert_atomic_bit_not(), convert_mult_to_highpart(), convert_to_integer_1(), copy_bb(), copy_reference_ops_from_ref(), strlen_pass::count_nonzero_bytes(), create_array_ref(), create_canonical_iv(), create_component_ref_by_pieces_1(), create_mem_ref_raw(), create_odr_indicator(), create_parallel_loop(), create_task_copyfn(), declare_return_variable(), decrement_power(), default_emutls_var_init(), detect_type_change_ssa(), determine_exit_conditions(), do_mpfr_lgamma_r(), do_mpfr_remquo(), dr_analyze_indices(), dummy_object(), emit_case_dispatch_table(), emutls_common_1(), estimate_numbers_of_iterations(), evaluate_stmt(), execute_omp_device_lower(), tree_switch_conversion::switch_conversion::exp_index_transform(), expand_builtin_sincos(), expand_builtin_strub_enter(), expand_builtin_strub_leave(), expand_builtin_strub_update(), expand_call_mem_ref(), expand_DEFERRED_INIT(), expand_expr_real_1(), expand_expr_real_2(), expand_ifn_va_arg_1(), expand_oacc_collapse_init(), expand_oacc_for(), expand_omp_atomic_cas(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_parallel_call(), expand_single_bit_test(), expand_sjlj_dispatch_table(), expand_task_call(), expand_teams_call(), expand_thunk(), expand_transaction(), expand_vector_divmod(), expand_vector_ubsan_overflow(), expr_expected_value_1(), finalize_nesting_tree_1(), find_inv_vars_cb(), find_loop_niter(), finish_taskreg_scan(), fold(), fold_addr_of_array_ref_difference(), fold_array_ctor_reference(), fold_binary_loc(), fold_bit_and_mask(), fold_builtin_atomic_compare_exchange(), fold_builtin_bit_query(), fold_builtin_classify_type(), fold_builtin_frexp(), fold_builtin_isascii(), fold_builtin_isdigit(), fold_builtin_LINE(), fold_builtin_strpbrk(), fold_builtin_toascii(), fold_comparison(), fold_const_call(), fold_const_call(), fold_const_call(), fold_div_compare(), fold_gimple_assign(), fold_internal_goacc_dim(), fold_plusminus_mult_expr(), fold_relational_const(), fold_stmt_1(), fold_strstr_to_strncmp(), fold_truth_andor_1(), fold_truth_not_expr(), force_constant_size(), force_expr_to_var_cost(), gather_mem_refs_stmt(), gen_conditions_for_pow_int_base(), gen_counter_update(), gen_one_condition(), gen_parallel_loop(), generate_memset_builtin(), get_bitfield_rep(), get_component_ssa_name(), get_inner_reference(), get_iv(), get_mem_refs_of_builtin_call(), get_memory_rtx(), get_misalign_in_elems(), get_range_strlen_dynamic(), get_references_in_stmt(), get_stridx_plus_constant(), get_target_argument_identifier_1(), get_target_argument_value(), get_target_arguments(), get_up_bounds_for_array_ref(), get_upper_bound_based_on_builtin_expr_with_prob(), get_ws_args_for(), gimple_add_init_for_auto_var(), gimple_build_round_up(), gimple_divmod_fixed_value_transform(), gimple_fold_builtin_acc_on_device(), gimple_fold_builtin_fputs(), gimple_fold_builtin_memchr(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_printf(), gimple_fold_builtin_sprintf(), gimple_fold_builtin_stpcpy(), gimple_fold_builtin_strcat(), gimple_fold_builtin_strchr(), gimple_fold_builtin_strcpy(), gimple_fold_builtin_strstr(), gimple_fold_builtin_stxcpy_chk(), gimple_gen_ic_func_profiler(), gimple_gen_time_profiler(), gimple_load_first_char(), gimple_lower_bitint(), gimple_mod_pow2(), gimple_stringops_transform(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_expr(), gimplify_init_ctor_eval(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop_xform(), gimplify_va_arg_expr(), strlen_pass::handle_alloc_call(), handle_builtin_alloca(), strlen_pass::handle_builtin_memcmp(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_memset(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_string_cmp(), strlen_pass::handle_builtin_strlen(), strlen_pass::handle_builtin_stxncpy_strncat(), strlen_pass::handle_integral_assign(), strlen_pass::handle_store(), idx_analyze_ref(), ifcombine_ifandif(), increment_start_addr(), init_range_entry(), initialize_data_dependence_relation(), initialize_matrix_A(), inline_string_cmp(), instrument_bool_enum_load(), instrument_builtin(), instrument_builtin_call(), instrument_decisions(), instrument_expr(), instrument_mem_ref(), instrument_nonnull_arg(), instrument_object_size(), interpret_rhs_expr(), inverse(), ipa_get_jf_ancestor_result(), ipa_tm_insert_irr_call(), issue_prefetch_ref(), layout_type(), lhd_simulate_enum_decl(), loop_niter_by_eval(), lower_bitfield(), lower_bound_in_type(), lower_builtin_posix_memalign(), lower_coro_builtin(), lower_depend_clauses(), lower_eh_constructs_2(), lower_eh_dispatch(), lower_emutls_1(), lower_lastprivate_clauses(), lower_oacc_head_mark(), lower_oacc_head_tail(), lower_oacc_loop_marker(), lower_oacc_private_marker(), lower_oacc_reductions(), lower_omp_for_lastprivate(), lower_omp_for_scan(), lower_omp_ordered(), lower_omp_scan(), lower_omp_single_copy(), lower_omp_target(), lower_omp_task_reductions(), lower_omp_teams(), lower_private_allocate(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_resx(), lower_try_finally_switch(), lower_vec_perm(), make_bit_field_ref(), make_range(), make_range_step(), make_trait_selector(), make_trait_set_selector(), match_arith_overflow(), match_single_bit_test(), may_eliminate_iv(), maybe_canonicalize_comparison_1(), maybe_canonicalize_mem_ref_addr(), maybe_instrument_pointer_overflow(), maybe_make_indirect(), maybe_optimize_mod_cmp(), maybe_trim_constructor_store(), strlen_pass::maybe_warn_overflow(), merge_ranges(), ipa_param_adjustments::modify_call(), move_sese_region_to_fn(), move_stmt_eh_region_tree_nr(), num_ending_zeros(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_cond(), number_of_iterations_le(), number_of_iterations_lt(), number_of_iterations_ne(), number_of_latch_executions(), oacc_build_routine_dims(), oacc_dim_call(), oacc_entry_exit_single_gang(), oacc_launch_pack(), oacc_loop_process(), oacc_loop_xform_head_tail(), oacc_thread_numbers(), oacc_validate_dims(), oacc_xform_loop(), oacc_xform_tile(), omp_adjust_chunk_size(), omp_adjust_for_condition(), omp_apply_tile(), omp_clause_aligned_alignment(), omp_extract_for_data(), omp_loop_number_of_iterations(), omp_resolve_clause_dependencies(), ompdevlow_adjust_simt_enter(), optimize_atomic_bit_test_and(), optimize_atomic_op_fetch_cmp_0(), optimize_bit_field_compare(), optimize_range_tests_diff(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_spaceship(), optimize_stack_restore(), optimize_target_teams(), output_constant(), output_gimple_stmt(), place_union_field(), predicate_load_or_store(), prepare_target_mem_ref_lvalue(), prune_runtime_alias_test_list(), range_check_type(), range_predecessor(), range_successor(), read_vector_array(), recognize_single_bit_test(), remap_eh_region_tree_nr(), rewrite_bittest(), round_down_loc(), round_up_loc(), scan_omp_task(), set_mem_attributes_minus_bitpos(), simd_clone_adjust(), simd_clone_init_simd_arrays(), simd_clone_linear_addend(), simple_iv_with_niters(), simplify_builtin_call(), simplify_count_trailing_zeroes(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), simplify_gimple_switch_label_vec(), simplify_using_ranges::simplify_internal_call_using_ranges(), simplify_rotate(), simplify_using_ranges::simplify_truth_ops_using_ranges(), size_diffop_loc(), size_int_kind(), sjlj_emit_dispatch_table(), spaceship_replacement(), stabilize_va_list_loc(), std_gimplify_va_arg_expr(), store_constructor(), strip_offset_1(), task_reduction_read(), dom_opt_dom_walker::test_for_singularity(), test_for_singularity(), transform_add_to_multiply(), tree_coverage_counter_addr(), tree_coverage_counter_ref(), tree_fold_binomial(), ubsan_expand_null_ifn(), ubsan_expand_vptr_ifn(), ubsan_source_location(), ubsan_type_descriptor(), update_range_test(), vec_perm_indices_to_tree(), vect_adjust_loop_lens_control(), vect_build_all_ones_mask(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), vect_build_zero_merge_argument(), vect_create_cond_for_align_checks(), vect_create_constant_vectors(), vect_create_epilog_for_reduction(), vect_create_nonlinear_iv_step(), vect_do_peeling(), vect_gen_loop_len_mask(), vect_gen_prolog_loop_niters(), vect_gen_scalar_loop_niters(), vect_gen_vector_loop_niters(), vect_gen_vector_loop_niters_mult_vf(), vect_get_loop_len(), vect_get_loop_mask(), vect_get_loop_niters(), vect_is_nonlinear_iv_evolution(), vect_loop_versioning(), vect_prepare_for_masked_peels(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_cond_store_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_gather_scatter_pattern(), vect_recog_gcond_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_rotate_pattern(), vect_set_loop_condition_normal(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), vect_set_loop_controls_directly(), vect_setup_realignment(), vect_synth_mult_by_constant(), vect_transform_loop(), vector_element(), vectorizable_call(), vectorizable_condition(), vectorizable_induction(), vectorizable_live_operation_1(), vectorizable_load(), vectorizable_operation(), vectorizable_reduction(), vectorizable_scan_store(), vectorizable_simd_clone_call(), vectorizable_store(), vectorize_fold_left_reduction(), version_loop_by_alias_check(), version_loop_for_if_conversion(), rt_bb_visited::vindex(), rt_bb_visited::visit(), visit_loadstore(), VN_INFO(), vn_reference_lookup_3(), rt_bb_visited::vwordidx(), worker_single_copy(), wrap_refs(), write_vector_array(), and zero_length_string().
|
extern |
Create a constant tree that contains CST sign-extended to TYPE.
References gcc_assert, wi::shwi(), TYPE_PRECISION, and wide_int_to_tree().
Referenced by scev_dfs::add_to_evolution(), bit_value_assume_aligned(), canonicalize_loop_ivs(), chrec_fold_plus_1(), chrec_fold_plus_poly_poly(), determine_exit_conditions(), fold_builtin_object_size(), fold_read_from_constant_string(), gimple_fold_builtin_memset(), gimple_gen_interval_profiler(), inverse(), optimize_bit_field_compare(), rewrite_bittest(), split_to_var_and_offset(), and try_transform_to_exit_first_loop_alt().
|
extern |
Create a constant tree that contains CST zero-extended to TYPE.
References TYPE_PRECISION, wi::uhwi(), and wide_int_to_tree().
Referenced by assemble_crc_table(), assign_calc_vals_to_header_phis(), build_fn_info(), build_index_vector(), build_info(), do_jump(), expand_omp_for(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), get_value_from_alignment(), gimple_fold_builtin_snprintf(), gimple_fold_builtin_sprintf_chk(), infer_loop_bounds_from_pointer_arith(), lower_omp_target(), maybe_emit_sprintf_chk_warning(), crc_optimization::optimize_crc_loop(), propagate_bits_across_jump_function(), scan_sharing_clauses(), vect_create_cond_for_lower_bounds(), vectorizable_induction(), and vectorizable_load().
Builds an integer constant in TYPE such that lowest BITS bits are ones and the rest are zeros.
References gcc_assert, wi::mask(), TYPE_PRECISION, and wide_int_to_tree().
Referenced by iv_period(), number_of_iterations_ne(), and vect_recog_vector_vector_shift_pattern().
Construct, lay out and return the type of methods belonging to class BASETYPE and whose arguments and values are described by TYPE. If that type exists already, reuse it. TYPE must be a FUNCTION_TYPE node.
References build_method_type_directly(), gcc_assert, TREE_CODE, TREE_TYPE, and TYPE_ARG_TYPES.
Build a METHOD_TYPE for a member of BASETYPE. The RETTYPE (a TYPE) and ARGTYPES (a TREE_LIST) are the return type and arguments types for the method. An implicit additional parameter (of type pointer-to-BASETYPE) is added to the ARGTYPES.
References build_method_type_directly(), build_pointer_type(), COMPLETE_TYPE_P, gcc_assert, type_hash::hash, layout_type(), make_node(), maybe_canonicalize_argtypes(), NULL_TREE, SET_TYPE_STRUCTURAL_EQUALITY, TREE_CHAIN, tree_cons(), TREE_TYPE, TYPE_ARG_TYPES, TYPE_CANONICAL, type_hash_canon(), type_hash_canon_hash(), TYPE_MAIN_VARIANT, TYPE_METHOD_BASETYPE, and TYPE_STRUCTURAL_EQUALITY_P.
Referenced by build_method_type(), build_method_type_directly(), and reconstruct_complex_type().
Return a constant of arithmetic type TYPE which is the opposite of the multiplicative identity of the set TYPE.
References ALL_SCALAR_ACCUM_MODE_P, build_complex(), build_fixed(), build_int_cst(), build_minus_one_cst(), build_real(), build_vector_from_val(), build_zero_cst(), dconstm1, double_int_minus_one, fixed_from_double_int(), gcc_assert, gcc_unreachable, SCALAR_TYPE_MODE, TREE_CODE, TREE_TYPE, and TYPE_MODE.
Referenced by build_all_ones_cst(), build_minus_one_cst(), expand_omp_ordered_sink(), fold_while_ult(), lower_omp_for_scan(), omp_apply_tile(), process_assignment(), split_tree(), try_special_add_to_ops(), ubsan_instrument_float_cast(), vect_get_loop_niters(), vect_get_mask_load_else(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), vect_set_loop_controls_directly(), vectorizable_early_exit(), vectorizable_load(), vectorizable_operation(), vectorizable_store(), vectorize_fold_left_reduction(), and zero_one_operation().
Wrapper around build_array_type_1 with SHARED set to false.
References build_array_type_1().
Wrapper around build_range_type_1 with SHARED set to false.
References build_range_type_1().
|
extern |
Builds a boolean type of precision PRECISION. Used for boolean vectors to choose proper vector element size.
References fixup_signed_type(), make_node(), MAX_BOOL_CACHED_PREC, MAX_INT_CACHED_PREC, nonstandard_boolean_type_cache, type(), and TYPE_PRECISION.
Referenced by build_truth_vector_type_for(), and build_truth_vector_type_for_mode().
|
extern |
Builds a signed or unsigned integer type of precision PRECISION. Used for C bitfields whose precision does not match that of built-in target types.
References inchash::add_expr(), inchash::hash::end(), fixup_signed_type(), fixup_unsigned_type(), make_node(), MAX_INT_CACHED_PREC, nonstandard_integer_type_cache, type_hash_canon(), TYPE_MAX_VALUE, and TYPE_PRECISION.
Referenced by analyze_access_subtree(), bitwise_type_for_mode(), build_common_tree_nodes(), build_index_vector(), build_range_check(), build_split_load(), can_duplicate_and_interleave_p(), canonicalize_loop_ivs(), clear_padding_type(), convert_affine_scev(), convert_mult_to_widen(), convert_plusminus_to_widen(), eliminate_dom_walker::eliminate_stmt(), tree_switch_conversion::jump_table_cluster::emit(), expand_arith_overflow(), expand_DEFERRED_INIT(), expand_mul_overflow(), expand_vector_comparison(), expand_vector_condition(), expand_vector_divmod(), fold_builtin_alloca_with_align(), fold_builtin_bit_query(), fold_truth_andor_for_ifcombine(), get_mem_refs_of_builtin_call(), get_related_vectype_for_scalar_type(), gimple_lower_bitint(), gimple_signed_or_unsigned_type(), strlen_pass::handle_builtin_memcmp(), initialize_sanitizer_builtins(), instrument_bool_enum_load(), integer_type_for_mask(), interpret_rhs_expr(), is_widening_mult_rhs_p(), make_bit_field_ref(), omp_extract_for_data(), crc_optimization::optimize_crc_loop(), optimize_range_tests_diff(), optimize_range_tests_xor(), output_constant(), output_constructor(), prepare_instrumented_value(), vn_walk_cb_data::push_partial_def(), signed_or_unsigned_type_for(), simd_clone_adjust(), simplify_using_ranges::simplify_float_conversion_using_ranges(), simplify_permutation(), simplify_vector_constructor(), supportable_indirect_convert_operation(), ubsan_encode_value(), ubsan_type_descriptor(), vect_convert_input(), vect_create_partial_epilog(), vect_gather_scatter_fn_p(), vect_get_vector_types_for_stmt(), vect_is_simple_cond(), vect_joust_widened_integer(), vect_joust_widened_type(), vect_recog_abd_pattern(), vect_recog_average_pattern(), vect_recog_bool_pattern(), vect_recog_divmod_pattern(), vect_recog_mulhs_pattern(), vect_recog_over_widening_pattern(), vect_recog_widen_op_pattern(), vect_truncate_gather_scatter_offset(), vect_verify_full_masking(), vect_verify_full_masking_avx512(), vect_verify_loop_lens(), vector_vector_composition_type(), vectorizable_conversion(), vectorizable_live_operation(), vectorizable_live_operation_1(), vectorizable_operation(), vectorizable_simd_clone_call(), vectorizable_store(), and vn_reference_lookup_3().
Construct various types of nodes.
Similar except don't specify the TREE_TYPE and leave the TREE_SIDE_EFFECTS as 0. It is permissible for arguments to be null, or even garbage if their values do not matter.
References gcc_assert, i, make_node(), tcc_vl_exp, TREE_CODE_CLASS, TREE_CODE_LENGTH, and TREE_OPERAND.
Referenced by stabilize_reference(), and stabilize_reference_1().
Similar to build_nt, but for creating a CALL_EXPR object with a tree vec.
References build_vl_exp(), CALL_EXPR_ARG, CALL_EXPR_FN, CALL_EXPR_STATIC_CHAIN, FOR_EACH_VEC_SAFE_ELT, NULL_TREE, and vec_safe_length().
Construct, lay out and return the type of offsets to a value of type TYPE, within an object of type BASETYPE. If a suitable offset type exists already, reuse it.
References build_offset_type(), COMPLETE_TYPE_P, gcc_unreachable, type_hash::hash, layout_type(), make_node(), SET_TYPE_STRUCTURAL_EQUALITY, TREE_TYPE, type(), TYPE_CANONICAL, type_hash_canon(), type_hash_canon_hash(), TYPE_MAIN_VARIANT, TYPE_OFFSET_BASETYPE, and TYPE_STRUCTURAL_EQUALITY_P.
Referenced by build_offset_type(), and reconstruct_complex_type().
|
extern |
Build an OMP clause with code CODE. LOC is the location of the clause.
References ggc_internal_alloc(), OMP_CLAUSE_LOCATION, omp_clause_num_ops, OMP_CLAUSE_SET_CODE, record_node_allocation_statistics(), and TREE_SET_CODE.
Referenced by add_async_clauses_and_wait(), add_parent_or_loop_num_clause(), add_taskreg_looptemp_clauses(), adjust_nested_loop_clauses(), build_omp_struct_comp_nodes(), convert_gimple_call(), convert_local_reference_stmt(), convert_nonlocal_reference_stmt(), convert_tramp_reference_stmt(), create_parallel_loop(), decompose_kernels_region_body(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_call_expr(), gimplify_oacc_declare_1(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_loop(), gimplify_omp_taskloop_expr(), lower_depend_clauses(), lower_lastprivate_conditional_clauses(), lower_omp_for(), lower_omp_for_scan(), lower_omp_scope(), lower_omp_sections(), lower_rec_input_clauses(), make_region_seq(), maybe_build_inner_data_region(), oacc_verify_routine_clauses(), omp_accumulate_sibling_list(), omp_oacc_kernels_decompose_1(), omp_resolve_clause_dependencies(), optimize_target_teams(), scan_omp_parallel(), scan_omp_simd(), scan_omp_simd_scan(), streamer_alloc_tree(), and transform_kernels_loop_clauses().
Return a constant of arithmetic type TYPE which is the multiplicative identity of the set TYPE.
References ALL_SCALAR_ACCUM_MODE_P, build_complex(), build_fixed(), build_int_cst(), build_one_cst(), build_real(), build_vector_from_val(), build_zero_cst(), dconst1, FCONST1, gcc_assert, gcc_unreachable, TREE_CODE, TREE_TYPE, and TYPE_MODE.
Referenced by branch_fixup(), build_each_one_cst(), build_one_cst(), edge_info::derive_equivalences(), determine_exit_conditions(), eliminate_unnecessary_stmts(), execute_omp_device_lower(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_sections(), expand_omp_simd(), expr_expected_value_1(), fold_binary_loc(), fold_negate_expr_1(), fold_plusminus_mult_expr(), gen_counter_update(), gen_log2(), gen_pow2p(), gimple_add_padding_init_for_auto_var(), gimple_fold_call(), strlen_pass::handle_builtin_memset(), insert_reciprocals(), lower_omp_for_scan(), lower_omp_task_reductions(), lower_omp_teams(), neutral_op_for_reduction(), omp_apply_tile(), omp_extract_for_data(), powi_as_mults(), rewrite_reciprocal(), simd_clone_adjust(), avail_exprs_stack::simplify_binary_operation(), simplify_using_ranges::simplify_switch_using_ranges(), spaceship_replacement(), tree_optimize_tail_calls_1(), try_transform_to_exit_first_loop_alt(), undistribute_bitref_for_vector(), vect_create_nonlinear_iv_init(), vect_do_peeling(), vect_gen_vector_loop_niters(), vect_recog_average_pattern(), vect_set_loop_condition_partial_vectors(), vect_set_loop_condition_partial_vectors_avx512(), vect_transform_loop(), and vectorizable_live_operation_1().
|
extern |
Like build_vector_type, but builds a variant type with TYPE_VECTOR_OPAQUE set.
References build_distinct_type_copy(), check_qualified_type(), make_vector_type(), TYPE_ALIAS_SET, TYPE_CANONICAL, TYPE_MAIN_VARIANT, TYPE_NEXT_VARIANT, TYPE_QUALS, and TYPE_VECTOR_OPAQUE.
|
extern |
Return a tree node that encapsulates the optimization options in OPTS and OPTS_SET.
Build an OPTIMIZATION_NODE based on the options in OPTS and OPTS_SET.
References cl_optimization_node, cl_option_hash_table, make_node(), and TREE_OPTIMIZATION.
Referenced by inline_call(), lto_input_ts_function_decl_tree_pointers(), and process_options().
|
extern |
Build a decl for a personality function given a language prefix.
References build_decl(), build_function_type_list(), DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_RTL, gcc_unreachable, get_identifier(), global_options, integer_type_node, long_long_unsigned_type_node, NULL, NULL_TREE, ptr_type_node, SET_SYMBOL_REF_DECL, TREE_PUBLIC, type(), UI_DWARF2, UI_NONE, UI_SEH, UI_SJLJ, UI_TARGET, UNKNOWN_LOCATION, unsigned_type_node, and XEXP.
Referenced by lhd_gcc_personality().
By default build pointers in ptr_mode.
References build_pointer_type_for_mode().
Referenced by add_taskreg_looptemp_clauses(), apply_pass_by_reference_rules(), asan_init_shadow_ptr_types(), assign_parms_augmented_arg_list(), assumption_copy_decl(), build_call_expr_loc_array(), build_call_nofold_loc(), build_common_builtin_nodes(), build_common_tree_nodes(), build_cxa_atexit_decl(), build_fn_info_type(), build_fold_addr_expr_loc(), build_gcov_info_var_registration(), build_info_type(), build_init_ctor(), build_method_type_directly(), build_ref_for_offset(), build_string_literal(), canonicalize_addr_expr(), rt_bb_visited::check(), clear_padding_type(), copy_reference_ops_from_ref(), coverage_obj_init(), create_mem_ref_raw(), create_task_copyfn(), decl_attributes(), distinctify_node_type(), dummy_object(), eliminate_local_variables_1(), emit_library_call_value_1(), expand_builtin_cexpi(), expand_call(), expand_call_inline(), expand_call_stmt(), expand_debug_expr(), expand_function_end(), expand_ifn_atomic_compare_exchange_into_call(), find_interesting_uses_address(), finish_taskreg_scan(), fixup_child_record_type(), fold_binary_loc(), fold_builtin_sincos(), force_expr_to_var_cost(), gen_emutls_addr(), get_alias_set(), get_chain_decl(), get_chain_field(), get_mem_refs_of_builtin_call(), get_trampoline_type(), get_use_type(), gimple_call_set_fndecl(), gimple_fold_builtin_clear_padding(), gimple_gen_ic_profiler(), gimple_init_gcov_profiler(), gimple_lower_bitint(), gimplify_addr(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_cond_expr(), gimplify_parameters(), gimplify_va_arg_expr(), gimplify_vla_decl(), init_eh(), init_ic_make_global_vars(), initialize_sanitizer_builtins(), install_var_field(), instrument_bool_enum_load(), instrument_mem_ref(), instrument_object_size(), ipa_read_jump_function(), lookup_field_for_decl(), lower_copyprivate_clauses(), lower_coro_builtin(), lower_lastprivate_conditional_clauses(), lower_omp_for(), lower_omp_for_scan(), lower_omp_scope(), lower_omp_sections(), lower_omp_single_copy(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), maybe_diag_incompatible_alias(), maybe_instrument_pointer_overflow(), maybe_optimize_ubsan_ptr_ifn(), move_hint_to_base(), omp_resolve_clause_dependencies(), ompdevlow_adjust_simt_enter(), output_gimple_stmt(), prepare_call_arguments(), prepare_target_mem_ref_lvalue(), reference_alias_ptr_type(), rewrite_use_address(), rt_bb_visited::rt_bb_visited(), scan_omp_parallel(), separate_decls_in_region(), simd_clone_init_simd_arrays(), stabilize_va_list_loc(), std_gimplify_va_arg_expr(), thunk_adjust(), ubsan_create_data(), ubsan_get_source_location_type(), vect_create_addr_base_for_vector_ref(), and wrap_refs().
Constructors for pointer, array and function types. (RECORD_TYPE, UNION_TYPE and ENUMERAL_TYPE nodes are constructed by language-dependent code, not here.)
Construct, lay out and return the type of pointers to TO_TYPE with mode MODE. If MODE is VOIDmode, a pointer mode for the address space of TO_TYPE will be picked. If CAN_ALIAS_ALL is TRUE, indicate this type can reference all of memory. If such a type has already been constructed, reuse it.
References build_pointer_type_for_mode(), error_mark_node, layout_type(), lookup_attribute(), make_node(), SET_TYPE_MODE, SET_TYPE_STRUCTURAL_EQUALITY, targetm, TREE_CODE, TREE_TYPE, TYPE_ADDR_SPACE, TYPE_ATTRIBUTES, TYPE_CANONICAL, TYPE_MODE, TYPE_NEXT_PTR_TO, TYPE_POINTER_TO, TYPE_REF_CAN_ALIAS_ALL, and TYPE_STRUCTURAL_EQUALITY_P.
Referenced by build_pointer_type(), build_pointer_type_for_mode(), expand_builtin_sincos(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), fold_builtin_memcmp(), gimple_fold_builtin_memory_op(), gimple_load_first_char(), strlen_pass::handle_builtin_memcmp(), reconstruct_complex_type(), remap_type_1(), and vect_create_data_ref_ptr().
|
extern |
Build a POLY_INT_CST node with type TYPE and with the elements in VALUES. The elements must also have type TYPE.
References inchash::hash::add_int(), inchash::hash::add_wide_int(), build_new_poly_int_cst(), poly_int< N, C >::coeffs, tree_poly_int_cst::coeffs, comp, inchash::hash::end(), poly_int< N, C >::from(), gcc_assert, i, NULL_TREE, NUM_POLY_INT_COEFFS, poly_int_cst_hash_table, SIGNED, TYPE_PRECISION, TYPE_UID, and wide_int_to_tree_1().
Referenced by bits_from_bytes(), fold_convert_const(), and wide_int_to_tree().
Like get_qualified_type, but creates the type if it does not exist. This function never returns NULL_TREE.
Wrapper around build_range_type_1 with SHARED set to true.
References build_range_type_1().
Referenced by build_index_type(), build_printable_array_type(), get_memory_rtx(), scan_sharing_clauses(), and ubsan_get_type_descriptor_type().
|
extern |
Given a tree representing an integer constant I, return a tree representing the same value as a floating-point constant of type TYPE.
References build_real(), i, real_value_from_int_cst(), and TREE_OVERFLOW.
Referenced by chrec_apply(), expr_expected_value_1(), fold_convert_const(), gen_one_condition(), and get_upper_bound_based_on_builtin_expr_with_prob().
|
extern |
Return a new REAL_CST node whose type is TYPE and whose value is the integer value I which has sign SGN.
References build_real(), i, real_from_integer(), REAL_VALUE_TYPE, and TYPE_MODE.
Referenced by vectorizable_induction().
Build the node for the type of references-to-TO_TYPE by default in ptr_mode.
Referenced by build_ref_type_for(), fixup_child_record_type(), and get_alias_set().
Same as build_pointer_type_for_mode, but for REFERENCE_TYPE.
References build_reference_type_for_mode(), error_mark_node, layout_type(), lookup_attribute(), make_node(), SET_TYPE_MODE, SET_TYPE_STRUCTURAL_EQUALITY, targetm, TREE_CODE, TREE_TYPE, TYPE_ADDR_SPACE, TYPE_ATTRIBUTES, TYPE_CANONICAL, TYPE_MODE, TYPE_NEXT_REF_TO, TYPE_REF_CAN_ALIAS_ALL, TYPE_REFERENCE_TO, and TYPE_STRUCTURAL_EQUALITY_P.
Referenced by build_reference_type_for_mode(), reconstruct_complex_type(), and remap_type_1().
|
extern |
Return a newly constructed STRING_CST node whose value is the LEN characters at STR when STR is nonnull, or all zeros otherwise. Note that for a C string literal, LEN should include the trailing NUL. The TREE_TYPE is not initialized.
References ggc_internal_alloc(), offsetof, record_node_allocation_statistics(), TREE_CONSTANT, TREE_SET_CODE, and TREE_STRING_LENGTH.
Referenced by asan_pp_string(), build_info(), build_string_literal(), default_asm_output_ident_directive(), detach_value(), expand_asm_stmt(), gimplify_asm_expr(), make_attribute(), resolve_addr_in_expr(), resolve_asm_operand_names(), set_call_expr_flags(), streamer_read_string_cst(), attr_access::to_external_string(), attr_access::to_internal_string(), ubsan_source_location(), ubsan_type_descriptor(), and rt_bb_visited::vset().
|
inline |
References build_string_literal().
References build_string_literal(), IDENTIFIER_LENGTH, and IDENTIFIER_POINTER.
|
extern |
Create a new constant string literal of type ELTYPE[SIZE] (or LEN if SIZE == -1) and return a tree node representing char* pointer to it as an ADDR_EXPR (ARRAY_REF (ELTYPE, ...)). When STR is nonnull the STRING_CST value is the LEN bytes at STR (the representation of the string, which may be wide). Otherwise it's all zeros.
References build1(), build4(), build_array_type(), build_index_type(), build_pointer_type(), build_string(), build_type_variant, HOST_WIDE_INT_M1U, integer_zero_node, NULL_TREE, size_int, TREE_CONSTANT, TREE_READONLY, TREE_STATIC, TREE_TYPE, and type().
Referenced by build_string_literal(), build_string_literal(), constant_byte_string(), fold_builtin_FILE(), fold_builtin_FUNCTION(), gimple_add_init_for_auto_var(), gimple_fold_builtin_printf(), simplify_builtin_call(), and verify_bb_vtables().
|
extern |
Return a tree node that encapsulates the target options in OPTS and OPTS_SET.
Build a TARGET_OPTION_NODE based on the options in OPTS and OPTS_SET.
References cl_option_hash_table, cl_target_option_node, make_node(), and TREE_TARGET_OPTION.
Referenced by decl_attributes().
Builds a new translation-unit decl with name NAME, queues it in the global list of translation-unit decls and returns it.
References all_translation_units, build_decl(), lang_hooks::name, NULL_TREE, TRANSLATION_UNIT_LANGUAGE, UNKNOWN_LOCATION, and vec_safe_push().
|
extern |
Build a truth vector with NUNITS units, giving it mode MASK_MODE.
References build_nonstandard_boolean_type(), gcc_assert, GET_MODE_PRECISION(), make_vector_type(), vector_element_size, and VECTOR_MODE_P.
Referenced by build_truth_vector_type_for(), vect_double_mask_nunits(), and vect_halve_mask_nunits().
If TYPE is not a vector type, just return SC, otherwise return build_vector_from_val (TYPE, SC).
References build_vector_from_val(), sc, and VECTOR_TYPE_P.
Referenced by bitmask_inv_cst_vector_p().
Build a variable argument function type. RETURN_TYPE is the type returned by the function. The function takes N named arguments, the types of which are provided in ARG_TYPES.
References build_function_type_array_1().
Build a variable argument function type. The RETURN_TYPE is the type returned by the function. If additional arguments are provided, they are additional argument types. The list of argument types must always be terminated by NULL_TREE.
References build_function_type_list_1().
Referenced by create_assumption_fn().
Build a vector series of type TYPE in which element I has the value BASE + I * STEP. The result is a constant if BASE and STEP are constant and a VEC_SERIES_EXPR otherwise.
References tree_vector_builder::build(), build2(), build_vector_from_val(), integer_zerop(), wi::to_wide(), TREE_CODE, TREE_TYPE, and wide_int_to_tree().
Referenced by const_binop().
Return a VECTOR_CST of type VEC_TYPE in which the first NUM_A elements are A and the rest are B.
References a, b, tree_vector_builder::build(), count, gcc_assert, i, known_le, and TYPE_VECTOR_SUBPARTS().
Referenced by fold_while_ult().
|
extern |
Return a new VECTOR_CST node whose type is TYPE and whose values are extracted from V, a vector of CONSTRUCTOR_ELT.
References build_zero_cst(), FOR_EACH_CONSTRUCTOR_VALUE, gcc_assert, i, TREE_CODE, TREE_TYPE, TYPE_VECTOR_SUBPARTS(), vec_safe_length(), VECTOR_CST_ELT, and VECTOR_CST_NELTS.
Referenced by expand_vector_condition(), expand_vector_conversion(), expand_vector_piecewise(), fold(), fold_gimple_assign(), gimplify_init_constructor(), lower_vec_perm(), and rtl_for_decl_init().
Build a vector of type VECTYPE where all the elements are SCs.
References tree_vector_builder::build(), build_constructor(), CONSTANT_CLASS_P, CONSTRUCTOR_APPEND_ELT, error_mark_node, fold_build1, gcc_checking_assert, i, NULL_TREE, sc, TREE_TYPE, TYPE_MAIN_VARIANT, TYPE_VECTOR_SUBPARTS(), types_compatible_p(), and vec_alloc().
Referenced by build_minus_one_cst(), build_one_cst(), build_uniform_cst(), build_vec_series(), build_zero_cst(), build_zero_vector(), const_unop(), constant_boolean_node(), expand_vector_operations_1(), gimple_build_vector_from_val(), sign_mask_for(), vect_build_all_ones_mask(), vect_build_zero_merge_argument(), vect_create_epilog_for_reduction(), vect_create_nonlinear_iv_vec_step(), vect_emulate_mixed_dot_prod(), vect_expand_fold_left(), vect_init_vector(), vect_transform_cycle_phi(), vectorizable_induction(), vectorizable_recurr(), and vectorizable_simd_clone_call().
|
extern |
Similarly, but takes the inner type and number of units, which must be a power of two.
References make_vector_type().
Referenced by build_index_vector(), build_word_mode_vector_type(), do_vec_conversion(), do_vec_narrow_conversion(), duplicate_and_interleave(), execute_update_addresses_taken(), expand_vector_conversion(), expand_vector_divmod(), non_rewritable_lvalue_p(), signed_or_unsigned_type_for(), simd_clone_adjust_argument_types(), simd_clone_adjust_return_type(), simplify_permutation(), simplify_vector_constructor(), vect_create_nonlinear_iv_init(), vect_create_partial_epilog(), vect_gen_perm_mask_any(), vect_transform_cycle_phi(), vect_update_nonlinear_iv(), vect_verify_full_masking_avx512(), vector_vector_composition_type(), and vectorizable_store().
Returns a vector tree node given a mode (integer, vector, or BLKmode) and the inner type.
References as_a(), gcc_assert, gcc_unreachable, GET_MODE_BITSIZE(), GET_MODE_CLASS, GET_MODE_NUNITS(), make_vector_type(), TREE_INT_CST_LOW, and TYPE_SIZE.
Referenced by bitwise_type_for_mode(), get_related_vectype_for_scalar_type(), omp_clause_aligned_alignment(), signed_or_unsigned_type_for(), supportable_widening_operation(), type_for_widest_vector_mode(), undistribute_bitref_for_vector(), vect_transform_cycle_phi(), vectorizable_load(), vectorizable_store(), and vectorized_internal_fn_supported_p().
|
extern |
Build 0 constant of type TYPE. This is used by constructor folding and thus the constant should be represented in memory by zero(es).
References AGGREGATE_TYPE_P, build_complex(), build_constructor(), build_fixed(), build_int_cst(), build_real(), build_vector_from_val(), build_zero_cst(), dconst0, FCONST0, fold_convert, integer_zero_node, NULL, TREE_CODE, TREE_TYPE, and TYPE_MODE.
Referenced by access_with_size_object_size(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), loop_cand::analyze_induction_var(), assign_vals_to_header_phis(), branch_fixup(), build_cltz_expr(), build_minus_one_cst(), build_one_cst(), build_vect_cond_expr(), build_vector_from_ctor(), build_zero_cst(), c_strlen(), clear_padding_flush(), cond_store_replacement(), convert_atomic_bit_not(), default_preferred_else_value(), edge_info::derive_equivalences(), do_compare(), eliminate_duplicate_pair(), eliminate_not_pairs(), eliminate_plus_minus_pair(), tree_switch_conversion::bit_test_cluster::emit(), evaluate_stmt(), execute_omp_device_lower(), expand_complex_asm(), expand_debug_expr(), expand_DEFERRED_INIT(), expand_expr_real_1(), expand_omp_atomic_cas(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_ordered_sink(), expand_omp_ordered_source_sink(), expand_omp_simd(), expand_omp_target(), expand_teams_call(), expand_thunk(), expand_vector_comparison(), expand_vector_condition(), expand_vector_conversion(), expand_vector_divmod(), fold_array_ctor_reference(), fold_binary_loc(), fold_builtin_bit_query(), fold_cond_expr_with_comparison(), fold_const_aggregate_ref_1(), fold_mult_zconjz(), fold_nonarray_ctor_reference(), fold_read_from_vector(), fold_strstr_to_strncmp(), fold_while_ult(), force_value_to_type(), forward_propagate_into_gimple_cond(), fully_constant_vn_reference_p(), gen_counter_update(), generate_strlen_builtin_using_rawmemchr(), get_bool_state(), get_compare_parts(), scalar_cond_masked_key::get_cond_ops_from_tree(), get_default_value(), get_legacy_range(), get_range_strlen_dynamic(), get_symbol_constant_value(), gimple_cond_get_ops_from_tree(), gimple_fold_call(), gimple_fold_partial_load_store_mem_ref(), gimple_fold_stmt_to_constant_1(), gimple_lower_bitint(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_expr(), gimplify_init_constructor(), gimplify_omp_affinity(), init_subtree_with_zero(), instrument_builtin(), instrument_builtin_call(), instrument_nonnull_arg(), instrument_nonnull_return(), instrument_si_overflow(), isolate_path(), lower_builtin_setjmp(), lower_lastprivate_clauses(), lower_omp_for_scan(), lower_omp_task_reductions(), lower_omp_teams(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_vec_perm(), lto_input_ts_poly_tree_pointers(), make_range_step(), match_single_bit_test(), match_uaddc_usubc(), maybe_optimize_arith_overflow(), ipa_param_body_adjustments::modify_assignment(), native_encode_initializer(), native_interpret_vector_part(), neutral_op_for_reduction(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_popcount(), object_sizes_execute(), omp_extract_for_data(), omp_reduction_init_op(), optimize_atomic_bit_test_and(), optimize_mask_stores(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_vector_constructor(), process_bb(), propagate_tree_value_into_stmt(), range_includes_zero_p(), ref_at_iteration(), remap_ssa_name(), replace_stmt_with_simplification(), rewrite_use_address(), simd_clone_adjust(), simplify_using_ranges::simplify_abs_using_ranges(), avail_exprs_stack::simplify_binary_operation(), simplify_builtin_call(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), simplify_vector_constructor(), spaceship_replacement(), tree_optimize_tail_calls_1(), ubsan_encode_value(), ubsan_expand_null_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_vptr_ifn(), undistribute_bitref_for_vector(), undistribute_ops_list(), vect_build_one_gather_load_call(), vect_build_slp_tree_2(), vect_create_constant_vectors(), vect_create_epilog_for_reduction(), vect_create_nonlinear_iv_init(), vect_do_peeling(), vect_gen_loop_len_mask(), vect_gen_while(), vect_get_mask_load_else(), vect_get_strided_load_store_ops(), vect_init_vector(), vect_loop_versioning(), vect_peel_nonlinear_iv_init(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_gather_scatter_pattern(), vect_remove_slp_scalar_calls(), vect_set_loop_condition_normal(), vect_set_loop_condition_partial_vectors(), vect_transform_loop(), vect_update_init_of_dr(), vector_element(), vectorizable_call(), vectorizable_early_exit(), vectorizable_live_operation(), vectorizable_load(), vectorizable_scan_store(), vectorizable_simd_clone_call(), vectorize_fold_left_reduction(), vn_reference_lookup_3(), warn_return_addr_local(), worker_single_copy(), and worker_single_simple().
|
inline |
Helper functions for fndecl_built_in_p.
Referenced by built_in_function_equal_p(), and fndecl_built_in_p().
|
inline |
Recursive case for two or more names.
References built_in_function_equal_p(), and names.
|
inline |
Return whether the standard builtin function was declared.
References BUILTIN_VALID_P, gcc_checking_assert, and NULL_TREE.
Referenced by gimplify_addr_expr().
|
inline |
Return the tree node for an explicit standard builtin function or NULL.
References BUILTIN_VALID_P, and gcc_checking_assert.
Referenced by add_wait(), adjust_simduid_builtins(), build_alloca_call_expr(), build_builtin_expect_predicate(), build_common_builtin_nodes(), build_tm_abort_call(), build_tm_load(), build_tm_store(), builtin_decl_unreachable(), can_strub_internally_p(), rt_bb_visited::check(), combined_fn_name(), copy_attributes_to_builtin(), create_task_copyfn(), emit_call_1(), emutls_common_1(), execute_omp_device_lower(), expand_assign_tm(), expand_builtin(), expand_builtin_atomic_fetch_op(), expand_builtin_cexpi(), expand_builtin_memory_chk(), expand_call_tm(), expand_complex_libcall(), expand_ifn_atomic_compare_exchange_into_call(), expand_omp_atomic_cas(), expand_omp_atomic_fetch_op(), expand_omp_atomic_load(), expand_omp_atomic_mutex(), expand_omp_atomic_pipeline(), expand_omp_atomic_store(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_ordered_source(), expand_omp_sections(), expand_omp_target(), expand_parallel_call(), expand_task_call(), expand_taskwait_call(), expand_teams_call(), expand_transaction(), finalize_nesting_tree_1(), find_tm_replacement_function(), fold_builtin_bit_query(), fold_builtin_classify(), fold_builtin_interclass_mathfn(), fold_builtin_sincos(), fold_strstr_to_strncmp(), gen_counter_update(), generate_tm_state(), get_string_length(), gimple_add_padding_init_for_auto_var(), gimple_builtin_call_types_compatible_p(), gimple_fold_builtin_fprintf(), gimple_fold_builtin_fputs(), gimple_fold_builtin_memory_chk(), gimple_fold_builtin_printf(), gimple_fold_builtin_snprintf_chk(), gimple_fold_builtin_sprintf_chk(), gimple_fold_builtin_strcat_chk(), gimple_fold_builtin_strncat_chk(), gimple_fold_builtin_stxcpy_chk(), gimple_fold_builtin_stxncpy_chk(), gimplify_bind_expr(), gimplify_call_expr(), gimplify_expr(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_workshare(), strlen_pass::handle_builtin_memcmp(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strcpy(), operand_compare::hash_operand(), insert_check_and_trap(), insert_trap(), instrument_bool_enum_load(), instrument_builtin(), instrument_decisions(), instrument_nonnull_arg(), instrument_nonnull_return(), instrument_object_size(), ipa_tm_insert_gettmclone_call(), ipa_tm_insert_irr_call(), issue_prefetch_ref(), lower_emutls_function_body(), lower_omp_1(), lower_omp_critical(), lower_omp_for(), lower_omp_for_scan(), lower_omp_master(), lower_omp_ordered(), lower_omp_scope(), lower_omp_sections(), lower_omp_single_copy(), lower_omp_single_simple(), lower_omp_target(), lower_omp_task_reductions(), lower_omp_taskgroup(), lower_omp_teams(), lower_private_allocate(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_transaction(), make_data_region_try_statement(), mathfn_built_in_1(), maybe_add_implicit_barrier_cancel(), maybe_catch_exception(), neuter_worker_single(), omp_build_barrier(), optimize_omp_library_calls(), optimize_stdarg_builtin(), rt_bb_visited::rt_bb_visited(), sanitize_unreachable_fn(), set_builtin_user_assembler_name(), simd_clone_adjust(), simplify_builtin_call(), tm_log_emit_stmt(), tm_malloc_replacement(), tm_memopt_transform_stmt(), tree_builtin_call_types_compatible_p(), ubsan_build_overflow_builtin(), ubsan_expand_bounds_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_vptr_ifn(), ubsan_instrument_float_cast(), worker_single_copy(), and worker_single_simple().
|
inline |
Return whether the standard builtin function can be used as an explicit function.
References BUILTIN_VALID_P, gcc_checking_assert, and NULL_TREE.
Referenced by build_common_builtin_nodes(), build_tm_load(), build_tm_store(), operand_compare::hash_operand(), optimize_stdarg_builtin(), tm_log_emit_stmt(), and tree_ssa_prefetch_arrays().
|
inline |
Return the tree node for an implicit builtin function or NULL.
References BUILTIN_VALID_P, gcc_checking_assert, and NULL_TREE.
Referenced by asan_dynamic_init_call(), asan_expand_mark_ifn(), asan_expand_poison_ifn(), asan_finish_file(), block_move_libcall_safe_for_call_parm(), build_cltz_expr(), build_instrumentation_call(), build_popcount_expr(), build_stack_save_restore(), check_func(), convert_nl_goto_reference(), convert_tramp_reference_op(), emit_block_op_via_libcall(), expand_builtin_stpcpy_1(), expand_builtin_sync_operation(), expand_builtin_trap(), expand_call_inline(), expand_DEFERRED_INIT(), expand_omp_for_static_nochunk(), finalize_nesting_tree_1(), fold_builtin_strcspn(), fold_builtin_strpbrk(), generate_memcpy_builtin(), generate_memset_builtin(), generate_strlen_builtin(), get_memory_access_decl(), get_string_length(), gimple_build(), gimple_build(), gimple_build(), gimple_build(), gimple_fold_builtin_bcmp(), gimple_fold_builtin_bcopy(), gimple_fold_builtin_bzero(), gimple_fold_builtin_fprintf(), gimple_fold_builtin_fputs(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_printf(), gimple_fold_builtin_realloc(), gimple_fold_builtin_snprintf(), gimple_fold_builtin_sprintf(), gimple_fold_builtin_stpcpy(), gimple_fold_builtin_strcat(), gimple_fold_builtin_strchr(), gimple_fold_builtin_strcpy(), gimple_fold_builtin_string_compare(), gimple_fold_builtin_strncat(), gimple_fold_builtin_strncpy(), gimple_fold_builtin_strstr(), gimple_lower_bitint(), gimplify_modify_expr_to_memcpy(), gimplify_modify_expr_to_memset(), gimplify_scalar_mode_aggregate_compare(), gimplify_va_arg_expr(), gimplify_variable_sized_compare(), handle_builtin_alloca(), strlen_pass::handle_builtin_memset(), handle_builtin_stack_restore(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_string_cmp(), hwasan_finish_file(), instrument_builtin_call(), instrument_expr(), instrument_func_entry(), instrument_func_exit(), instrument_gimple(), lower_builtin_posix_memalign(), lower_builtin_setjmp(), lower_eh_dispatch(), lower_resx(), maybe_build_call_expr_loc(), maybe_instrument_call(), maybe_push_res_to_seq(), object_sizes_execute(), optimize_memcpy_to_memset(), replace_func_exit(), report_error_func(), set_storage_via_libcall(), strdup_object_size(), loop_distribution::transform_reduction_loop(), tsan_finish_file(), ubsan_expand_null_ifn(), ubsan_expand_ptr_ifn(), and vect_recog_pow_pattern().
|
inline |
Return whether the standard builtin function can be used implicitly.
References BUILTIN_VALID_P, gcc_checking_assert, and NULL_TREE.
Referenced by fold_builtin_sincos(), get_string_length(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strcpy(), initialize_sanitizer_builtins(), and mathfn_built_in_1().
|
extern |
For BUILTIN_UNREACHABLE, use one of these or gimple_build_builtin_unreachable instead of one of the above.
The built-in decl to use to mark code points believed to be unreachable. Typically __builtin_unreachable, but __builtin_trap if -fsanitize=unreachable -fsanitize-trap=unreachable. If only -fsanitize=unreachable, we rely on sanopt to replace calls with the appropriate ubsan function. When building a call directly, use {gimple_},build_builtin_unreachable instead.
References builtin_decl_explicit(), sanitize_flags_p(), and SANITIZE_UNREACHABLE.
Referenced by eliminate_dom_walker::eliminate_stmt(), gimple_get_virt_method_for_vtable(), ipa_impossible_devirt_target(), ipa_make_edge_direct_to_target(), redirect_to_unreachable(), walk_polymorphic_call_targets(), and walk_polymorphic_call_targets().
|
inline |
Return true if CODE is a target-independent built-in function.
References END_BUILTINS.
Referenced by as_builtin_fn(), combined_fn_name(), code_helper::is_builtin_fn(), and is_copysign_call_with_1().
|
extern |
Return the byte position of FIELD, in bytes from the start of the record. This is a tree of type sizetype.
References byte_from_pos(), DECL_FIELD_BIT_OFFSET, and DECL_FIELD_OFFSET.
Referenced by component_ref_size(), decl_init_size(), decode_addr_const(), field_at_offset(), field_byte_offset(), handle_component_ref(), handle_warn_if_not_align(), inbounds_memaccess_p(), int_byte_position(), ipa_get_stmt_member_ptr_load_param(), lower_omp_task_reductions(), and native_interpret_aggregate().
Insert INTEGER_CST T into a cache of integer constants. And return the cached constant (which may or may not be T). If MIGHT_DUPLICATE is false, and T falls into the type's 'smaller values' range, there cannot be an existing entry. Otherwise, if MIGHT_DUPLICATE is true, or the value is large, should an existing entry exist, it is returned (rather than inserting T).
References gcc_assert, gcc_checking_assert, gcc_unreachable, HOST_BITS_PER_WIDE_INT, int_cst_hash_table, integer_minus_onep(), integer_onep(), integer_zerop(), wi::ltu_p(), make_tree_vec(), wi::neg_p(), r, wi::to_wide(), TREE_CODE, TREE_INT_CST_ELT, TREE_OVERFLOW, tree_to_shwi(), tree_to_uhwi(), TREE_TYPE, TREE_VEC_ELT, TYPE_CACHED_VALUES, TYPE_CACHED_VALUES_P, TYPE_PRECISION, and TYPE_UNSIGNED.
|
inline |
Return ture if get_alias_set care about TYPE_CANONICAL of given type. We don't define the types for pointers, arrays and vectors. The reason is that pointers are handled specially: ptr_type_node accesses conflict with accesses to all other pointers. This is done by alias.cc. Because alias sets of arrays and vectors are the same as types of their elements, we can't compute canonical type either. Otherwise we could go form void *[10] to int *[10] (because they are equivalent for canonical type machinery) and get wrong TBAA.
References POINTER_TYPE_P, and TREE_CODE.
Referenced by get_alias_set(), gimple_canonical_types_compatible_p(), lto_read_body_or_constructor(), and record_component_aliases().
Returns element number IDX (zero-origin) of chain CHAIN, or NULL_TREE.
References TREE_CHAIN.
|
extern |
Return true if ELEM is part of the chain CHAIN.
References DECL_CHAIN.
Log2 of BITS_PER_UNIT.
Concatenate two lists (chains of TREE_LIST nodes) X and Y by making the last node in X point to Y. Returns X, except if X is 0 returns Y.
Concatenate two chains of nodes (chained through TREE_CHAIN) by modifying the last node in chain 1 to point to chain 2. This is the Lisp primitive `nconc'.
References gcc_assert, and TREE_CHAIN.
Referenced by decl_attributes(), declare_inline_vars(), declare_vars(), finalize_nesting_tree_1(), gimple_bind_append_vars(), gimplify_asm_expr(), maybe_canonicalize_argtypes(), scan_omp_for(), and self_referential_size().
|
extern |
Returns true iff unqualified CAND and BASE are equivalent.
References attribute_list_equal(), find_atomic_core_type(), TYPE_ALIGN, TYPE_ATTRIBUTES, TYPE_CONTEXT, TYPE_NAME, TYPE_QUAL_ATOMIC, TYPE_QUALS, and TYPE_USER_ALIGN.
Referenced by check_qualified_type(), get_nearest_type_subqualifiers(), and modified_type_die().
|
extern |
Returns true iff CAND and BASE have equivalent language-specific qualifiers.
References NULL, TREE_CODE, lang_hooks_for_types::type_hash_eq, and lang_hooks::types.
Referenced by check_aligned_type(), check_qualified_type(), and modified_type_die().
|
extern |
Check whether CAND is suitable to be returned from get_qualified_type (BASE, TYPE_QUALS).
Returns true iff CAND is equivalent to BASE with TYPE_QUALS.
References check_base_type(), check_lang_type(), and TYPE_QUALS.
Referenced by build_opaque_vector_type(), and get_qualified_type().
|
extern |
P is a string that will be used in a symbol. Mask out any characters that are not valid in that context.
Referenced by compute_comp_unit_symbol(), create_loop_fn(), and get_file_function_name().
|
extern |
Return the name of combined function FN, for debugging purposes.
References as_builtin_fn(), as_internal_fn(), builtin_decl_explicit(), builtin_fn_p(), DECL_NAME, IDENTIFIER_POINTER, and internal_fn_name().
Return true if CODE represents a ternary tree code for which the first two operands are commutative. Otherwise return false.
Referenced by inchash::add_hashable_expr(), commutative_ternary_op_p(), first_commutative_argument(), fold_stmt_1(), fold_ternary_loc(), gimple_simplify(), hashable_expr_equal_p(), and vn_nary_op_compute_hash().
Return true if CODE represents a commutative tree code. Otherwise return false.
Referenced by inchash::add_hashable_expr(), analyze_agg_content_value(), check_scan_store(), pcom_worker::combinable_refs_p(), commutative_binary_op_p(), cond_stmts_equal_p(), const_binop(), expand_omp_atomic_fetch_op(), first_commutative_argument(), fold_binary_loc(), fold_stmt_1(), gimple_simplify(), operand_compare::hash_operand(), hashable_expr_equal_p(), is_cond_scalar_reduction(), may_reassociate_p(), operand_compare::operand_equal_p(), parloops_is_simple_reduction(), recognise_vec_perm_simplify_seq(), reorder_operands(), vect_build_slp_tree_2(), vect_get_and_check_slp_defs(), vect_reassociating_reduction_p(), vectorizable_scan_store(), and vn_nary_op_compute_hash().
|
extern |
Compare the value of T, an INTEGER_CST, with U, an unsigned integer value. Return -1, 0, or 1 if the value of T is less than, equal to, or greater than U, respectively.
References tree_fits_uhwi_p(), TREE_INT_CST_LOW, and tree_int_cst_sgn().
Referenced by addr_object_size(), alloca_call_type(), analyze_siv_subscript_cst_affine(), check_for_plus_in_loops(), compare_nonzero_chars(), compare_nonzero_chars(), compute_builtin_object_size(), compute_trims(), decode_field_reference(), do_jump(), tree_switch_conversion::bit_test_cluster::emit(), emit_case_dispatch_table(), cgraph_node::expand(), expand_builtin_object_size(), expand_expr_real_1(), extract_bit_test_mask(), fold_binary_loc(), fold_builtin_object_size(), fold_read_from_constant_string(), get_bitfield_rep(), get_stridx_plus_constant(), gimple_fold_builtin_fputs(), gimple_fold_builtin_memory_op(), gimplify_parameters(), initialize_argument_information(), is_aligning_offset(), layout_decl(), layout_type(), maybe_optimize_mod_cmp(), non_rewritable_lvalue_p(), nonnull_arg_p(), normalize_offset(), operand_compare::operand_equal_p(), optimize_range_tests_to_bit_test(), plus_stmt_object_size(), predict_loops(), rtl_for_decl_init(), simplify_builtin_call(), size_for_offset(), ubsan_expand_null_ifn(), vect_analyze_data_ref_access(), vect_recog_divmod_pattern(), and verify_gimple_assign_single().
|
extern |
TYPE is initialized by a constructor with NUM_ELTS elements, the last of which had type LAST_TYPE. Each element was itself a complete initializer, in the sense that every meaningful byte was explicitly given a value. Return true if the same is true for the constructor as a whole.
References count_type_elements(), DECL_CHAIN, gcc_assert, simple_cst_equal(), TREE_CODE, TYPE_FIELDS, TYPE_SIZE, and ZERO_INIT_PADDING_BITS_UNIONS.
Referenced by categorize_ctor_elements_1().
|
inline |
Return true if the argument is a complete type or an array of unknown bound (whose type is incomplete but) whose elements have complete type.
References COMPLETE_TYPE_P, TREE_CODE, and TREE_TYPE.
Return a tree representing the offset, in bytes, of the field referenced by EXP. This does not include any offset in DECL_FIELD_BIT_OFFSET.
References DECL_FIELD_OFFSET, DECL_OFFSET_ALIGN, exp(), EXPR_LOCATION, fold_convert_loc(), size_binop_loc(), size_int, sizetype, SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, and TREE_TYPE.
Referenced by adjust_offset_for_component_ref(), compute_object_offset(), copy_reference_ops_from_ref(), dr_analyze_indices(), dump_generic_node(), eliminate_dom_walker::eliminate_stmt(), get_addr_base_and_unit_offset_1(), get_bitfield_rep(), get_inner_reference(), get_mem_align_offset(), get_ref_base_and_extent(), gimplify_compound_lval(), gimplify_scan_omp_clauses(), idx_find_step(), ref_at_iteration(), strip_offset_1(), and widen_memory_access().
|
extern |
Determines the special array member type for a COMPONENT_REF.
Determines the special array member type for the array reference REF.
References array_ref_flexible_size_p(), DECL_SIZE_UNIT, int_0, int_n, integer_all_onesp(), integer_zerop(), none, wi::to_offset(), trail_0, trail_1, trail_n, TREE_CODE, tree_int_cst_lt(), TREE_OPERAND, TREE_TYPE, TYPE_DOMAIN, TYPE_MAX_VALUE, TYPE_MIN_VALUE, and TYPE_SIZE_UNIT.
Referenced by array_bounds_checker::check_array_ref(), and component_ref_size().
|
extern |
Return the size of the member referenced by the COMPONENT_REF, using its initializer expression if necessary in order to determine the size of an initialized flexible array member. The size might be zero for an object with an uninitialized flexible array member or null if it cannot be determined.
Determines the size of the member referenced by the COMPONENT_REF REF, using its initializer expression if necessary in order to determine the size of an initialized flexible array member. If non-null, set *SAM to the type of special array member. Returns the size as sizetype (which might be zero for an object with an uninitialized flexible array member) or null if the size cannot be determined.
References byte_position(), component_ref_sam_type(), DECL_EXTERNAL, DECL_INITIAL, DECL_NOT_FLEXARRAY, DECL_P, DECL_SIZE_UNIT, error_mark_node, gcc_assert, get_addr_base_and_unit_offset(), get_initializer_for(), int_0, int_n, known_lt, NULL_TREE, size_zero_node, trail_n, TREE_CODE, tree_fits_poly_int64_p(), tree_int_cst_equal(), TREE_OPERAND, tree_to_poly_int64(), TREE_TYPE, TYPE_SIZE_UNIT, useless_type_conversion_p(), VAR_P, and wide_int_to_tree().
Referenced by decl_init_size(), get_up_bounds_for_array_ref(), and set_component_ref_size().
|
extern |
Return true if REF has a COMPONENT_REF with a bit-field field declaration somewhere in it.
References DECL_BIT_FIELD, handled_component_p(), TREE_CODE, and TREE_OPERAND.
Referenced by analyze_agg_content_value(), decompose_param_expr(), load_from_unmodified_param_or_agg(), and sra_modify_assign().
|
extern |
Return true if EXP contains a PLACEHOLDER_EXPR, i.e. if it represents a size or offset that depends on a field within a record.
References CONTAINS_PLACEHOLDER_P, exp(), FOR_EACH_CONST_CALL_EXPR_ARG, tcc_binary, tcc_comparison, tcc_exceptional, tcc_expression, tcc_reference, tcc_unary, tcc_vl_exp, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, TREE_OPERAND, and TREE_VALUE.
Referenced by save_expr().
|
inline |
Record that FUNCTION_DECL NEWDECL represents the same built-in function as OLDDECL (or none, if OLDDECL doesn't represent a built-in function).
Make a copy of a chain of TREE_LIST nodes.
Return a copy of a chain of nodes, chained through the TREE_CHAIN field. For example, this can copy a list made of TREE_LIST nodes.
References copy_node(), and TREE_CHAIN.
Referenced by create_omp_child_function(), decl_attributes(), expand_omp_target(), init_attr_rdwr_indices(), and split_complex_types().
|
extern |
Copy warning disposition from one location to another.
Copy the no-warning disposition from one location to another.
References hash_map< KeyId, Value, Traits >::get(), nowarn_map, NULL, hash_map< KeyId, Value, Traits >::put(), hash_map< KeyId, Value, Traits >::remove(), and RESERVED_LOCATION_P.
Referenced by copy_tree_body_r(), copy_var_decl(), create_access_replacement(), create_one_component_var(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_call_stmt(), fold_truth_not_expr(), gimple_build_call_from_tree(), gimple_fold_builtin_sprintf(), gimplify_cond_expr(), gimplify_expr(), gimplify_modify_expr(), gimplify_return_expr(), lookup_field_for_decl(), and remap_gimple_op_r().
|
extern |
Copy warning disposition from one expression to another.
Copy the warning disposition mapping from one expression to another.
References copy_warning().
|
inline |
References crc32_unsigned_n().
Referenced by coverage_compute_cfg_checksum(), and crc32_string().
|
extern |
Generate a crc32 of a string.
References crc32_byte().
Referenced by coverage_checksum_string(), get_file_function_name(), and set_random_seed().
|
inline |
References crc32_unsigned_n().
Referenced by coverage_finish(), and read_counts_file().
|
extern |
In tree.cc
Generate a crc32 of the low BYTES bytes of VALUE.
References SYNDROME.
Referenced by crc32_byte(), and crc32_unsigned().
|
extern |
Create a nameless artificial label and put it in the current function context. The label has a location of LOC. Returns the newly created label.
References build_decl(), current_function_decl, DECL_ARTIFICIAL, DECL_CONTEXT, DECL_IGNORED_P, NULL_TREE, and void_type_node.
Referenced by adjust_assumption_stmt_r(), build_and_jump(), build_instrumentation_call(), clear_padding_emit_loop(), convert_nl_goto_reference(), emit_post_landing_pad(), frob_into_branch_around(), tree_switch_conversion::switch_conversion::gen_inbound_check(), gimple_block_label(), gimplify_cond_expr(), gimplify_init_ctor_eval_range(), gimplify_loop_expr(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_omp_dispatch(), gimplify_omp_loop_xform(), gimplify_switch_expr(), handle_abnormal_edges(), lower_builtin_posix_memalign(), lower_builtin_setjmp(), lower_catch(), lower_eh_filter(), lower_gimple_return(), lower_lastprivate_clauses(), lower_omp_1(), lower_omp_for_scan(), lower_omp_ordered(), lower_omp_single_copy(), lower_omp_single_simple(), lower_omp_target(), lower_omp_task_reductions(), lower_omp_teams(), lower_rec_input_clauses(), lower_reduction_clauses(), lower_transaction(), lower_try_finally_copy(), lower_try_finally_fallthru_label(), lower_try_finally_nofallthru(), lower_try_finally_onedest(), lower_try_finally_switch(), maybe_add_implicit_barrier_cancel(), new_label_mapper(), omp_apply_tile(), omp_copy_decl(), replace_goto_queue_cond_clause(), scan_omp_simd(), and sjlj_emit_dispatch_table().
|
extern |
Checks that X is integer constant that can be expressed in (unsigned) HOST_WIDE_INT without loss of precision.
References TREE_CODE, tree_fits_shwi_p(), and tree_fits_uhwi_p().
Referenced by add_autoinc_candidates(), adjust_nested_loop_clauses(), classify_builtin_st(), dump_mem_details(), find_or_create_group(), force_expr_to_var_cost(), gather_memory_references_ref(), idx_analyze_ref(), initialize_matrix_A(), int_cst_value(), inverse(), issue_prefetch_ref(), iv_elimination_compare_lt(), prune_ref_by_group_reuse(), prune_ref_by_self_reuse(), ptr_difference_const(), ptrdiff_tree_p(), should_issue_prefetch_p(), and strip_offset_1().
Given a CONSTRUCTOR CTOR, return the element values as a vector.
Return the values of the elements of a CONSTRUCTOR as a vector of trees.
References CONSTRUCTOR_ELTS, CONSTRUCTOR_NELTS, FOR_EACH_CONSTRUCTOR_VALUE, and vec_alloc().
|
extern |
Return whether OP is a DECL whose address is function-invariant.
References current_function_decl, DECL_CONTEXT, DECL_EXTERNAL, decl_function_context(), DECL_THREAD_LOCAL_P, TREE_CODE, and TREE_STATIC.
Referenced by gimple_fold_stmt_to_constant_1(), is_gimple_invariant_address(), is_gimple_mem_ref_addr(), transaction_invariant_address_p(), and tree_invariant_p_1().
|
extern |
Return whether OP is a DECL whose address is interprocedural-invariant.
References DECL_DLLIMPORT_P, DECL_EXTERNAL, DECL_THREAD_LOCAL_P, TREE_CODE, and TREE_STATIC.
Referenced by is_gimple_ip_invariant_address(), and loc_list_from_tree_1().
The name of the object as the assembler will see it (but before any translations made by ASM_OUTPUT_LABELREF). Often this is the same as DECL_NAME. It is an IDENTIFIER_NODE.
References DECL_ASSEMBLER_NAME_RAW, DECL_ASSEMBLER_NAME_SET_P, and lang_hooks::set_decl_assembler_name.
Referenced by assign_assembler_name_if_needed(), and get_function_name().
|
extern |
When the target supports COMDAT groups, this indicates which group the DECL is associated with. This can be either an IDENTIFIER_NODE or a decl, in which case its DECL_ASSEMBLER_NAME identifies the group.
References symtab_node::get(), symtab_node::get_comdat_group(), and NULL.
|
extern |
Likewise, but make sure it's been reduced to an IDENTIFIER_NODE.
References symtab_node::get(), symtab_node::get_comdat_group_id(), and NULL.
Referenced by ipa_tm_create_version_alias(), and write_symbol().
Insert a mapping FROM->empty vector of debug arguments in the value expression hashtable.
References hash_table< Descriptor, Lazy, Allocator >::create_ggc(), debug_args_for_decl, decl_debug_args_lookup(), DECL_HAS_DEBUG_ARGS_P, DECL_UID, ggc_alloc(), and NULL.
Referenced by input_function(), ipa_param_adjustments::modify_call(), and tree_function_versioning().
Lookup a vector of debug arguments for FROM, and return it if we find one.
References debug_args_for_decl, DECL_HAS_DEBUG_ARGS_P, DECL_UID, gcc_checking_assert, and NULL.
Referenced by copy_debug_stmt(), decl_debug_args_insert(), expand_call_stmt(), expand_debug_source_expr(), output_function(), prepare_call_arguments(), split_function(), and tree_function_versioning().
Insert a mapping FROM->TO in the debug expression hashtable.
References debug_expr_for_decl, DECL_UID, and ggc_alloc().
Lookup a debug expression for FROM, and return it if we find one.
References debug_expr_for_decl, DECL_UID, and NULL_TREE.
|
inline |
Return the frontend-specific built-in function that DECL represents, given that it is known to be a FUNCTION_DECL with built-in class BUILT_IN_FRONTEND.
References BUILT_IN_FRONTEND, and gcc_checking_assert.
Referenced by print_node().
|
extern |
Set the finalization priority for DECL to PRIORITY.
References DEFAULT_INIT_PRIORITY, cgraph_node::get(), cgraph_node::get_create(), and cgraph_node::set_fini_priority().
Referenced by cgraph_build_static_cdtor_1().
|
extern |
Return the finalization priority for DECL.
References DEFAULT_INIT_PRIORITY, cgraph_node::get(), and cgraph_node::get_fini_priority().
Referenced by rest_of_handle_final().
|
inline |
Return the built-in function that DECL represents, given that it is known to be a FUNCTION_DECL with built-in class BUILT_IN_NORMAL.
References BUILT_IN_NORMAL, and gcc_checking_assert.
Referenced by strlen_pass::adjust_last_stmt(), alloc_object_size(), alloca_call_p(), asan_memfn_rtl(), associated_internal_fn(), builtin_fnspec(), builtin_mathfn_code(), builtin_safe_for_const_function_p(), builtin_with_linkage_p(), can_implement_as_sibling_call_p(), can_test_argument_range(), strlen_pass::check_and_optimize_call(), check_bounds_or_overlap(), check_call(), check_defs(), check_fnspec(), check_omp_nesting_restrictions(), copy_attributes_to_builtin(), decl_attributes(), determine_versionability(), dse_optimize_redundant_stores(), dse_optimize_stmt(), edom_only_function(), emit_call_1(), estimate_num_insns(), evaluate_stmt(), expand_builtin(), expand_builtin_alloca(), expand_builtin_cexpi(), expand_builtin_fork_or_exec(), expand_builtin_frame_address(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), expand_builtin_memcmp(), expand_builtin_memset_args(), expand_builtin_sync_operation(), expand_call_stmt(), expand_call_tm(), expr_expected_value_1(), find_func_aliases_for_builtin_call(), find_func_clobbers(), find_tm_replacement_function(), fndecl_alloc_p(), fndecl_built_in_p(), fndecl_dealloc_argno(), fold_builtin_0(), fold_builtin_1(), fold_builtin_2(), fold_builtin_3(), fold_builtin_interclass_mathfn(), fold_builtin_varargs(), fully_constant_vn_reference_p(), gen_shrink_wrap_conditions(), get_call_combined_fn(), get_mem_refs_of_builtin_call(), get_string_length(), gimple_alloca_call_p(), gimple_build_call_from_tree(), gimple_builtin_call_types_compatible_p(), gimple_call_combined_fn(), gimple_call_return_array(), gimple_extract(), gimple_fold_builtin(), gimple_fold_builtin_string_compare(), gimple_stringops_transform(), gimplify_addr_expr(), gimplify_call_expr(), handle_builtin_alloca(), strlen_pass::handle_builtin_memset(), strlen_pass::handle_builtin_strlen(), handle_printf_call(), operand_compare::hash_operand(), initialize_ao_ref_for_dse(), inline_expand_builtin_bytecmp(), inline_forbidden_p_stmt(), instrument_builtin(), instrument_builtin_call(), interclass_mathfn_icode(), interesting_stringop_to_profile_p(), is_addr_local(), is_inexpensive_builtin(), is_removable_allocation_p(), is_simple_builtin(), is_strlen_related_p(), is_sync_builtin_call(), is_tm_builtin(), is_tm_ending_fndecl(), is_tm_load(), is_tm_simple_load(), is_tm_simple_store(), is_tm_store(), lower_coro_builtin(), lower_eh_constructs_2(), lower_omp_1(), lower_stmt(), mark_all_reaching_defs_necessary_1(), matching_alloc_calls_p(), maybe_diag_stxncpy_trunc(), maybe_instrument_call(), maybe_invalidate(), maybe_trim_memstar_call(), maybe_warn_nonstring_arg(), maybe_warn_operand(), maybe_warn_pass_by_reference(), move_stmt_r(), nonfreeing_call_p(), old_insns_match_p(), optimize_atomic_compare_exchange_p(), optimize_stack_restore(), optimize_stdarg_builtin(), optimize_va_list_gpr_fpr_size(), possible_polymorphic_call_target_p(), print_node(), jump_threader::record_temporary_equivalences_from_stmts_at_dest(), remap_gimple_stmt(), scan_omp_1_stmt(), set_builtin_user_assembler_name(), simplify_builtin_call(), special_function_p(), stmt_kills_ref_p(), strub_callable_builtin_p(), tm_memopt_transform_stmt(), tm_region_init_1(), tree_builtin_call_types_compatible_p(), valid_builtin_call(), vect_recog_pow_pattern(), verify_gimple_call(), and visit_bb().
|
extern |
Return the FUNCTION_DECL which provides this _DECL with its context, or zero if none.
Return the innermost context enclosing DECL that is a FUNCTION_DECL, or zero if none.
References BLOCK_SUPERCONTEXT, DECL_CONTEXT, DECL_VIRTUAL_P, get_containing_scope(), TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, and TYPE_MAIN_VARIANT.
Referenced by analyze_functions(), can_implement_as_sibling_call_p(), computable_teams_clause(), convert_gimple_call(), convert_local_omp_clauses(), convert_local_reference_op(), convert_local_reference_stmt(), convert_nl_goto_reference(), convert_nonlocal_omp_clauses(), convert_nonlocal_reference_op(), convert_nonlocal_reference_stmt(), convert_tramp_reference_op(), copy_tree_body_r(), decl_address_invariant_p(), expand_expr_real_1(), expand_goto(), force_label_rtx(), get_nonlocal_debug_decl(), gimple_verify_flow_info(), gimplify_expr(), gimplify_label_expr(), gimplify_modify_expr(), gimplify_var_or_parm_decl(), instrument_derefs(), instrument_object_size(), lookup_field_for_decl(), new_die(), note_nonlocal_vla_type(), omp_copy_decl(), remap_gimple_op_r(), remap_vla_decls(), rest_of_decl_compilation(), tree_is_indexable(), type_all_derivations_known_p(), and verify_expr_location_1().
|
extern |
Set the initialization priority for DECL to PRIORITY.
References DEFAULT_INIT_PRIORITY, symtab_node::get(), cgraph_node::get_create(), varpool_node::get_create(), symtab_node::set_init_priority(), and VAR_P.
Referenced by cgraph_build_static_cdtor_1().
|
extern |
Return the initialization priority for DECL.
References DEFAULT_INIT_PRIORITY, symtab_node::get(), and symtab_node::get_init_priority().
Referenced by rest_of_handle_final().
|
inline |
Return the target-specific built-in function that DECL represents, given that it is known to be a FUNCTION_DECL with built-in class BUILT_IN_MD.
References BUILT_IN_MD, and gcc_checking_assert.
Referenced by print_node().
|
extern |
When the target supports named section, return its name as IDENTIFIER_NODE or NULL if it is in no section.
References symtab_node::get(), symtab_node::get_section(), and NULL.
|
extern |
Return TLS model of a variable NODE.
References varpool_node::get(), varpool_node::tls_model, and TLS_MODEL_NONE.
Referenced by function_and_variable_visibility().
|
extern |
Return the RECORD_TYPE, UNION_TYPE, or QUAL_UNION_TYPE which provides this _DECL with its context, or zero if none.
Return the innermost context enclosing DECL that is a RECORD_TYPE, UNION_TYPE or QUAL_UNION_TYPE, or zero if none. TYPE_DECLs and FUNCTION_DECLs are transparent to this function.
References BLOCK_SUPERCONTEXT, DECL_CONTEXT, gcc_unreachable, NULL_TREE, and TREE_CODE.
Referenced by rest_of_decl_compilation().
Insert a mapping FROM->TO in the value expression hashtable.
References DECL_UID, ggc_alloc(), protected_set_expr_location_unshare(), UNKNOWN_LOCATION, and value_expr_for_decl.
Lookup a value expression for FROM, and return it if we find one.
References DECL_UID, NULL_TREE, and value_expr_for_decl.
|
extern |
Implement TARGET_EMPTY_RECORD_P. Return true if TYPE is an empty type that shouldn't be passed via stack.
References abi_version_at_least, error_mark_node, is_empty_type(), TREE_ADDRESSABLE, and TYPE_MAIN_VARIANT.
|
inline |
Return true if it makes sense to promote/demote from_type to to_type.
References GET_MODE_PRECISION(), TYPE_PRECISION, and word_mode.
Referenced by simplify_using_ranges::simplify_casted_compare().
|
extern |
Constructs double_int from tree CST.
Constructs tree in type TYPE from with value given by CST. Signedness of CST is assumed to be the same as the signedness of TYPE.
References TYPE_SIGN, and wide_int_to_tree().
Referenced by native_encode_fixed().
Drops the TREE_OVERFLOW flag from T.
References tree_vector_builder::build(), copy_node(), count, drop_tree_overflow(), vector_builder< T, Shape, Derived >::encoded_nelts(), gcc_checking_assert, i, vector_builder< T, Shape, Derived >::new_unary_operation(), poly_int_tree_p(), wi::to_poly_wide(), TREE_CODE, TREE_IMAGPART, TREE_OVERFLOW, TREE_REALPART, TREE_TYPE, VECTOR_CST_ELT, and wide_int_to_tree().
Referenced by canonicalize_constructor_val(), canonicalize_value(), drop_tree_overflow(), factor_out_conditional_operation(), fold_builtin_arith_overflow(), fold_const_call(), fold_const_call(), get_single_symbol(), range_query::get_tree_range(), gimple_fold_call(), gimple_resimplify1(), gimple_resimplify2(), gimple_resimplify3(), gimplify_expr(), maybe_optimize_arith_overflow(), set_ssa_name_value(), and split_tree().
|
extern |
Print debugging information about tree nodes generated during the compile, and any language-specific information.
References all_kinds, get_tree_code_name(), i, MAX_TREE_CODES, phinodes_print_statistics(), mem_usage::print_dash_line(), print_debug_expr_statistics(), print_type_hash_statistics(), print_value_expr_statistics(), PRIu64, SIZE_AMOUNT, ssanames_print_statistics(), tree_code_counts, tree_codes_cmp(), TREE_MEM_USAGE_SPACES, tree_node_counts, tree_node_kind_names, tree_node_sizes, and tree_nodes_cmp().
Referenced by dump_memory_report().
|
extern |
Return the machine mode of T. For vectors, returns the mode of the inner type. The main use case is to feed the result to HONOR_NANS, avoiding the BLKmode that a direct TYPE_MODE (T) might return.
References TREE_CODE, TREE_TYPE, TYPE_MODE, TYPE_P, and VECTOR_TYPE_P.
Referenced by default_vectorize_related_mode(), HONOR_INFINITIES(), HONOR_NANS(), HONOR_SIGN_DEPENDENT_ROUNDING(), HONOR_SIGNED_ZEROS(), HONOR_SNANS(), record_edge_info(), related_vector_mode(), sign_mask_for(), tree_expr_finite_p(), try_special_add_to_ops(), vect_truncate_gather_scatter_offset(), verify_gimple_assign_binary(), verify_gimple_assign_ternary(), and verify_gimple_assign_unary().
|
extern |
Return the precision of the type, or for a complex or vector type the precision of the type of its elements.
References TREE_CODE, TREE_TYPE, TYPE_P, and TYPE_PRECISION.
Referenced by convert_to_integer_1(), convert_to_real_1(), divmod_candidate_p(), fold_binary_loc(), fold_negate_expr_1(), get_known_nonzero_bits_1(), get_nonzero_bits_1(), hashable_expr_equal_p(), loop_exits_before_overflow(), movement_possibility_1(), negate_expr_p(), operand_compare::operand_equal_p(), strip_float_extensions(), and verify_gimple_assign_unary().
|
inline |
True if T is an erroneous expression.
References error_mark_node, and TREE_TYPE.
Referenced by aggregate_value_p(), computable_teams_clause(), convert_to_complex_1(), decl_attributes(), fold_builtin_1(), fold_builtin_2(), fold_builtin_3(), gimplify_compound_lval(), gimplify_expr(), gimplify_modify_expr(), gimplify_omp_affinity(), gimplify_omp_depend(), gimplify_scan_omp_clauses(), maybe_wrap_with_location(), omp_add_variable(), omp_build_struct_sibling_lists(), and omp_notice_variable().
Error out with an identifier which was marked 'unavailable'.
References DECL_ATTRIBUTES, DECL_NAME, DECL_P, DECL_SOURCE_LOCATION, error(), inform(), lookup_attribute(), msg, NULL_TREE, TREE_CODE, TREE_STRING_POINTER, TREE_TYPE, TREE_VALUE, TYPE_ATTRIBUTES, TYPE_NAME, TYPE_P, and TYPE_STUB_DECL.
|
extern |
If TYPE is a real or complex floating-point type and the target does not directly support arithmetic on TYPE then return the wider type to be used for arithmetic on TYPE. Otherwise, return NULL_TREE.
References bfloat16_type_node, complex_double_type_node, complex_float_type_node, complex_long_double_type_node, double_type_node, EXCESS_PRECISION_FAST, EXCESS_PRECISION_FLOAT16, EXCESS_PRECISION_TYPE_FAST, EXCESS_PRECISION_TYPE_FLOAT16, EXCESS_PRECISION_TYPE_STANDARD, float16_type_node, float_type_node, FLT_EVAL_METHOD_PROMOTE_TO_DOUBLE, FLT_EVAL_METHOD_PROMOTE_TO_FLOAT, FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16, FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE, FLT_EVAL_METHOD_UNPREDICTABLE, gcc_assert, gcc_unreachable, long_double_type_node, NULL_TREE, targetm, TREE_CODE, TREE_TYPE, and TYPE_MODE.
Return true if an expression with CODE has to have the same result type as its first operand.
Referenced by ipa_get_jf_arith_result().
Given a tree EXP, find all occurrences of references to fields in a PLACEHOLDER_EXPR and place them in vector REFS without duplicates. Also record VAR_DECLs and CONST_DECLs. Note that we assume here that EXP contains only arithmetic expressions or CALL_EXPRs with PLACEHOLDER_EXPRs occurring only in their argument list.
References exp(), FIND_PLACEHOLDER_IN_EXPR, gcc_unreachable, i, push_without_duplicates(), REFERENCE_CLASS_P, refs, tcc_binary, tcc_comparison, tcc_constant, tcc_declaration, tcc_exceptional, tcc_expression, tcc_reference, tcc_unary, tcc_vl_exp, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, TREE_OPERAND, TREE_OPERAND_LENGTH, TREE_STATIC, and TREE_VALUE.
Referenced by self_referential_size().
|
inline |
References exp().
Referenced by operand_compare::operand_equal_p(), and simple_cst_equal().
|
extern |
Returns the first/last FIELD_DECL in a RECORD_TYPE.
Returns the first FIELD_DECL in the TYPE_FIELDS of the RECORD_TYPE or UNION_TYPE TYPE, or NULL_TREE if none.
References TREE_CHAIN, TREE_CODE, and TYPE_FIELDS.
Referenced by aggregate_value_p(), assign_parm_find_data_types(), get_vec_alignment_for_record_type(), initialize_argument_information(), load_register_parameters(), and pass_by_reference().
|
extern |
fixed_zerop (tree x) is nonzero if X is a fixed-point constant of value 0.
Return true if EXPR is the fixed-point constant zero, or a location wrapper for such a constant.
References STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, and TREE_FIXED_CST.
Referenced by initializer_zerop(), operation_could_trap_helper_p(), some_nonzerop(), and zerop().
|
extern |
Determine whether TYPE is a structure with a flexible array member, or a union containing such a structure (possibly recursively).
References DECL_CHAIN, flexible_array_type_p(), last, NULL_TREE, TREE_CODE, TREE_TYPE, TYPE_DOMAIN, TYPE_FIELDS, TYPE_MAX_VALUE, and TYPE_SIZE.
Referenced by fixup_child_record_type(), flexible_array_type_p(), and lower_omp_target().
|
inline |
Return true if a FUNCTION_DECL NODE is a GCC built-in function. Note that it is different from the DECL_IS_UNDECLARED_BUILTIN accessor, as this is impervious to user declaration.
References DECL_BUILT_IN_CLASS, and NOT_BUILT_IN.
Referenced by ipa_param_adjustments::adjust_decl(), builtin_mathfn_code(), calls_builtin_apply_args_p(), calls_builtin_va_start_p(), can_strub_internally_p(), cgraph_externally_visible_p(), cgraph_update_edges_for_call_stmt_node(), check_access(), compute_fn_summary(), copy_bb(), cgraph_node::create_clone(), decl_fnspec(), determine_versionability(), diag_attr_exclusions(), dump_gimple_call(), estimate_num_insns(), expand_call_stmt(), expand_expr_real_1(), find_func_aliases_for_call(), find_replaceable_in_bb(), find_tail_calls(), fndecl_alloc_p(), fndecl_built_in_p(), fndecl_built_in_p(), fndecl_built_in_p(), fndecl_dealloc_argno(), fold_binary_loc(), fold_builtin_call_array(), fold_builtin_expect(), fold_call_expr(), fold_call_stmt(), fold_marked_statements(), fully_constant_vn_reference_p(), gen_shrink_wrap_conditions(), get_call_combined_fn(), get_string_length(), get_upper_bound_based_on_builtin_expr_with_prob(), gimple_alloca_call_p(), gimple_boolify(), gimple_build_call_from_tree(), gimple_call_builtin_p(), gimple_call_combined_fn(), gimple_fold_stmt_to_constant_1(), gimplify_addr_expr(), gimplify_call_expr(), gimplify_modify_expr(), goa_stabilize_expr(), handle_lhs_call(), input_node(), ipa_get_indirect_edge_target_1(), ipa_read_edge_info(), is_removable_allocation_p(), is_simple_builtin(), is_tm_abort(), is_tm_irrevocable(), is_tm_load(), is_tm_simple_load(), is_tm_simple_store(), is_tm_store(), is_ubsan_builtin_p(), lower_coro_builtin(), lower_eh_constructs_2(), lower_omp_1(), lower_stmt(), mark_all_reaching_defs_necessary_1(), matching_alloc_calls_p(), maybe_warn_nonstring_arg(), ipa_param_body_adjustments::modify_formal_parameters(), move_stmt_r(), need_assembler_name_p(), operand_compare::operand_equal_p(), optimize_stack_restore(), dom_opt_dom_walker::optimize_stmt(), optimize_va_list_gpr_fpr_size(), symtab_node::output_to_lto_symbol_table_p(), possible_polymorphic_call_target_p(), print_node(), read_ipa_call_summary(), jump_threader::record_temporary_equivalences_from_stmts_at_dest(), cgraph_edge::redirect_call_stmt_to_callee(), remap_gimple_stmt(), scan_insn(), set_builtin_user_assembler_name(), setjmp_or_longjmp_p(), simplify_builtin_call(), simulate_builtin_function_decl(), split_function(), stmt_can_terminate_bb_p(), stmt_cost(), strip_predict_hints(), surely_varying_stmt_p(), tm_region_init_1(), try_make_edge_direct_virtual_call(), vectorizable_call(), cgraph_edge::verify_corresponds_to_fndecl(), verify_gimple_call(), cgraph_node::verify_node(), verify_strub(), and visit_bb().
|
inline |
Return true if a FUNCTION_DECL NODE is a GCC built-in function of class KLASS.
References DECL_BUILT_IN_CLASS, and fndecl_built_in_p().
|
inline |
Return true if a FUNCTION_DECL NODE is a GCC built-in function of BUILT_IN_NORMAL class with name equal to NAME1 (or other mentioned NAMES).
References built_in_function_equal_p(), BUILT_IN_NORMAL, DECL_FUNCTION_CODE(), fndecl_built_in_p(), and names.
|
inline |
Return true if a FUNCTION_DECL NODE is a GCC built-in function of class KLASS with name equal to NAME.
References DECL_UNCHECKED_FUNCTION_CODE, and fndecl_built_in_p().
|
extern |
Return the zero-based number corresponding to the argument being deallocated if FNDECL is a deallocation function or an out-of-bounds value if it isn't.
References BUILT_IN_NORMAL, DECL_ASSEMBLER_NAME, DECL_ATTRIBUTES, DECL_FUNCTION_CODE(), DECL_IS_OPERATOR_DELETE_P, DECL_IS_REPLACEABLE_OPERATOR, fndecl_built_in_p(), id_equal(), lookup_attribute(), TREE_CHAIN, TREE_INT_CST_LOW, TREE_VALUE, and UINT_MAX.
|
extern |
We force the wide_int CST to the range of the type TYPE by sign or zero extending it. OVERFLOWABLE indicates if we are interested in overflow of the value, when >0 we are only interested in signed overflow, for <0 we are interested in any overflow. OVERFLOWED indicates whether overflow has already occurred. CONST_OVERFLOWED indicates whether constant overflow has already occurred. We force T's value to be within range of T's type (by setting to 0 or 1 all the bits outside the type's range). We set TREE_OVERFLOWED if, OVERFLOWED is nonzero, or OVERFLOWABLE is >0 and signed overflow occurs or OVERFLOWABLE is <0 and any overflow occurs We return a new tree node for the extended wide_int. The node is shared if no overflow flags are set.
References build_new_int_cst(), build_new_poly_int_cst(), poly_int< N, C >::coeffs, tree_poly_int_cst::coeffs, wi::fits_to_tree_p(), poly_int< N, C >::from(), i, poly_int< N, C >::is_constant(), NUM_POLY_INT_COEFFS, SIGNED, TREE_OVERFLOW, TYPE_PRECISION, TYPE_SIGN, and wide_int_to_tree().
Referenced by const_binop(), fold_abs_const(), fold_convert_const_int_from_fixed(), fold_convert_const_int_from_int(), fold_convert_const_int_from_real(), fold_div_compare(), fold_negate_const(), fold_not_const(), fold_unary_loc(), int_const_binop(), and round_up_loc().
|
extern |
Free tree node.
References BINFO_BASE_ACCESSES, BLOCK_NONLOCALIZED_VARS, CODE_CONTAINS_STRUCT, CONSTRUCTOR_ELTS, gcc_checking_assert, get_stats_node_kind(), ggc_free(), TREE_CODE, tree_code_counts, tree_node_counts, tree_node_sizes, TREE_OPTIMIZATION, tree_size(), TREE_TARGET_OPTION, and vec_free().
Referenced by type_hash_canon().
|
inline |
Return the next argument if there are more arguments to handle, otherwise return NULL.
References i, NULL_TREE, and TREE_VALUE.
Referenced by maybe_warn_nonstring_arg().
|
inline |
Return a pointer that holds the next argument if there are more arguments to handle, otherwise return NULL.
References i, NULL, and TREE_VALUE.
|
inline |
Initialize the iterator I with arguments from function FNDECL
References i, and TYPE_ARG_TYPES.
Referenced by maybe_warn_nonstring_arg().
|
inline |
Advance to the next argument.
References gcc_assert, i, NULL_TREE, and TREE_CHAIN.
Referenced by maybe_warn_nonstring_arg().
If an expression refers to a character array or pointer declared attribute nonstring, return a decl for that array or pointer and if nonnull, set the second argument to the referenced enclosing object or pointer. Otherwise return null.
If EXPR refers to a character array or pointer declared attribute nonstring, return a decl for that array or pointer and set *REF to the referenced enclosing object or pointer. Otherwise return null.
References DECL_ATTRIBUTES, DECL_P, expr, get_attr_nonstring_decl(), gimple_assign_rhs1(), gimple_assign_rhs_code(), is_gimple_assign(), lookup_attribute(), NULL_TREE, SSA_NAME_DEF_STMT, SSA_NAME_VAR, TREE_CODE, and TREE_OPERAND.
Referenced by get_attr_nonstring_decl(), gimple_fold_builtin_strncpy(), maybe_diag_stxncpy_trunc(), and maybe_warn_nonstring_arg().
Given a memory reference expression T, return its base address. The base address of a memory reference expression is the main object being referenced.
Given a memory reference expression T, return its base address. The base address of a memory reference expression is the main object being referenced. For instance, the base address for 'array[i].fld[j]' is 'array'. You can think of this as stripping away the offset part from a memory address. This function calls handled_component_p to strip away all the inner parts of the memory reference until it reaches the base object.
References handled_component_p(), TREE_CODE, and TREE_OPERAND.
Referenced by nontrapping_dom_walker::add_or_mark_expr(), adjust_references_in_caller(), ao_ref_init_from_ptr_and_range(), array_ref_flexible_size_p(), avoid_type_punning_on_regs(), base_object_writable(), build_access_from_call_arg(), build_access_from_expr_1(), can_escape(), can_sm_ref_p(), canonicalize_constructor_val(), check_op(), compute_live_vars_visit(), cond_if_else_store_replacement_1(), copy_ref_info(), create_specialized_node(), cgraph_node::create_virtual_clone(), declare_return_variable(), dest_safe_for_nrv_p(), detect_type_change_from_memory_writes(), determine_base_object_1(), discover_nonconstant_array_refs(), discover_nonconstant_array_refs_r(), disqualify_base_of_expr(), dr_analyze_alias(), eliminate_local_variables_1(), eliminated_by_inlining_prob(), execute_fixup_cfg(), execute_update_addresses_taken(), expand_call_inline(), find_func_aliases(), gather_memory_references_ref(), get_base_decl(), ipa_polymorphic_call_context::get_dynamic_type(), get_memory_rtx(), get_range_strlen_tree(), get_references_in_stmt(), gimple_duplicate_bb(), gimple_ior_addresses_taken_1(), gimple_range_base_of_assignment(), gimplify_asm_expr(), gimplify_init_constructor(), gimplify_scan_omp_clauses(), handle_lhs_call(), initialize_argument_information(), instrument_null(), is_addr_local(), is_asan_mark_p(), load_from_dereferenced_name(), load_or_store_of_ptr_parameter(), lower_omp_1(), lower_omp_target(), mark_address(), mark_address_taken(), mark_load(), mark_nonssa_use(), mark_store(), maybe_remove_writeonly_store(), maybe_set_strlen_range(), maybe_warn_operand(), mem_dies_at_call(), non_rewritable_mem_ref_base(), oacc_entry_exit_ok_1(), omp_notice_variable(), param_change_prob(), parm_preserved_before_stmt_p(), points_to_possible_sra_candidate_p(), ptr_deref_may_alias_decl_p(), ptr_derefs_may_alias_p(), ptrs_compare_unequal(), readonly_data_expr(), ref_can_have_store_data_races(), ref_may_alias_global_p(), refs_local_or_readonly_memory_p(), remove_unused_locals(), scan_sharing_clauses(), scan_visit_addr(), self_inlining_addr_expr(), set_mem_attributes_minus_bitpos(), sra_modify_call_arg(), strdup_object_size(), test_nonssa_use(), tls_mem_loc_descriptor(), tree_single_nonzero_warnv_p(), unadjusted_ptr_and_unit_offset(), va_list_counter_bump(), va_list_counter_struct_op(), vect_analyze_data_refs(), vect_bb_slp_scalar_cost(), vect_get_datarefs_in_loop(), vectorizable_store(), visit_conflict(), visit_op(), visit_ref_for_mod_analysis(), and visit_reference_op_call().
|
extern |
Try to find a base info of BINFO that would have its field decl at offset OFFSET within the BINFO type and which is of EXPECTED_TYPE. If it can be found, return, otherwise return NULL_TREE.
References BINFO_BASE_ITERATE, BINFO_OFFSET, BINFO_TYPE, DECL_ARTIFICIAL, DECL_CHAIN, DECL_SIZE, i, int_bit_position(), lookup_binfo_at_offset(), NULL, NULL_TREE, offset, TREE_CODE, tree_to_shwi(), tree_to_uhwi(), TREE_TYPE, TYPE_FIELDS, and types_same_for_odr().
Referenced by possible_polymorphic_call_targets(), record_target_from_binfo(), record_targets_from_bases(), and ipa_polymorphic_call_context::restrict_to_inner_class().
|
extern |
If CALL_EXPR CALL calls a normal built-in function or an internal function, return the associated function code, otherwise return CFN_LAST.
References as_combined_fn(), BUILT_IN_NORMAL, CALL_EXPR_FN, CALL_EXPR_IFN, DECL_FUNCTION_CODE(), fndecl_built_in_p(), gcc_assert, get_callee_fndecl(), tree_builtin_call_types_compatible_p(), and TREE_CODE.
Referenced by expression_expensive_p(), fold_negate_expr_1(), integer_valued_real_p(), negate_expr_p(), tree_expr_finite_p(), tree_expr_maybe_nan_p(), tree_expr_maybe_real_minus_zero_p(), tree_expr_maybe_signaling_nan_p(), and tree_invalid_nonnegative_warnv_p().
|
extern |
CALL is a CALL_EXPR. Return the declaration for the function called, or NULL_TREE if the called function cannot be determined.
References CALL_EXPR_FN, DECL_INITIAL, DECL_P, error_mark_node, gcc_assert, NULL_TREE, STRIP_NOPS, TREE_CODE, TREE_OPERAND, TREE_READONLY, and TREE_THIS_VOLATILE.
Referenced by get_call_combined_fn().
|
extern |
Given a DECL or TYPE, return the scope in which it was declared, or NUL_TREE if there is no containing scope.
Given a DECL or TYPE, return the scope in which it was declared, or NULL_TREE if there is no containing scope.
References DECL_CONTEXT, TYPE_CONTEXT, and TYPE_P.
Referenced by decl_function_context(), and get_ultimate_context().
|
inline |
References EXPR_LOCATION, and line_table.
|
extern |
Generate a name for a special-purpose function. The generated name may need to be unique across the whole link. Changes to this function may also require corresponding changes to xstrdup_mask_random. TYPE is some string to identify the purpose of this function to the linker or collect2; it must start with an uppercase letter, one of: I - for constructors D - for destructors N - for C++ anonymous namespaces F - for DWARF unwind frame information.
References alloca, clean_symbol_name(), crc32_string(), FILE_FUNCTION_FORMAT, first_global_object_name, get_identifier(), get_random_seed(), HOST_WIDE_INT_PRINT_HEX, input_location, LOCATION_FILE, startswith(), targetm, and weak_global_object_name.
Referenced by cgraph_build_static_cdtor_1(), self_referential_size(), and switch_to_eh_frame_section().
|
extern |
Given an expression EXP that is a handled_component_p, look for the ultimate containing object, which is returned and specify the access position and size.
Given an expression EXP that may be a COMPONENT_REF, a BIT_FIELD_REF, an ARRAY_REF, or an ARRAY_RANGE_REF, look for nested operations of these codes and find the ultimate containing object, which we return. We set *PBITSIZE to the size in bits that we want, *PBITPOS to the bit position, *PUNSIGNEDP to the signedness and *PREVERSEP to the storage order of the field. If the position of the field is variable, we store a tree giving the variable offset (in units) in *POFFSET. This offset is in addition to the bit position. If the position is not variable, we store 0 in *POFFSET. If any of the extraction expressions is volatile, we store 1 in *PVOLATILEP. Otherwise we don't change that. If the field is a non-BLKmode bit-field, *PMODE is set to VOIDmode. Otherwise, it is a mode that can be used to access the field. If the field describes a variable-sized object, *PMODE is set to BLKmode and *PBITSIZE is set to -1. An access cannot be made in this case, but the address of the object can be found.
References array_ref_element_size(), array_ref_low_bound(), bits_to_bytes_round_down, build_int_cst(), component_ref_field_offset(), DECL_BIT_FIELD, DECL_BIT_FIELD_TYPE, DECL_FIELD_BIT_OFFSET, DECL_MODE, DECL_SIZE, DECL_UNSIGNED, exp(), fold_build2, fold_convert, poly_int< N, C >::force_shwi(), GET_MODE_BITSIZE(), integer_zerop(), INTEGRAL_TYPE_P, mem_ref_offset(), expand_operand::mode, NULL_TREE, num_trailing_bits, offset, poly_int_tree_p(), reverse_storage_order_for_component_p(), wi::sext(), size_binop, size_zero_node, sizetype, wi::to_poly_offset(), poly_int< N, C >::to_shwi(), TREE_CODE, tree_int_cst_equal(), TREE_OPERAND, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_MODE, TYPE_MODE_RAW, TYPE_PRECISION, TYPE_SIZE, TYPE_UNSIGNED, VECTOR_MODE_P, and VECTOR_TYPE_P.
Referenced by decode_field_reference(), delegitimize_mem_from_attrs(), dr_analyze_innermost(), expand_assignment(), expand_debug_expr(), expand_expr_addr_expr_1(), expand_expr_real_1(), extract_base_bit_offset(), fold_comparison(), fold_unary_loc(), fortran_common(), get_base_for_alignment_1(), get_bit_range(), get_inner_reference_aff(), get_object_alignment_2(), instrument_bool_enum_load(), instrument_derefs(), instrument_expr(), instrument_object_size(), interpret_rhs_expr(), loc_list_for_address_of_addr_expr_of_indirect_ref(), loc_list_from_tree_1(), make_bit_field_ref(), maybe_instrument_pointer_overflow(), maybe_optimize_ubsan_ptr_ifn(), optimize_bit_field_compare(), fold_using_range::range_of_address(), scan_operand_equal_p(), slsr_process_ref(), split_address_to_core_and_offset(), split_constant_offset_1(), tree_to_aff_combination(), and vect_check_gather_scatter().
|
extern |
Given a tree, try to return a useful variable name that we can use to prefix a temporary that is being assigned the value of the tree. I.E. given <temp> = &A, return A.
References DECL_NAME, DECL_P, get_name(), IDENTIFIER_POINTER, NULL, SSA_NAME_IDENTIFIER, STRIP_NOPS, TREE_CODE, and TREE_OPERAND.
Referenced by alias_get_name(), create_tmp_from_val(), dt_operand::gen(), dt_simplify::gen(), dt_operand::gen_gimple_expr(), gen_lsm_tmp_name(), get_name(), gimplify_bind_expr(), gimplify_omp_for(), gimplify_parameters(), gimplify_vla_decl(), handle_simd_reference(), internal_get_tmp_var(), lower_omp_target(), lower_rec_input_clauses(), separate_decls_in_region_name(), take_address_of(), update_phi_components(), vect_create_addr_base_for_vector_ref(), vect_create_data_ref_ptr(), and vect_create_destination_var().
Return OP or a simpler expression for a narrower value which can be sign-extended or zero-extended to give back OP. Store in *UNSIGNEDP_PTR either 1 if the value should be zero-extended or 0 if the value should be sign-extended.
References build2_loc(), DECL_BIT_FIELD, DECL_SIZE, DECL_UNSIGNED, EXPR_LOCATION, fold_convert, FOR_EACH_VEC_ELT_REVERSE, get_narrower(), i, INTEGRAL_TYPE_P, TREE_CODE, tree_fits_uhwi_p(), TREE_OPERAND, tree_to_uhwi(), TREE_TYPE, lang_hooks_for_types::type_for_size, TYPE_PRECISION, TYPE_UNSIGNED, and lang_hooks::types.
Referenced by get_narrower().
|
extern |
Return a bitmap with a bit set corresponding to each argument in a function call type FNTYPE declared with attribute nonnull, or null if none of the function's argument are nonnull. The caller must free the bitmap.
References attrs, BITMAP_ALLOC, bitmap_clear(), bitmap_set_bit, lookup_attribute(), NULL, NULL_TREE, TREE_CHAIN, TREE_CODE, TREE_INT_CST_LOW, TREE_VALUE, and TYPE_ATTRIBUTES.
Referenced by gimple_infer_range::gimple_infer_range(), and validate_arglist().
Return a version of the TYPE, qualified as indicated by the TYPE_QUALS, if one exists. If no qualified version exists yet, return NULL_TREE.
References check_qualified_type(), NULL_TREE, type(), TYPE_MAIN_VARIANT, TYPE_NEXT_VARIANT, and TYPE_QUALS.
Referenced by build_atomic_base(), build_qualified_type(), and modified_type_die().
|
extern |
Return 1 if ARG interpreted as signed in its precision is known to be always non-negative or 2 if ARG is known to be always negative, or 3 if ARG may be non-negative or negative.
References CONVERT_EXPR_CODE_P, CONVERT_EXPR_P, error_mark_node, g, get_global_range_query(), gimple_assign_rhs1(), gimple_assign_rhs_code(), INTEGRAL_TYPE_P, is_gimple_assign(), wi::neg_p(), r, wi::sext(), SIGNED, SSA_NAME_DEF_STMT, wi::to_wide(), TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_PRECISION, and TYPE_UNSIGNED.
Referenced by expand_addsub_overflow(), expand_arith_overflow(), expand_expr_divmod(), expand_mul_overflow(), get_min_precision(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), and ubsan_expand_ptr_ifn().
Get the corresponding reference from the call to a .ACCESS_WITH_SIZE, * i.e. the first argument of this call. Return NULL_TREE otherwise.
Get the corresponding reference from the call to a .ACCESS_WITH_SIZE. * i.e the first argument of this call. Return NULL_TREE otherwise.
References CALL_EXPR_ARG, is_access_with_size_p(), and NULL_TREE.
|
extern |
Return length of attribute names string, if arglist chain > 1, -1 otherwise.
References TARGET_CLONES_ATTR_SEPARATOR, TREE_CHAIN, TREE_STRING_POINTER, and TREE_VALUE.
Referenced by expand_target_clones().
|
extern |
Wrapper for tree_code_name to ensure that tree code is valid
References MAX_TREE_CODES, and tree_code_name.
Referenced by crc_optimization::can_not_be_crc_stmt(), dequeue_and_dump(), DFS::DFS(), do_niy(), dump_binary_rhs(), dump_condition(), dump_generic_node(), dump_gimple_assign(), dump_gimple_cond(), dump_gimple_omp_for(), dump_ternary_rhs(), dump_tree_statistics(), dump_unary_rhs(), crc_symbolic_execution::execute_assign_statement(), ipa_dump_jump_function(), lto_tag_name(), lto_write_tree(), oacc_privatization_candidate_p(), expr_hash_elt::print(), print_lto_report(), print_node(), print_node_brief(), print_pre_expr(), print_vn_reference_ops(), split_at_bb_p(), vect_build_slp_tree_2(), vect_create_data_ref_ptr(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_types_in_gimple_reference(), and vn_nary_op_insert_pieces_predicated().
|
extern |
Stores bounds of an integer TYPE in MIN and MAX. If TYPE has non-constant bounds or is a POINTER_TYPE, the maximum and/or minimum values that can be represented (assuming two's-complement arithmetic) within the bit precision of the type are returned instead.
References wi::max_value(), wi::min_value(), POINTER_TYPE_P, SIGNED, wi::to_mpz(), wi::to_wide(), TREE_CODE, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_PRECISION, TYPE_SIGN, and TYPE_UNSIGNED.
Referenced by determine_value_range(), wi::from_mpz(), mpz_get_double_int(), and refine_value_range_using_guard().
|
extern |
Return a typenode for the "standard" C type with a given name.
References char_type_node, gcc_unreachable, integer_type_node, long_integer_type_node, long_long_integer_type_node, long_long_unsigned_type_node, long_unsigned_type_node, NULL, NULL_TREE, short_integer_type_node, short_unsigned_type_node, signed_char_type_node, unsigned_char_type_node, and unsigned_type_node.
|
extern |
Returns the ultimate TRANSLATION_UNIT_DECL context of DECL or NULL.
References BLOCK_SUPERCONTEXT, get_containing_scope(), and TREE_CODE.
Referenced by asan_add_global(), is_cxx(), and is_fortran().
Return EXP, stripped of any conversions to wider types in such a way that the result of converting to type FOR_TYPE is the same as if EXP were converted to FOR_TYPE. If FOR_TYPE is 0, it signifies EXP's type.
Return OP, stripped of any conversions to wider types as much as is safe. Converting the value back to OP's type makes a value equivalent to OP. If FOR_TYPE is nonzero, we return a value which, if converted to type FOR_TYPE, would be equivalent to converting OP to type FOR_TYPE. OP must have integer, real or enumeral type. Pointers are not allowed! There are some cases where the obvious value we could return would regenerate to OP if converted to OP's type, but would not extend like OP to wider types. If FOR_TYPE indicates such extension is contemplated, we eschew such values. For example, if OP is (unsigned short)(signed char)-1, we avoid returning (signed char)-1 if FOR_TYPE is int, even though extending that to an unsigned short would regenerate OP, since the result of extending (signed char)-1 to (int) is different from (int) OP.
References CONVERT_EXPR_P, fold_convert, MAX, wi::min_precision(), wi::to_wide(), TREE_CODE, TREE_OPERAND, TREE_TYPE, lang_hooks_for_types::type_for_size, TYPE_PRECISION, TYPE_SIGN, TYPE_UNSIGNED, and lang_hooks::types.
Referenced by backtrace_base_for_ref(), canonicalize_component_ref(), and convert_to_integer_1().
|
extern |
Retrieve warning spec bitmap for tree streaming.
Retrieve warning dispostion bitmap for tree streaming.
References get_nowarn_spec().
|
extern |
Return true iff T1 and T2 are structurally identical for what TBAA is concerned. This function is used both by lto.cc canonical type merging and by the verifier. If TRUST_TYPE_CANONICAL we do not look into structure of types that have TYPE_CANONICAL defined and assume them equivalent. This is useful only for LTO because only in these cases TYPE_CANONICAL equivalence correspond to one defined by gimple_canonical_types_compatible_p.
References canonical_type_used_p(), COMPLETE_TYPE_P, DECL_NONADDRESSABLE_P, DECL_SIZE, f1, f2, FIXED_POINT_TYPE_P, gcc_assert, gcc_checking_assert, gimple_canonical_types_compatible_p(), gimple_compare_field_offset(), i1, i2, integer_zerop(), INTEGRAL_TYPE_P, NULL_TREE, odr_based_tbaa_p(), odr_type_p(), operand_equal_p(), POINTER_TYPE_P, RECORD_OR_UNION_TYPE_P, SCALAR_FLOAT_TYPE_P, TREE_CHAIN, TREE_CODE, tree_code_for_canonical_type_merging(), TREE_TYPE, TREE_VALUE, TYPE_ADDR_SPACE, TYPE_ARG_TYPES, TYPE_CANONICAL, TYPE_DOMAIN, TYPE_FIELDS, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_NO_NAMED_ARGS_STDARG_P, TYPE_NONALIASED_COMPONENT, TYPE_PRECISION_RAW, TYPE_REVERSE_STORAGE_ORDER, TYPE_STRING_FLAG, TYPE_UNSIGNED, type_with_alias_set_p(), type_with_interoperable_signedness(), VECTOR_TYPE_P, and VOID_TYPE_P.
Referenced by gimple_canonical_types_compatible_p(), verify_type(), and verify_type_variant().
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
For PCH we guarantee that RAW_DATA_CST's RAW_DATA_OWNER is a STRING_CST and RAW_DATA_POINTER points into it. We don't want to save/restore RAW_DATA_POINTER on its own but want to restore it pointing at the same offset of the STRING_CST as before.
References gcc_checking_assert, tree_raw_data::length, NULL, tree_raw_data::owner, tree_raw_data::str, TREE_CODE, TREE_STRING_LENGTH, TREE_STRING_POINTER, tree_typed::type, and tree_raw_data::typed.
|
inline |
Return true if T is an expression that get_inner_reference handles.
References TREE_CODE.
Referenced by add_var_loc_to_decl(), addr_object_size(), aliasing_component_refs_p(), aliasing_component_refs_walk(), analyze_function_body(), ao_ref_base_alias_ptr_type(), ao_ref_base_alias_set(), array_ref_flexible_size_p(), avail_expr_hash(), ipcp_modif_dom_walker::before_dom_children(), build_reconstructed_reference(), build_simple_mem_ref_loc(), array_bounds_checker::check_addr_expr(), ao_compare::compare_ao_refs(), component_uses_parent_alias_set_from(), compute_reloc_for_constant(), cond_store_replacement(), constant_after_peeling(), contains_bitfld_component_ref_p(), contains_vce_or_bfcref_p(), contains_view_convert_expr_p(), convert_local_reference_op(), convert_nonlocal_reference_op(), create_access_replacement(), create_component_ref_by_pieces_1(), decl_refs_may_alias_p(), detect_type_change_from_memory_writes(), dr_analyze_indices(), dr_may_alias_p(), duplicate_insn_chain(), equal_mem_array_ref_p(), expand_assignment(), expand_debug_expr(), expand_DEFERRED_INIT(), expand_expr_real_1(), expr_with_var_bounded_array_refs_p(), find_func_clobbers(), find_interesting_uses_address(), fold_binary_loc(), fold_unary_loc(), forward_propagate_addr_expr_1(), get_base_address(), get_base_loadstore(), get_bit_range(), get_constraint_for_component_ref(), gimple_assign_load_p(), gimple_duplicate_bb(), gimple_equal_p(), gimplify_asm_expr(), gimplify_compound_lval(), gimplify_scan_omp_clauses(), indirect_ref_may_alias_decl_p(), indirect_refs_may_alias_p(), input_gimple_stmt(), interpret_rhs_expr(), is_gimple_address(), is_gimple_addressable(), load_from_unmodified_param_or_agg(), lower_omp_target(), mark_addressable(), maybe_canonicalize_mem_ref_addr(), symtab_node::maybe_create_reference(), maybe_fold_tmr(), maybe_instrument_pointer_overflow(), maybe_rewrite_mem_ref_base(), nonoverlapping_component_refs_p(), nonoverlapping_refs_since_match_p(), object_address_invariant_in_loop_p(), omp_find_stores_op(), output_addressed_constants(), output_gimple_stmt(), path_comparable_for_same_access(), prepare_decl_rtl(), prepare_gimple_addressable(), recompute_tree_invariant_for_addr_expr(), ref_contains_union_access_p(), ref_may_be_aliased(), reference_alias_ptr_type_1(), refs_may_alias_p_2(), requires_barrier(), self_reuse_distance(), set_mem_attributes_minus_bitpos(), slsr_process_ref(), stmt_kills_ref_p(), strip_invariant_refs(), take_address_of(), track_expr_p(), tree_invariant_p_1(), valid_gimple_rhs_p(), var_decl_component_p(), vect_copy_ref_info(), verify_address(), verify_gimple_assign_single(), verify_phi_args(), verify_types_in_gimple_reference(), visit_loadstore(), vn_reference_lookup_3(), walk_stmt_load_store_addr_ops(), and wrap_refs().
|
extern |
Whether the tree might have a warning spec.
References get_location(), get_no_warning_bit(), and RESERVED_LOCATION_P.
|
inline |
References id_equal().
|
inline |
True iff an identifier matches a C string.
References IDENTIFIER_POINTER.
Referenced by find_param_by_name(), fndecl_dealloc_argno(), gimple_call_return_array(), id_equal(), is_cxa_pure_virtual_p(), function_reader::parse_mem_expr(), and simd_clone_mangle().
|
extern |
Init tree.cc.
References cl_optimization_node, cl_option_hash_table, cl_target_option_node, hash_table< Descriptor, Lazy, Allocator >::create_ggc(), debug_expr_for_decl, lang_hooks::init_ts, initialize_tree_contains_struct(), int_cst_hash_table, int_cst_node, make_int_cst(), make_node(), poly_int_cst_hash_table, TYPE_HASH_INITIAL_SIZE, type_hash_table, and value_expr_for_decl.
Referenced by general_init().
|
extern |
Return true if EXPR is an initializer expression in which every element is a constant that is numerically equal to 0 or 1. The elements do not need to be equal to each other.
References i, initializer_each_zero_or_onep(), integer_onep(), integer_zerop(), real_onep(), real_zerop(), STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, TREE_TYPE, TYPE_VECTOR_SUBPARTS(), vector_cst_elt(), vector_cst_encoded_nelts(), and VECTOR_CST_STEPPED_P.
Referenced by initializer_each_zero_or_onep().
|
extern |
Given an initializer INIT, return TRUE if INIT is zero or some aggregate of zeros. Otherwise return FALSE. If NONZERO is not null, set *NONZERO if and only if INIT is known not to be all zeros. The combination of return value of false and *NONZERO false implies that INIT may but need not be all zeros. Other combinations indicate definitive answers.
References CONSTRUCTOR_ELTS, fixed_zerop(), FOR_EACH_CONSTRUCTOR_VALUE, gcc_assert, i, initializer_zerop(), INT_MAX, integer_zerop(), offset, RAW_DATA_LENGTH, RAW_DATA_POINTER, REAL_VALUE_MINUS_ZERO, real_zerop(), STRIP_NOPS, TREE_CLOBBER_P, TREE_CODE, tree_fits_uhwi_p(), TREE_IMAGPART, TREE_OPERAND, TREE_REAL_CST, TREE_REALPART, TREE_STRING_LENGTH, TREE_STRING_POINTER, tree_to_uhwi(), VECTOR_CST_DUPLICATE_P, VECTOR_CST_ENCODED_ELT, and VECTOR_CST_NPATTERNS.
Referenced by all_zeros_p(), assemble_variable_contents(), bss_initializer_p(), categorize_ctor_elements_1(), categorize_decl_for_section(), const_vector_from_tree(), constant_byte_string(), dse_optimize_redundant_stores(), dse_optimize_stmt(), gimplify_init_ctor_eval(), strlen_pass::handle_store(), initializer_zerop(), lower_rec_input_clauses(), lower_vec_perm(), mostly_zeros_p(), scan_store_can_perm_p(), and store_constructor().
|
inline |
Returns true if a BLOCK has a source location. BLOCK_SOURCE_LOCATION is set only to inlined function entry points, so the function returns true for all but the innermost and outermost blocks into which an expression has been inlined.
References BLOCK_SOURCE_LOCATION, LOCATION_LOCUS, and UNKNOWN_LOCATION.
Referenced by clear_unused_block_pointer(), compute_discriminator(), expand_call_inline(), autofdo::get_function_decl_from_block(), input_function(), pack_ts_block_value_fields(), and remove_unused_scope_block_p().
|
inline |
Like bit_position, but return as an integer. It must be representable in that way (since it could be a signed value, we don't have the option of returning -1 like int_size_in_byte can.
References DECL_FIELD_BIT_OFFSET, DECL_FIELD_OFFSET, and wi::to_offset().
Referenced by build_ref_for_model(), find_constructor_constant_at_offset(), get_binfo_at_offset(), ipa_get_stmt_member_ptr_load_param(), output_constructor_bitfield(), record_targets_from_bases(), ipa_polymorphic_call_context::restrict_to_inner_class(), store_constructor(), totally_scalarizable_type_p(), totally_scalarize_subtree(), and type_internals_preclude_sra_p_1().
|
extern |
Likewise, but return as an integer. It must be representable in that way (since it could be a signed value, we don't have the option of returning -1 like int_size_in_byte can.
References byte_position(), and tree_to_shwi().
Referenced by clear_padding_type(), field_at_offset(), loc_list_from_tree_1(), native_encode_initializer(), native_interpret_aggregate(), and output_constructor_regular_field().
|
extern |
Return value of a constant X and sign-extend it.
References cst_and_fits_in_hwi(), gcc_assert, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT_M1U, TREE_INT_CST_LOW, TREE_TYPE, and TYPE_PRECISION.
Referenced by add_autoinc_candidates(), add_multivariate_self_dist(), adjust_nested_loop_clauses(), analyze_subscript_affine_affine(), build_classic_dist_vector_1(), classify_builtin_st(), compute_overlap_steps_for_affine_1_2(), dump_mem_details(), find_or_create_group(), force_expr_to_var_cost(), gen_generic_params_dies(), get_misalign_in_elems(), get_shiftadd_cost(), idx_analyze_ref(), infer_loop_bounds_from_pointer_arith(), initialize_matrix_A(), inverse(), issue_prefetch_ref(), iv_elimination_compare_lt(), prune_ref_by_group_reuse(), prune_ref_by_self_reuse(), ptr_difference_const(), ptrdiff_tree_p(), record_group_use(), should_issue_prefetch_p(), strip_offset_1(), vect_gen_prolog_loop_niters(), and vector_alignment_reachable_p().
|
extern |
Return true if integer constant C has a value that is permissible for TYPE, an integral type.
References wi::fits_to_boolean_p(), wi::fits_to_tree_p(), GET_MODE_PRECISION(), wi::neg_p(), SCALAR_INT_TYPE_MODE, SIGNED, wi::to_wide(), TREE_CODE, tree_int_cst_lt(), TREE_TYPE, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_PRECISION, TYPE_SIGN, TYPE_UNSIGNED, UNSIGNED, and wi::zext().
Referenced by chrec_apply(), chrec_convert_1(), edge_info::derive_equivalences(), early_object_sizes_execute_one(), expand_case(), expand_expr_real_2(), factor_out_conditional_operation(), fold_builtin_object_size(), idx_infer_loop_bounds(), is_widening_mult_p(), make_range_step(), vn_walk_cb_data::push_partial_def(), simplify_using_ranges::simplify_casted_compare(), simplify_gimple_switch(), and vn_reference_lookup_3().
|
extern |
Return the size of TYPE (in bytes) as a wide integer or return -1 if the size can vary or is larger than an integer.
References error_mark_node, tree_fits_uhwi_p(), TREE_INT_CST_LOW, TYPE_MAIN_VARIANT, and TYPE_SIZE_UNIT.
Referenced by add_decls_addresses_to_decl_constructor(), nontrapping_dom_walker::add_or_mark_expr(), analyze_ref(), arg_int_size_in_bytes(), array_elt_at_offset(), assign_parm_adjust_entry_rtl(), assign_parm_setup_block(), assign_parm_setup_stack(), assign_parms(), assign_parms_unsplit_complex(), base_type_die(), clear_padding_type(), clear_type_padding_in_mask(), compare_constant(), const_hash_1(), constant_byte_string(), copy_blkmode_from_reg(), strlen_pass::count_nonzero_bytes(), default_function_arg_padding(), dw_loc_list_1(), ipa_icf::sem_variable::equals(), estimate_move_cost(), expand_assignment(), expand_call(), expand_expr_real_1(), expand_function_end(), expand_function_start(), expand_omp_atomic_cas(), expand_omp_atomic_pipeline(), expand_value_return(), finalize_must_preallocate(), flexible_array_member_p(), fold_builtin_atomic_compare_exchange(), fold_view_convert_expr(), get_constant_size(), get_mem_ref_of_assignment(), gimple_fold_builtin_clear_padding(), gimplify_init_constructor(), gimplify_scalar_mode_aggregate_compare(), go_output_typedef(), strlen_pass::handle_store(), has_stmt_been_instrumented_p(), initialize_argument_information(), instrument_derefs(), instrument_expr(), instrument_object_size(), is_handled_procedure_type(), load_register_parameters(), loc_list_for_address_of_addr_expr_of_indirect_ref(), loc_list_from_tree_1(), maybe_emit_group_store(), mergeable_string_section(), must_pass_in_stack_var_size_or_pad(), native_encode_initializer(), native_interpret_aggregate(), offset_within_block_p(), omp_shared_to_firstprivate_optimizable_decl_p(), operand_compare::operand_equal_p(), optimize_atomic_compare_exchange_p(), output_constant(), output_constructor_array_range(), output_constructor_regular_field(), precompute_register_parameters(), function_arg_info::promoted_size_in_bytes(), rtx_addr_can_trap_p_1(), sjlj_build_landing_pads(), split_constant_offset_1(), store_constructor(), store_expr(), store_field(), store_one_arg(), store_unaligned_arguments_into_pseudos(), subrange_type_die(), subrange_type_for_debug_p(), tree_add_const_value_attribute(), and function_arg_info::type_size_in_bytes().
|
extern |
integer_all_onesp (tree x) is nonzero if X is an integer constant all of whose significant bits are 1.
Return true if EXPR is an integer containing all 1's in as much precision as it contains, or a complex or vector whose subparts are such integers, or a location wrapper for such a constant.
References integer_all_onesp(), wi::max_value(), STRIP_ANY_LOCATION_WRAPPER, wi::to_wide(), TREE_CODE, TREE_IMAGPART, TREE_REALPART, TREE_TYPE, TYPE_PRECISION, UNSIGNED, VECTOR_CST_DUPLICATE_P, VECTOR_CST_ENCODED_ELT, and VECTOR_CST_NPATTERNS.
Referenced by absorbing_element_p(), check_access(), chrec_apply(), component_ref_sam_type(), convert_to_integer_1(), do_store_flag(), eliminate_using_constants(), expand_builtin_memory_chk(), fold_ternary_loc(), strlen_pass::get_len_or_size(), get_maxval_strlen(), get_range_strlen(), get_range_strlen_phi(), get_range_strlen_tree(), gimple_fold_builtin_memory_chk(), gimple_fold_builtin_snprintf_chk(), gimple_fold_builtin_sprintf_chk(), gimple_fold_builtin_strcat_chk(), gimple_fold_builtin_strncat_chk(), gimple_fold_builtin_stxcpy_chk(), gimple_fold_builtin_stxncpy_chk(), gimple_fold_call(), gimple_fold_partial_load_store_mem_ref(), integer_all_onesp(), integer_minus_onep(), integer_truep(), maybe_diag_stxncpy_trunc(), maybe_emit_sprintf_chk_warning(), maybe_trim_memstar_call(), maybe_warn_nonstring_arg(), neutral_element_p(), number_of_iterations_lt(), optimize_range_tests_cmp_bitwise(), optimize_spaceship(), ovce_extract_ops(), size_initval_p(), size_unknown_p(), tree_predict_by_opcode(), ubsan_expand_objsize_ifn(), and visit_nary_op().
|
extern |
integer_onep (tree x) is nonzero if X is an integer constant of value 1, or a vector or complex where each part is 1.
Return true if EXPR is the integer constant one. For complex and vector, return true if every piece is the integer constant one. Also return true for location wrappers for such a constant.
References integer_onep(), STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, TREE_IMAGPART, and TREE_REALPART.
|
extern |
integer_minus_onep (tree x) is nonzero if X is an integer constant of value -1.
Return true if EXPR is the integer constant minus one, or a location wrapper for such a constant.
References integer_all_onesp(), integer_zerop(), STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, TREE_IMAGPART, and TREE_REALPART.
Referenced by bb_no_side_effects_p(), cache_integer_cst(), const_vector_mask_from_tree(), copy_reference_ops_from_ref(), do_warn_nonnull_compare(), execute_oacc_device_lower(), execute_omp_oacc_neuter_broadcast(), expand_omp_ordered_sink(), expand_POPCOUNT(), extract_muldiv_1(), gimple_expand_vec_cond_expr(), is_empty_type(), lower_oacc_head_mark(), oacc_xform_loop(), omp_adjust_for_condition(), reassociate_bb(), spaceship_replacement(), ssa_defined_by_minus_one_stmt_p(), try_transform_to_exit_first_loop_alt(), valueize_refs_1(), and zero_one_operation().
|
extern |
integer_nonzerop (tree x) is nonzero if X is an integer constant with a nonzero value.
Return true if EXPR is an integer constant other than zero or a complex constant other than zero, or a location wrapper for such a constant.
References integer_nonzerop(), STRIP_ANY_LOCATION_WRAPPER, wi::to_wide(), TREE_CODE, TREE_IMAGPART, and TREE_REALPART.
Referenced by _loop_vec_info::_loop_vec_info(), and_comparisons_1(), and_var_with_comparison_1(), assert_loop_rolls_lt(), assert_no_overflow_lt(), canonicalize_bool(), const_binop(), copy_reference_ops_from_ref(), derive_constant_upper_bound_ops(), determine_exit_conditions(), eliminate_unnecessary_stmts(), evaluate_bbs(), expand_complex_div_wide(), expand_omp_for(), expand_omp_simd(), find_loop_niter(), gimple_infer_range::gimple_infer_range(), gimplify_cond_expr(), infer_nonnull_range_by_attribute(), instrument_builtin(), instrument_builtin_call(), integer_nonzerop(), ipa_get_stmt_member_ptr_load_param(), loop_exits_before_overflow(), lower_omp_target(), minmax_replacement(), n_of_executions_at_most(), native_encode_vector_part(), number_of_iterations_cond(), number_of_iterations_exit(), number_of_iterations_exit_assumptions(), number_of_iterations_le(), number_of_iterations_lt(), number_of_iterations_lt_to_ne(), number_of_iterations_ne(), number_of_iterations_until_wrap(), number_of_latch_executions(), omp_context_selector_matches(), omp_extract_for_data(), omp_has_nocontext(), omp_has_novariants(), or_comparisons_1(), or_var_with_comparison_1(), same_bool_comparison_p(), simplify_loop_version(), simplify_using_initial_conditions(), suitable_reference_p(), tree_simplify_using_condition_1(), tree_transform_and_unroll_loop(), validate_arglist(), vec_init_loop_exit_info(), and vect_get_loop_niters().
|
extern |
integer_onep (tree x) is nonzero if X is an integer constant of value 1.
Return true if EXPR is the integer constant one or the corresponding complex constant, or a location wrapper for such a constant.
References wi::eq_p(), integer_onep(), integer_zerop(), STRIP_ANY_LOCATION_WRAPPER, wi::to_widest(), TREE_CODE, TREE_IMAGPART, TREE_REALPART, VECTOR_CST_DUPLICATE_P, VECTOR_CST_ENCODED_ELT, and VECTOR_CST_NPATTERNS.
Referenced by addr_for_mem_ref(), adjust_accumulator_values(), strlen_pass::adjust_last_stmt(), adjust_simduid_builtins(), autofdo::afdo_propagate_circuit(), and_comparisons_1(), and_var_with_comparison_1(), associate_equivalences_with_edges(), backtrace_base_for_ref(), build_range_check(), cache_integer_cst(), crc_optimization::can_be_crc_shift(), cand_value_at(), canonicalize_cond_expr_cond(), chrec_fold_multiply(), compare_values_warnv(), compute_invariantness(), crc_optimization::cond_true_is_checked_for_bit_one(), const_vector_mask_from_tree(), constant_byte_string(), convert_to_fixed(), create_mem_ref(), create_mul_imm_cand(), create_mul_ssa_cand(), edge_info::derive_equivalences(), do_jump(), do_store_flag(), edge_forwards_cmp_to_conditional_jump_through_empty_bb_p(), eliminate_using_constants(), evaluate_conditions_for_known_args(), crc_optimization::exists_shift_for_opp_xor_shift(), expand_expr_real_1(), expand_gimple_cond(), expand_ifn_atomic_bit_test_and(), expand_oacc_collapse_init(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_ordered_loops(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_ordered_source_sink(), expand_omp_simd(), find_case_label_range(), fold_binary_loc(), fold_builtin_atomic_compare_exchange(), fold_comparison(), fold_negate_expr_1(), fold_stmt_1(), fold_ternary_loc(), fold_to_nonsharp_ineq_using_bound(), fold_truth_andor_1(), fold_truth_not_expr(), forward_propagate_into_gimple_cond(), get_stridx(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), gimplify_bind_expr(), strlen_pass::handle_builtin_memcpy(), init_range_entry(), initializer_each_zero_or_onep(), integer_each_onep(), integer_onep(), integer_truep(), ipa_analyze_indirect_call_uses(), is_lshift_by_1(), is_rshift_by_1(), is_true_predicate(), iv_elimination_compare_lt(), lower_rec_input_clauses(), make_range(), match_single_bit_test(), maybe_optimize_guarding_check(), maybe_optimize_range_tests(), merge_ranges(), negate_expr_p(), neutral_element_p(), number_of_iterations_lt(), number_of_iterations_ne(), number_of_iterations_ne_max(), number_of_iterations_until_wrap(), oacc_xform_loop(), omp_adjust_for_condition(), simplify_using_ranges::op_with_boolean_value_range_p(), optimize_atomic_bit_test_and(), optimize_atomic_compare_exchange_p(), optimize_range_tests_1(), optimize_range_tests_var_bound(), optimize_spaceship(), dom_opt_dom_walker::optimize_stmt(), or_comparisons_1(), or_var_with_comparison_1(), predict_extra_loop_exits(), range_entry_cmp(), recognize_single_bit_test(), record_control_iv(), record_edge_info(), remove_redundant_iv_tests(), return_prediction(), scan_sharing_clauses(), avail_exprs_stack::simplify_binary_operation(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), size_binop_loc(), slsr_process_phi(), spaceship_replacement(), split_loop(), suitable_cond_bb(), dom_opt_dom_walker::test_for_singularity(), loop_distribution::transform_reduction_loop(), tree_predict_by_opcode(), update_range_test(), vect_analyze_loop(), vect_analyze_loop_form(), vect_create_constant_vectors(), vect_create_loop_vinfo(), vect_do_peeling(), vect_recog_average_pattern(), vect_recog_mulhs_pattern(), vect_set_loop_condition_normal(), vect_transform_loop(), and vectorizable_reduction().
|
extern |
integer_pow2p (tree x) is nonzero is X is an integer constant with exactly one bit 1.
Return true if EXPR is an integer constant that is a power of 2 (i.e., has only one bit on), or a location wrapper for such a constant.
References integer_pow2p(), integer_zerop(), wi::popcount(), STRIP_ANY_LOCATION_WRAPPER, wi::to_wide(), TREE_CODE, TREE_IMAGPART, and TREE_REALPART.
Referenced by divmod_candidate_p(), do_store_flag(), expand_mul_overflow(), expand_vector_divmod(), expression_expensive_p(), fold_binary_loc(), fold_ternary_loc(), force_expr_to_var_cost(), get_debug_computation_at(), integer_pow2p(), maybe_optimize_mod_cmp(), multiple_of_p(), number_of_iterations_cltz(), optimize_range_tests_diff(), optimize_range_tests_xor(), recognize_single_bit_test(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), and vect_recog_divmod_pattern().
|
extern |
integer_truep (tree x) is nonzero if X is an integer constant of value 1 or a vector where each element is an integer constant of value -1.
Return true if EXPR is the integer constant one. For vector, return true if every piece is the integer constant minus one (representing the value TRUE). Also return true for location wrappers for such a constant.
References integer_all_onesp(), integer_onep(), STRIP_ANY_LOCATION_WRAPPER, and TREE_CODE.
Referenced by can_interpret_as_conditional_op_p(), convert_mult_to_fma(), simplify_1b(), and visit_phi().
|
extern |
integer_zerop (tree x) is nonzero if X is an integer constant of value 0.
Return true if EXPR is the integer constant zero or a complex constant of zero, or a location wrapper for such a constant.
References integer_zerop(), STRIP_ANY_LOCATION_WRAPPER, wi::to_wide(), TREE_CODE, TREE_IMAGPART, TREE_REALPART, VECTOR_CST_DUPLICATE_P, VECTOR_CST_ENCODED_ELT, and VECTOR_CST_NPATTERNS.
Referenced by _loop_vec_info::_loop_vec_info(), absorbing_element_p(), add_iv_candidate_for_bivs(), add_iv_candidate_for_doloop(), add_iv_candidate_for_use(), addr_for_mem_ref(), strlen_pass::adjust_last_stmt(), adjust_pointer_diff_expr(), autofdo::afdo_propagate_circuit(), affine_function_constant_p(), affine_function_zero_p(), alloca_call_type(), analyze_siv_subscript_cst_affine(), analyze_ziv_subscript(), and_comparisons_1(), and_var_with_comparison_1(), apply_binop_and_append_stmt(), arith_overflow_check_p(), array_type_nelts_minus_one(), asan_mem_ref_get_end(), assert_no_overflow_lt(), associate_equivalences_with_edges(), associate_trees(), bound_difference(), build2(), build_fold_addr_expr_with_type_loc(), build_printable_array_type(), build_range_check(), build_user_friendly_ref_for_offset(), build_vec_series(), cache_integer_cst(), canonicalize_bool(), canonicalize_cond_expr_cond(), canonicalize_loop_induction_variables(), check_access(), check_bounds_or_overlap(), check_for_plus_in_loops(), check_for_plus_in_loops_1(), check_forbidden_calls(), check_omp_nesting_restrictions(), check_retval_uses(), check_scan_store(), checks_return_value_of_removable_allocation_p(), chrec_fold_minus(), chrec_fold_multiply(), chrec_fold_plus(), chrec_zerop(), component_ref_sam_type(), component_ref_to_zero_sized_trailing_array_p(), compute_complex_ancestor_jump_func(), compute_object_offset(), compute_objsize_r(), compute_overlap_steps_for_affine_1_2(), compute_record_mode(), cond_removal_in_builtin_zero_pattern(), crc_optimization::cond_true_is_checked_for_bit_one(), const_unop(), const_vector_mask_from_tree(), const_with_all_bytes_same(), constant_byte_string(), convert_to_fixed(), convert_to_integer_1(), create_component_ref_by_pieces_1(), create_intersect_range_checks_index(), create_mem_ref(), create_mem_ref_raw(), ctor_single_nonzero_element(), decode_field_reference(), default_goacc_reduction(), edge_info::derive_equivalences(), derive_simple_iv_with_niters(), determine_exit_conditions(), determine_group_iv_cost_cond(), pcom_worker::determine_offset(), determine_value_range(), do_jump(), do_jump_1(), do_store_flag(), do_warn_nonnull_compare(), dr_alignment(), dr_analyze_indices(), dr_analyze_innermost(), dr_known_forward_stride_p(), dr_may_alias_p(), dse_optimize_call(), dse_optimize_redundant_stores(), dse_optimize_stmt(), dump_affine_iv(), dump_array_domain(), dump_generic_node(), dump_mem_ref(), edge_forwards_cmp_to_conditional_jump_through_empty_bb_p(), eliminate_unnecessary_stmts(), eliminate_using_constants(), evaluate_conditions_for_known_args(), execute_update_addresses_taken(), expand_arith_overflow(), expand_builtin_memset_args(), expand_call_mem_ref(), expand_complex_div_wide(), expand_DEFERRED_INIT(), expand_expr_addr_expr_1(), expand_expr_real_1(), expand_gimple_cond(), expand_oacc_collapse_init(), expand_oacc_for(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_ordered_sink(), expand_omp_simd(), expand_parallel_call(), expand_POPCOUNT(), expand_UBSAN_CHECK_SUB(), expand_vector_divmod(), expand_vector_ubsan_overflow(), extr_type_from_vtbl_ptr_store(), extract_bit_test_mask(), extract_cond_operands(), extract_mem_content(), extract_muldiv_1(), finalize_record_size(), find_bivs(), find_conditions(), find_deriving_biv_for_expr(), find_func_aliases_for_builtin_call(), find_implicit_erroneous_behavior(), find_induction_variables(), find_interesting_uses_address(), find_interesting_uses_op(), find_interesting_uses_stmt(), find_loop_niter(), find_taken_edge_cond_expr(), finish_bitfield_layout(), flexible_array_member_p(), fold_binary_loc(), fold_build_cond_expr(), fold_builtin_1(), fold_builtin_constant_p(), fold_builtin_memcmp(), fold_builtin_next_arg(), fold_comparison(), fold_cond_expr_with_comparison(), fold_convert_loc(), fold_gimple_assign(), fold_read_from_constant_string(), fold_relational_const(), ccp_folder::fold_stmt(), fold_stmt_1(), fold_ternary_loc(), fold_truth_andor_1(), fold_truth_andor_for_ifcombine(), fold_truth_not_expr(), forward_propagate_addr_expr_1(), forward_propagate_into_gimple_cond(), generate_strlen_builtin_1(), get_addr_base_and_unit_offset_1(), get_address_cost(), get_address_description(), get_computation_cost(), get_constraint_for_1(), get_constraint_for_component_ref(), get_inner_reference(), get_range_strlen_phi(), get_range_strlen_tree(), get_ref_base_and_extent(), get_up_bounds_for_array_ref(), get_upper_bound_based_on_builtin_expr_with_prob(), gimple_boolify(), gimple_call_addr_fndecl(), gimple_canonical_types_compatible_p(), gimple_expand_vec_cond_expr(), gimple_fold_builtin_memchr(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_snprintf_chk(), gimple_fold_builtin_sprintf_chk(), gimple_fold_builtin_stpcpy(), gimple_fold_builtin_strchr(), gimple_fold_builtin_strcpy(), gimple_fold_builtin_strncat(), gimple_fold_builtin_strncat_chk(), gimple_fold_builtin_strncpy(), gimple_fold_builtin_stxcpy_chk(), gimple_fold_call(), gimple_fold_stmt_to_constant_1(), gimple_get_virt_method_for_vtable(), gimple_infer_range::gimple_infer_range(), gimple_lower_bitint(), gimplify_addr_expr(), gimplify_call_expr(), gimplify_cond_expr(), gimplify_omp_dispatch(), handle_array_ref(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_memset(), strlen_pass::handle_builtin_strchr(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_string_cmp(), strlen_pass::handle_builtin_strlen(), handle_printf_call(), operand_compare::hash_operand(), idx_find_step(), idx_infer_loop_bounds(), idx_within_array_bound(), infer_nonnull_range_by_attribute(), init_range_entry(), initializer_constant_valid_p_1(), initializer_each_zero_or_onep(), initializer_zerop(), input_gimple_stmt(), insert_predicates_for_cond(), instrument_bool_enum_load(), instrument_mem_region_access(), integer_minus_onep(), integer_onep(), integer_pow2p(), integer_zerop(), ipa_analyze_indirect_call_uses(), ipa_load_from_parm_agg(), is_comparison_with_loop_invariant_p(), is_exit_with_zero_arg(), is_false_predicate(), is_neq_zero_form_p(), iv_can_overflow_p(), layout_decl(), layout_type(), simplify_using_ranges::legacy_fold_cond_overflow(), loc_list_from_tree_1(), loop_exits_before_overflow(), loop_niter_by_eval(), lower_omp_for_lastprivate(), lower_omp_target(), lower_omp_task_reductions(), lower_rec_input_clauses(), lower_reduction_clauses(), lto_input_ts_poly_tree_pointers(), make_fancy_name_1(), make_range_step(), malloc_candidate_p_1(), may_eliminate_iv(), maybe_canonicalize_comparison_1(), maybe_canonicalize_mem_ref_addr(), maybe_fold_tmr(), maybe_instrument_pointer_overflow(), maybe_optimize_asan_check_ifn(), maybe_optimize_guarding_check(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), maybe_optimize_range_tests(), maybe_optimize_sub_cmp_0(), maybe_optimize_ubsan_null_ifn(), maybe_optimize_ubsan_ptr_ifn(), maybe_rewrite_mem_ref_base(), maybe_set_nonzero_bits(), maybe_set_strlen_range(), merge_ranges(), access_ref::merge_ref(), minmax_replacement(), modref_may_conflict(), move_computations_worker(), multiple_of_p(), native_encode_initializer(), neutral_element_p(), non_rewritable_lvalue_p(), non_rewritable_mem_ref_base(), nonoverlapping_refs_since_match_p(), predicate::normalize(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_cond(), number_of_iterations_exit_assumptions(), number_of_iterations_le(), number_of_iterations_lt(), number_of_iterations_lt_to_ne(), number_of_iterations_popcount(), number_of_iterations_until_wrap(), number_of_latch_executions(), oacc_do_neutering(), oacc_fn_attrib_level(), oacc_xform_loop(), oacc_xform_tile(), omp_accumulate_sibling_list(), omp_adjust_chunk_size(), omp_context_selector_matches(), omp_context_selector_props_compare(), omp_extract_for_data(), omp_get_base_pointer(), omp_has_nocontext(), omp_has_novariants(), omp_index_mapping_groups_1(), omp_mapped_by_containing_struct(), omp_oacc_kernels_decompose_1(), omp_addr_tokenizer::omp_parse_pointer(), omp_addr_tokenizer::omp_parse_ref(), simplify_using_ranges::op_with_boolean_value_range_p(), operand_equal_for_value_replacement(), operand_compare::operand_equal_p(), operation_could_trap_helper_p(), optimize_atomic_bit_test_and(), optimize_atomic_compare_exchange_p(), optimize_atomic_op_fetch_cmp_0(), optimize_bit_field_compare(), optimize_count_trailing_zeroes(), optimize_memcpy_to_memset(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_var_bound(), optimize_spaceship(), dom_opt_dom_walker::optimize_stmt(), optimize_va_list_gpr_fpr_size(), or_comparisons_1(), or_var_with_comparison_1(), ovce_extract_ops(), overflow_comparison_p_1(), place_field(), points_to_local_or_readonly_memory_p(), predict_extra_loop_exits(), predict_loops(), print_call_name(), propagate_with_phi(), ptrs_compare_unequal(), push_fields_onto_fieldstack(), range_check_type(), recognize_bits_test(), recognize_single_bit_test(), record_biv_for_address_use(), record_edge_info(), record_nonwrapping_iv(), ref_at_iteration(), refine_bounds_using_guard(), refine_value_range_using_guard(), remove_redundant_iv_tests(), remove_unused_ivs(), replace_stmt_with_simplification(), return_prediction(), rewrite_bittest(), rewrite_use_address(), rewrite_use_nonlinear_expr(), rtl_for_decl_init(), same_addr_size_stores_p(), same_bool_comparison_p(), scan_sharing_clauses(), scev_probably_wraps_p(), set_cond_stmt_execution_predicate(), should_interchange_loops(), simd_clone_clauses_extract(), simple_iv_with_niters(), simplify_1b(), simplify_using_ranges::simplify_abs_using_ranges(), simplify_const_binop(), simplify_using_ranges::simplify_min_or_max_using_ranges(), simplify_using_ranges::simplify_truth_ops_using_ranges(), simplify_using_initial_conditions(), single_nonzero_element(), size_binop_loc(), size_for_offset(), size_initval_p(), size_must_be_zero_p(), size_unknown_p(), skip_in_fields_list_p(), slsr_process_mul(), some_nonzerop(), spaceship_replacement(), split_at_bb_p(), split_constant_offset_1(), std_gimplify_va_arg_expr(), store_expr(), strip_offset_1(), strip_zero_offset_components(), suitable_cond_bb(), suitable_reference_p(), loop_distribution::transform_reduction_loop(), tree_fold_divides_p(), tree_int_cst_min_precision(), tree_mem_ref_addr(), tree_predict_by_opcode(), tree_simplify_using_condition_1(), tree_single_nonzero_warnv_p(), type_has_padding_at_level_p(), uaddc_ne0(), ubsan_expand_null_ifn(), ubsan_expand_ptr_ifn(), ubsan_instrument_float_cast(), unroll_jam_possible_p(), update_alignment_for_field(), use_in_zero_equality(), pcom_worker::valid_initializer_p(), validate_arglist(), vec_init_loop_exit_info(), vect_analyze_data_ref_access(), vect_analyze_data_ref_dependence(), vect_analyze_loop_2(), vect_analyze_loop_form(), vect_check_gather_scatter(), vect_compute_data_ref_alignment(), vect_create_constant_vectors(), vect_create_data_ref_ptr(), vect_find_stmt_data_reference(), vect_get_loop_niters(), vect_init_vector(), vect_preserves_scalar_order_p(), vect_recog_divmod_pattern(), vect_recog_rotate_pattern(), vect_relevant_for_alignment_p(), vect_set_loop_condition_normal(), vect_simd_lane_linear(), vect_slp_check_for_roots(), vect_synth_mult_by_constant(), vect_transform_cycle_phi(), vectorizable_induction(), vectorizable_live_operation_1(), vectorizable_load(), vectorizable_reduction(), vectorizable_store(), visit_nary_op(), vn_nary_op_insert_pieces_predicated(), vn_reference_lookup_2(), vn_reference_lookup_3(), walk_ssa_copies(), zero_length_string_p(), and zerop().
|
inline |
Return true if CODE is an internal function.
References END_BUILTINS.
Referenced by as_internal_fn(), associated_internal_fn(), convert_conditional_op(), gimple_build(), gimple_build(), gimple_build(), gimple_build(), is_copysign_call_with_1(), code_helper::is_internal_fn(), maybe_build_call_expr_loc(), maybe_push_res_to_seq(), vect_build_slp_tree_1(), vectorizable_call(), vectorizable_internal_function(), and widening_fn_p().
|
extern |
Return true if the given node is a call to a .ACCESS_WITH_SIZE function.
Return true if the given node CALL is a call to a .ACCESS_WITH_SIZE function.
References CALL_EXPR_IFN, and TREE_CODE.
Referenced by get_ref_from_access_with_size().
|
extern |
Returns true if TYPE is a type where it and all of its subobjects (recursively) are of structure, union, or array type.
References array_type_nelts_minus_one(), DECL_CHAIN, DECL_PADDING_P, integer_minus_onep(), is_empty_type(), NULL_TREE, RECORD_OR_UNION_TYPE_P, TREE_CODE, TREE_TYPE, TYPE_DOMAIN, and TYPE_FIELDS.
Referenced by clear_padding_type(), default_is_empty_record(), find_tail_calls(), gimplify_expr(), gimplify_init_constructor(), gimplify_init_ctor_eval(), gimplify_modify_expr(), is_empty_type(), is_var_need_auto_init(), maybe_warn_operand(), native_interpret_aggregate(), and setup_one_parameter().
|
inline |
Return true if T (assumed to be a DECL) is a global variable. A variable is considered global if its storage is not automatic.
References DECL_EXTERNAL, and TREE_STATIC.
Referenced by address_compare(), assumption_copy_decl(), build_outer_var_ref(), call_may_clobber_ref_p_1(), computable_teams_clause(), copy_debug_stmt(), create_variable_info_for_1(), decl_maybe_in_construction_p(), declare_return_variable(), dump_variable(), eliminate_dom_walker::eliminate_stmt(), expand_debug_expr(), expand_expr_addr_expr_1(), expand_one_var(), find_local_vars_to_propagate(), finish_taskreg_scan(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_oacc_declare(), gimplify_omp_for(), gimplify_scan_omp_clauses(), handle_lhs_call(), instrument_derefs(), instrument_expr(), instrument_object_size(), ipa_compute_jump_functions_for_edge(), ipa_find_agg_cst_from_init(), is_addr_local(), local_var_based_p(), lookup_decl_in_outer_ctx(), lower_assumption(), lower_lastprivate_clauses(), lower_omp_target(), lower_rec_input_clauses(), lower_send_clauses(), mark_all_vars_used_1(), maybe_add_sra_candidate(), maybe_instrument_pointer_overflow(), maybe_optimize_ubsan_ptr_ifn(), maybe_optimize_var(), maybe_warn_operand(), mem_dies_at_call(), move_stmt_op(), movement_possibility_1(), needs_to_live_in_memory(), new_var_info(), note_no_context_vars(), oacc_default_clause(), omp_check_private(), omp_copy_decl(), omp_default_clause(), omp_discover_declare_target_var_r(), omp_notice_variable(), optimize_va_list_gpr_fpr_size(), pt_solution_includes_1(), pt_solution_set_var(), ref_may_alias_global_p_1(), ref_maybe_used_by_call_p_1(), ref_maybe_used_by_stmt_p(), remove_dead_stmt(), remove_unused_locals(), requires_barrier(), scan_sharing_clauses(), set_mem_attributes_minus_bitpos(), use_pointer_for_field(), vect_bb_slp_scalar_cost(), and visit_loadstore().
|
inline |
Return true if tree node T is a language-specific node.
References NUM_TREE_CODES, and TREE_CODE.
Referenced by lto_is_streamable(), and verify_type().
- For VECTOR_TYPEs: - The truth type must be a VECTOR_BOOLEAN_TYPE. - The number of elements must match (known_eq). - targetm.vectorize.get_mask_mode exists, and exactly the same mode as the truth type. - Otherwise, the truth type must be a BOOLEAN_TYPE or useless_type_conversion_p to BOOLEAN_TYPE.
References boolean_type_node, known_eq, targetm, TREE_CODE, TYPE_MODE, TYPE_VECTOR_SUBPARTS(), useless_type_conversion_p(), and VECTOR_BOOLEAN_TYPE_P.
Referenced by fold_binary_loc().
|
inline |
Returns true if X is a typedef decl.
References DECL_ORIGINAL_TYPE, NULL_TREE, and TREE_CODE.
Referenced by typedef_variant_p().
|
inline |
Compat version until all callers are converted. Return hash for TREE with SEED.
References inchash::add_expr(), and inchash::hash::end().
Referenced by gather_mem_refs_stmt(), get_loop_invariant_expr(), asan_mem_ref_hasher::hash(), cand_chain_hasher::hash(), gimplify_hasher::hash(), innermost_loop_behavior_hash::hash(), log_entry_hasher::hash(), tm_memop_hasher::hash(), tree_operand_hash::hash(), vect_scalar_ops_slice_hash::hash(), make_forwarders_with_degenerate_phis(), and record_common_cand().
|
extern |
Returns the last FIELD_DECL in the TYPE_FIELDS of the RECORD_TYPE or UNION_TYPE TYPE, or NULL_TREE if none.
References last, NULL_TREE, TREE_CHAIN, TREE_CODE, and TYPE_FIELDS.
Referenced by array_ref_flexible_size_p(), and decl_init_size().
|
extern |
Return the GCC personality function decl.
References build_personality_function(), and gcc_eh_personality_decl.
|
extern |
Returns the length of a chain of nodes (number of chain pointers to follow before reaching a null pointer).
Return the length of a chain of nodes chained through TREE_CHAIN. We expect a null pointer to mark the end of the chain. This is the Lisp primitive `length'.
References gcc_assert, and TREE_CHAIN.
Referenced by assemble_asm(), build_constructor_from_list(), can_strub_internally_p(), decl_attributes(), expand_call(), function_to_dwarf_procedure(), gimplify_asm_expr(), gimplify_omp_for(), global_decl_processing(), merge_attributes(), omp_construct_selector_matches(), omp_context_compute_score(), omp_context_selector_compare(), omp_context_selector_matches(), omp_context_selector_set_compare(), omp_extract_for_data(), and prepare_call_arguments().
|
inline |
Test if EXP is merely a wrapper node, added to express a location_t on behalf of the node's child (e.g. by maybe_wrap_with_location).
References exp(), EXPR_LOCATION_WRAPPER_P, and TREE_CODE.
Referenced by preserve_any_location_wrapper(), simple_cst_equal(), tree_nop_conversion(), and tree_strip_any_location_wrapper().
Returns the smallest value obtainable by casting something in INNER type to OUTER type.
References build_int_cst(), wi::mask(), TYPE_PRECISION, TYPE_UNSIGNED, and wide_int_to_tree().
Referenced by derive_simple_iv_with_niters(), determine_exit_conditions(), infer_loop_bounds_from_pointer_arith(), infer_loop_bounds_from_signedness(), loop_exits_before_overflow(), and scev_var_range_cant_overflow().
|
extern |
For anonymous aggregate types, we need some sort of name to hold on to. In practice, this should not appear, but it should not be harmful if it does. Identifiers returned will be IDENTIFIER_ANON_P.
Create a unique anonymous identifier. The identifier is still a valid assembly label.
References anon_cnt, gcc_checking_assert, get_identifier_with_length(), and IDENTIFIER_ANON_P.
|
extern |
Make an INTEGER_CST.
Lowest level primitive for allocating a node. The TREE_CODE is the only argument. Contents are initialized to zero except for a few of the common fields.
From expmed.cc. Since rtl.h is included after tree.h, we can't put the prototype here. Rtl.h does declare the prototype if tree.h had been included.
Return a tree node with data type TYPE, describing the value of X. Usually this is an VAR_DECL, if there is no obvious better choice. X may be an expression, however we only support those expressions generated by loop.c.
References tree_vector_builder::build(), build2(), build_decl(), build_fold_addr_expr, build_real(), CONST_DOUBLE_LOW, CONST_DOUBLE_REAL_VALUE, CONST_POLY_INT_P, const_poly_int_value(), CONST_VECTOR_ELT, CONST_VECTOR_NELTS_PER_PATTERN, CONST_VECTOR_NPATTERNS, convert_memory_address_addr_space(), count, vector_builder< T, Shape, Derived >::encoded_nelts(), fold_build1, fold_build2, fold_convert, wide_int_storage::from_array(), GET_CODE, GET_MODE, HOST_BITS_PER_WIDE_INT, i, make_tree(), NULL_TREE, POINTER_TYPE_P, RTL_LOCATION, SCALAR_INT_TYPE_MODE, signed_type_for(), STATIC_ASSERT, SYMBOL_REF_DECL, TARGET_SUPPORTS_WIDE_INT, TREE_CODE, TREE_TYPE, type(), TYPE_ADDR_SPACE, lang_hooks_for_types::type_for_mode, TYPE_MODE, lang_hooks::types, unsigned_type_for(), wide_int_to_tree(), and XEXP.
Referenced by assign_parm_setup_reg(), emit_block_op_via_libcall(), expand_asm_stmt(), expand_builtin_cexpi(), expand_call(), expand_DIVMOD(), expand_doubleword_mod(), expand_expr_real_1(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_compare_exchange_into_call(), expand_mul_overflow(), expand_sjlj_dispatch_table(), expand_vector_ubsan_overflow(), initialize_argument_information(), make_tree(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), set_storage_via_libcall(), sjlj_emit_function_enter(), and store_expr().
|
extern |
Make a BINFO.
|
extern |
Make a TREE_VEC.
|
extern |
|
extern |
Return the maximum size of TYPE (in bytes) as a wide integer or return -1 if the size can vary or is larger than an integer.
References lang_hooks_for_types::max_size, TREE_CODE, tree_fits_uhwi_p(), tree_to_uhwi(), TYPE_ARRAY_MAX_SIZE, and lang_hooks::types.
Referenced by assign_temp(), expand_asm_stmt(), force_constant_size(), gimplify_parameters(), gimplify_vla_decl(), and initialize_argument_information().
|
extern |
Return the maximum object size.
References ptrdiff_type_node, and TYPE_MAX_VALUE.
Referenced by alloca_call_type(), check_access(), access_ref::dump(), pass_walloca::execute(), strlen_pass::get_len_or_size(), access_ref::get_ref(), get_size_range(), gimple_fold_builtin_strlen(), handle_ssa_name(), maybe_warn_for_bound(), maybe_warn_nonstring_arg(), strlen_pass::maybe_warn_overflow(), access_ref::merge_ref(), access_ref::set_max_size_range(), access_ref::size_remaining(), and warn_string_no_nul().
|
inline |
Return true if VAR may be aliased. A variable is considered as maybe aliased if it has its address taken by the local TU or possibly by another TU and might be modified through a pointer.
References DECL_EXTERNAL, DECL_NONALIASED, TREE_ADDRESSABLE, TREE_CODE, TREE_PUBLIC, TREE_READONLY, and TREE_STATIC.
Referenced by call_may_clobber_ref_p_1(), can_escape(), dump_alias_info(), find_tail_calls(), instrument_expr(), mem_dies_at_call(), ptr_deref_may_alias_decl_p(), ref_can_have_store_data_races(), ref_may_be_aliased(), and ref_maybe_used_by_call_p_1().
|
extern |
Return a function call to FN, if the target is guaranteed to support it, or null otherwise. N is the number of arguments, passed in the "...", and TYPE is the type of the return value.
References ap, as_builtin_fn(), as_internal_fn(), build_call_expr_internal_loc_array(), build_call_expr_loc_array(), builtin_decl_implicit(), direct_internal_fn_p(), direct_internal_fn_supported_p(), direct_internal_fn_types(), i, internal_fn_p(), NULL_TREE, and OPTIMIZE_FOR_BOTH.
|
inline |
Determine if the function identified by FNDECL is one that makes sense to match by name, for those places where we detect "magic" functions by name. Return true if FNDECL has a name and is an extern fndecl at file scope. FNDECL must be a non-NULL decl. Avoid using this, as it's generally better to use attributes rather than to check for functions by name.
References DECL_CONTEXT, DECL_NAME, NULL_TREE, TREE_CODE, and TREE_PUBLIC.
Referenced by special_function_p().
|
extern |
Return EXPR, potentially wrapped with a node expression LOC, if !CAN_HAVE_LOCATION_P (expr). NON_LVALUE_EXPR is used for wrapping constants, apart from STRING_CST. VIEW_CONVERT_EXPR is used for wrapping non-constants and STRING_CST. Wrapper nodes can be identified using location_wrapper_p.
References build1_loc(), CAN_HAVE_LOCATION_P, CONSTANT_CLASS_P, DECL_ARTIFICIAL, DECL_IGNORED_P, DECL_P, error_operand_p(), EXCEPTIONAL_CLASS_P, expr, EXPR_LOCATION_WRAPPER_P, gcc_assert, NULL, suppress_location_wrappers, TREE_CODE, TREE_STATIC, TREE_TYPE, and UNKNOWN_LOCATION.
Referenced by preserve_any_location_wrapper().
|
inline |
Test whether there are more arguments in abstract argument list iterator ITER, without changing its state.
Referenced by dump_generic_node(), and print_node().
|
extern |
Return true if T (assumed to be a DECL) must be assigned a memory location.
References aggregate_value_p(), current_function_decl, DECL_BY_REFERENCE, is_global_var(), TREE_ADDRESSABLE, and TREE_CODE.
Referenced by gimplify_modify_expr_rhs(), gimplify_target_expr(), is_gimple_reg(), and requires_barrier().
|
extern |
Return true if ARG is marked with the nonnull attribute in the current function signature.
References attrs, cfun, compare_tree_int(), DECL_ARGUMENTS, DECL_CHAIN, gcc_assert, lookup_attribute(), NULL_TREE, POINTER_TYPE_P, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, and TYPE_ATTRIBUTES.
Referenced by do_warn_nonnull_compare(), gimple_range_global(), and VN_INFO().
Reverse the order of elements in a chain, and return the new head.
Reverse the order of elements in the chain T, and return the new head of the chain (old last element).
References gcc_checking_assert, TREE_CHAIN, and TREE_CODE.
Referenced by build_adjusted_function_type(), build_function_type_list_1(), rt_bb_visited::check(), declare_vars(), fixup_child_record_type(), init_attr_rdwr_indices(), initialize_inlined_parameters(), layout_type(), maybe_canonicalize_argtypes(), omp_oacc_kernels_decompose_1(), remap_decls(), remap_type_1(), scan_omp_target(), self_referential_size(), simd_clone_adjust_argument_types(), and task_copyfn_remap_type().
|
extern |
Returns number of zeros at the end of binary representation of X.
References build_int_cst(), wi::ctz(), wi::to_wide(), and TREE_TYPE.
Referenced by iv_period(), and number_of_iterations_ne().
|
extern |
REF is OBJ_TYPE_REF, return the class the ref corresponds to. FOR_DUMP_P is true when being called from the dump routines.
References gcc_assert, gcc_checking_assert, get_odr_type(), TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_CANONICAL, and TYPE_STRUCTURAL_EQUALITY_P.
Referenced by cgraph_node::create_indirect_edge(), dump_generic_node(), eliminate_dom_walker::eliminate_stmt(), operand_compare::hash_operand(), ipa_analyze_call_uses(), ipa_analyze_virtual_call_uses(), ipa_polymorphic_call_context::ipa_polymorphic_call_context(), operand_compare::operand_equal_p(), possible_polymorphic_call_target_p(), possible_polymorphic_call_targets(), and virtual_method_call_p().
|
extern |
Return true if two operands that are suitable for PHI nodes are necessarily equal. Specifically, both ARG0 and ARG1 must be either SSA_NAME or invariant. Note that this is strictly an optimization. That is, callers of this function can directly call operand_equal_p and get the same result, only slower.
References operand_equal_p(), and TREE_CODE.
Referenced by connect_loop_phis(), factor_out_conditional_operation(), match_simplify_replacement(), minmax_replacement(), operand_equal_for_value_replacement(), phi_alternatives_equal(), record_equivalences_from_phis(), rhs_is_fed_for_value_replacement(), same_phi_alternatives_1(), simplify_rotate(), single_non_singleton_phi_for_edges(), tree_transform_and_unroll_loop(), and value_replacement().
Returns true if CODE can overflow.
Referenced by parloops_needs_fold_left_reduction_p(), and vectorize_slp_instance_root_stmt().
Returns true if CODE operating on operands of type TYPE doesn't overflow, or ftrapv doesn't generate trapping insns for CODE.
References ANY_INTEGRAL_TYPE_P, gcc_checking_assert, INTEGRAL_TYPE_P, and TYPE_OVERFLOW_TRAPS.
Referenced by find_trapping_overflow(), needs_fold_left_reduction_p(), and parloops_needs_fold_left_reduction_p().
|
inline |
Return pointer to optimization flags of FNDECL.
References DECL_FUNCTION_SPECIFIC_OPTIMIZATION, NULL_TREE, optimization_default_node, and TREE_OPTIMIZATION.
Referenced by can_inline_edge_by_limits_p(), ipa_icf::sem_function::equals_wpa(), inline_call(), and report_inline_failed_reason().
The DECL_ASSEMBLER_NAME_RAW of DECL is being explicitly set to NAME (either of which may be NULL). Inform the FE, if this changes the name.
References DECL_ASSEMBLER_NAME_RAW, and lang_hooks::overwrite_decl_assembler_name.
|
inline |
Return the value of a POLY_INT_CST in its native precision.
References poly_int< N, C >::coeffs, wi::i, NUM_POLY_INT_COEFFS, and POLY_INT_CST_COEFF.
Referenced by bits_from_bytes(), const_unop(), expand_debug_expr(), expand_expr_real_1(), fold_convert_const(), simple_cst_equal(), and wi::to_poly_wide().
|
inline |
Return true if the value of T could be represented as a poly_widest_int.
References POLY_INT_CST_P, and TREE_CODE.
|
inline |
Return true if T holds a value that can be represented as a poly_int64 without loss of precision. Store the value in *VALUE if so.
References tree_fits_poly_int64_p(), and tree_to_poly_int64().
Referenced by add_candidate_1(), add_iv_candidate_for_use(), adjust_offset_for_component_ref(), ao_ref_from_mem(), ao_ref_init_from_ptr_and_size(), ao_ref_init_from_vn_reference(), asan_expand_mark_ifn(), assign_temp(), check_fnspec(), compare_sizes(), compare_values_warnv(), compute_record_mode(), const_binop(), const_binop(), convert_mult_to_fma(), copy_reference_ops_from_ref(), create_ifn_alias_checks(), create_intersect_range_checks_index(), declare_return_variable(), decode_addr_const(), defer_stack_allocation(), delegitimize_mem_from_attrs(), dr_may_alias_p(), drop_tree_overflow(), dse_optimize_stmt(), eliminate_dom_walker::eliminate_stmt(), execute_update_addresses_taken(), expand_call(), expand_expr_real_1(), expand_omp_simd(), expand_one_var(), extract_base_bit_offset(), fold_comparison(), fold_const_aggregate_ref_1(), fold_const_call(), fold_indirect_ref_1(), fold_negate_const(), fold_view_convert_vector_encoding(), force_expr_to_var_cost(), gather_mem_refs_stmt(), generate_memcpy_builtin(), get_access_for_expr(), get_addr_base_and_unit_offset_1(), get_bit_range(), get_computation_aff_1(), get_inner_reference(), get_loop_invariant_expr(), get_mem_align_offset(), get_ref_base_and_extent(), get_vec_alignment_for_array_type(), gimple_fold_builtin_memory_op(), gimple_fold_partial_load_store_mem_ref(), gimplify_adjust_omp_clauses(), gimplify_decl_expr(), gimplify_modify_expr(), gimplify_omp_depend(), gimplify_return_expr(), gimplify_target_expr(), indirect_ref_may_alias_decl_p(), inline_forbidden_p(), instrument_derefs(), int_const_binop(), loc_list_from_tree_1(), lower_omp_target(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), maybe_instrument_pointer_overflow(), maybe_warn_operand(), maybe_with_size_expr(), mode_for_array(), multiple_of_p(), must_pass_in_stack_var_size(), native_interpret_aggregate(), non_rewritable_lvalue_p(), nonoverlapping_component_refs_p_1(), omp_add_variable(), optimize_memcpy_to_memset(), parm_object_size(), pass_by_reference(), pointer_may_wrap_p(), poly_int_binop(), prune_runtime_alias_test_list(), rtx_addr_can_trap_p_1(), same_addr_size_stores_p(), scan_sharing_clauses(), set_mem_attributes_minus_bitpos(), size_binop_loc(), split_address_to_core_and_offset(), stmt_kills_ref_p(), store_constructor(), store_field(), tree_could_trap_p(), tree_to_aff_combination(), try_transform_to_exit_first_loop_alt(), valueize_refs_1(), vect_prune_runtime_alias_test_list(), vect_set_loop_condition_partial_vectors_avx512(), vect_set_loop_controls_directly(), vectorizable_with_step_bound_p(), verify_gimple_call(), verify_types_in_gimple_reference(), vn_reference_lookup_3(), vn_reference_maybe_forwprop_address(), and widen_memory_access().
|
inline |
Return true if T holds a value that can be represented as a poly_uint64 without loss of precision. Store the value in *VALUE if so.
References tree_fits_poly_uint64_p(), and tree_to_poly_uint64().
|
extern |
Clear TREE_TARGET_GLOBALS of all TARGET_OPTION_NODE trees, so that they aren't saved during PCH writing.
References cl_option_hash_table, NULL, TREE_CODE, and TREE_TARGET_GLOBALS.
|
extern |
Like SET_EXPR_LOCATION, but make sure the tree can have a location. LOC is the location to use in tree T.
References CAN_HAVE_LOCATION_P, expr_single(), SET_EXPR_LOCATION, and TREE_CODE.
Referenced by gimplify_arg(), protected_set_expr_location_if_unset(), and stabilize_reference().
|
extern |
Like PROTECTED_SET_EXPR_LOCATION, but only do that if T has UNKNOWN_LOCATION.
References EXPR_HAS_LOCATION, expr_single(), and protected_set_expr_location().
|
extern |
Similar to protected_set_expr_location, but never modify x in place, if location can and needs to be set, unshare it.
References CAN_HAVE_LOCATION_P, copy_node(), EXPR_LOCATION, SET_EXPR_LOCATION, and TREE_CODE.
Referenced by decl_value_expr_insert(), fold_convert_loc(), and fold_ternary_loc().
|
extern |
Return true if TYPE has a prototype.
References gcc_assert, NULL_TREE, TYPE_ARG_TYPES, and TYPE_NO_NAMED_ARGS_STDARG_P.
Referenced by ipa_param_adjustments::adjust_decl(), ipa_param_adjustments::build_new_function_type(), go_format_type(), maybe_diag_incompatible_alias(), odr_types_equivalent_p(), useless_type_conversion_p(), and warn_types_mismatch().
|
extern |
Return true if T holds a polynomial pointer difference, storing it in *VALUE if so. A true return means that T's precision is no greater than 64 bits, which is the largest address space we support, so *VALUE never loses precision. However, the signedness of the result does not necessarily match the signedness of T: sometimes an unsigned type like sizetype is used to encode a value that is actually negative.
References poly_int< N, C >::coeffs, cst_and_fits_in_hwi(), i, int_cst_value(), NUM_POLY_INT_COEFFS, POLY_INT_CST_COEFF, POLY_INT_CST_P, and TREE_CODE.
Referenced by ao_ref_init_from_ptr_and_range(), get_address_cost(), strip_offset_1(), and unadjusted_ptr_and_unit_offset().
Return whether TYPE is a type suitable for an offset for a POINTER_PLUS_EXPR.
References INTEGRAL_TYPE_P, sizetype, TYPE_PRECISION, and TYPE_UNSIGNED.
Referenced by asan_mem_ref_get_end(), build2(), build_polynomial_chrec(), chrec_fold_plus_poly_poly(), convert_to_ptrofftype_loc(), get_string_length(), gimple_convert_to_ptrofftype(), maybe_cast_to_ptrmode(), reset_evolution_in_loop(), and verify_gimple_assign_binary().
|
extern |
Return first list element whose TREE_PURPOSE is ELEM. Return 0 if ELEM is not in LIST.
References NULL_TREE, TREE_CHAIN, and TREE_PURPOSE.
|
extern |
Overwrite warning spec bitmap for a tree with given spec.
Write warning disposition bitmap for streamed-in tree.
References get_location(), and put_warning_spec_at().
|
extern |
Overwrite warning disposition bitmap for a location with given spec.
Change the warning disposition for LOC to match OPTSPEC.
References hash_map< KeyId, Value, Traits >::create_ggc(), nowarn_spec_t::from_bits(), gcc_checking_assert, nowarn_map, hash_map< KeyId, Value, Traits >::put(), hash_map< KeyId, Value, Traits >::remove(), and RESERVED_LOCATION_P.
Referenced by put_warning_spec().
|
extern |
Return true if T could be a floating point zero.
References count, dconst0, i, real_equal(), real_maybe_zerop(), TREE_CODE, TREE_IMAGPART, TREE_REAL_CST, TREE_REALPART, VECTOR_CST_ENCODED_ELT, and vector_cst_encoded_nelts().
Referenced by real_maybe_zerop(), and record_edge_info().
|
extern |
Return true if EXPR is the real constant minus one. Trailing zeroes matter for decimal float constants, so don't return true for them. Also return true for location wrappers around such a constant.
References dconstm1, DECIMAL_FLOAT_MODE_P, real_equal(), real_minus_onep(), real_zerop(), STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, TREE_IMAGPART, TREE_REAL_CST, TREE_REALPART, TREE_TYPE, TYPE_MODE, VECTOR_CST_DUPLICATE_P, VECTOR_CST_ENCODED_ELT, and VECTOR_CST_NPATTERNS.
Referenced by constant_type(), fold_binary_loc(), real_minus_onep(), reassociate_bb(), tree_predict_by_opcode(), and zero_one_operation().
|
extern |
Return true if EXPR is the real constant one in real or complex form. Trailing zeroes matter for decimal float constants, so don't return true for them. Also return true for location wrappers around such a constant.
References dconst1, DECIMAL_FLOAT_MODE_P, real_equal(), real_onep(), real_zerop(), STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, TREE_IMAGPART, TREE_REAL_CST, TREE_REALPART, TREE_TYPE, TYPE_MODE, VECTOR_CST_DUPLICATE_P, VECTOR_CST_ENCODED_ELT, and VECTOR_CST_NPATTERNS.
Referenced by constant_type(), eliminate_using_constants(), fold_binary_loc(), initializer_each_zero_or_onep(), is_copysign_call_with_1(), real_onep(), and tree_predict_by_opcode().
|
extern |
Return true if EXPR is the real constant zero.
Return true if EXPR is the real constant zero. Trailing zeroes matter for decimal float constants, so don't return true for them. Also return true for location wrappers around such a constant.
References count, dconst0, DECIMAL_FLOAT_MODE_P, i, real_equal(), real_zerop(), STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, TREE_IMAGPART, TREE_REAL_CST, TREE_REALPART, TREE_TYPE, TYPE_MODE, VECTOR_CST_ENCODED_ELT, and vector_cst_encoded_nelts().
Referenced by const_with_all_bytes_same(), ctor_single_nonzero_element(), eliminate_using_constants(), fold_binary_loc(), fold_cond_expr_with_comparison(), fold_real_zero_addition_p(), gimple_expand_builtin_cabs(), operand_compare::hash_operand(), initializer_each_zero_or_onep(), initializer_zerop(), operand_compare::operand_equal_p(), real_minus_onep(), real_onep(), real_zerop(), single_nonzero_element(), tree_predict_by_opcode(), and zerop().
|
extern |
True if EXP is a constant or a cast of a constant.
References CONVERT_EXPR_P, exp(), TREE_CODE, TREE_CONSTANT, and TREE_OPERAND.
Referenced by expand_expr_real_2().
|
extern |
Something has messed with the elements of CONSTRUCTOR C after it was built; calculate TREE_CONSTANT and TREE_SIDE_EFFECTS.
References CONSTRUCTOR_ELTS, FOR_EACH_CONSTRUCTOR_VALUE, i, side_effects_p(), TREE_CONSTANT, and TREE_SIDE_EFFECTS.
Referenced by build_constructor(), and gimplify_init_constructor().
|
extern |
Low-level constructors for expressions.
A helper function for build1 and constant folders. Set TREE_CONSTANT, and TREE_SIDE_EFFECTS for an ADDR_EXPR.
References CONSTANT_CLASS_P, DECL_P, lang_hooks::expr_to_decl, gcc_assert, handled_component_p(), INDIRECT_REF_P, NULL_TREE, staticp(), TREE_CODE, TREE_CONSTANT, TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_TYPE, and UPDATE_FLAGS.
Referenced by substitute_and_fold_dom_walker::before_dom_children(), build_invariant_address(), convert_local_reference_op(), convert_nonlocal_reference_op(), copy_tree_body_r(), eliminate_dom_walker::eliminate_stmt(), expand_omp_regimplify_p(), gimplify_addr_expr(), lower_omp_for(), lower_omp_regimplify_p(), maybe_canonicalize_mem_ref_addr(), dom_opt_dom_walker::optimize_stmt(), remap_gimple_op_r(), replace_uses_by(), tidy_after_forward_propagate_addr(), and verify_address().
HACK. GROSS. This is absolutely disgusting. I wish there was a better way. If we requested a pointer to a vector, build up the pointers that we stripped off while looking for the inner type. Similarly for return values from functions. The argument TYPE is the top of the chain, and BOTTOM is the new type which we will point to.
References build_array_type(), build_function_type(), build_method_type_directly(), build_offset_type(), build_pointer_type_for_mode(), build_reference_type_for_mode(), build_type_attribute_qual_variant(), reconstruct_complex_type(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_ATTRIBUTES, TYPE_DOMAIN, TYPE_MODE, TYPE_NO_NAMED_ARGS_STDARG_P, TYPE_OFFSET_BASETYPE, TYPE_QUALS, and TYPE_REF_CAN_ALIAS_ALL.
Referenced by reconstruct_complex_type().
Return true T is a component with reverse storage order.
References AGGREGATE_TYPE_P, POINTER_TYPE_P, REF_REVERSE_STORAGE_ORDER, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_REVERSE_STORAGE_ORDER, and VECTOR_TYPE_P.
save_expr (EXP) returns an expression equivalent to EXP but it can be used multiple times within context CTX and only evaluate EXP once.
Wrap a SAVE_EXPR around EXPR, if appropriate. Do this to any expression which may be used in more than one place, but must be evaluated only once. Normally, expand_expr would reevaluate the expression each time. Calling save_expr produces something that is evaluated and recorded the first time expand_expr is called on it. Subsequent calls to expand_expr just reuse the recorded value. The call to expand_expr that generates code that actually computes the value is the first call *at compile time*. Subsequent calls *at compile time* generate code to use the saved value. This produces correct result provided that *at run time* control always flows through the insns made by the first expand_expr before reaching the other places where the save_expr was evaluated. You, the caller of save_expr, must make sure this is so. Constants, and certain read-only nodes, are returned with no SAVE_EXPR because that is safe. Expressions containing placeholders are not touched; see tree.def for an explanation of what these are used for.
References build1_loc(), contains_placeholder_p(), expr, EXPR_LOCATION, skip_simple_arithmetic(), TREE_CODE, tree_invariant_p_1(), TREE_SIDE_EFFECTS, and TREE_TYPE.
Referenced by builtin_save_expr(), c_strlen(), convert_to_complex_1(), convert_to_integer_1(), fold_binary_loc(), fold_builtin_addc_subc(), fold_builtin_arith_overflow(), fold_builtin_bit_query(), fold_builtin_expect(), fold_convert_loc(), fold_mult_zconjz(), fold_range_test(), gimplify_expr(), lower_reduction_clauses(), omp_apply_tile(), stabilize_reference_1(), stabilize_va_list_loc(), and variable_size().
|
extern |
Combine LOC and BLOCK to a combined adhoc loc, retaining any range information.
References get_discriminator_from_loc(), get_pure_location(), and line_table.
Referenced by lto_location_cache::apply_location_cache(), gimple_set_block(), lto_location_cache::input_location_and_block(), move_block_to_fn(), and remap_location().
|
inline |
Set explicit builtin function nodes and whether it is an implicit function.
References BUILTIN_VALID_P, gcc_checking_assert, and NULL_TREE.
Referenced by local_define_builtin(), rt_bb_visited::rt_bb_visited(), and tree_ssa_prefetch_arrays().
|
inline |
Set the declared flag for a builtin function.
References BUILTIN_VALID_P, gcc_checking_assert, and NULL_TREE.
|
inline |
Set the implicit flag for a builtin function.
References BUILTIN_VALID_P, gcc_checking_assert, and NULL_TREE.
Referenced by gimplify_addr_expr().
|
extern |
Modify DECL for given flags. TM_PURE attribute is set only on types, so the function will modify DECL's type when ECF_TM_PURE is used.
References apply_tm_attr(), build_string(), build_tree_list(), DECL_ATTRIBUTES, DECL_IS_MALLOC, DECL_IS_NOVOPS, DECL_IS_RETURNS_TWICE, DECL_LOOPING_CONST_OR_PURE_P, DECL_PURE_P, ECF_COLD, ECF_CONST, ECF_LEAF, ECF_LOOPING_CONST_OR_PURE, ECF_MALLOC, ECF_NORETURN, ECF_NOTHROW, ECF_NOVOPS, ECF_PURE, ECF_RET1, ECF_RETURNS_TWICE, ECF_TM_PURE, ECF_XTHROW, gcc_assert, get_identifier(), NULL, NULL_TREE, tree_cons(), TREE_NOTHROW, TREE_READONLY, and TREE_THIS_VOLATILE.
Referenced by build_cxa_atexit_decl(), and local_define_builtin().
|
inline |
Record that FUNCTION_DECL DECL represents built-in function FCODE of class FCLASS.
Referenced by ipa_param_adjustments::adjust_decl(), build_builtin_function(), ipa_param_body_adjustments::modify_formal_parameters(), simd_clone_create(), split_function(), and unpack_ts_function_decl_value_fields().
FIXME - These declarations belong in builtins.h, expr.h and emit-rtl.h, but none of these files are allowed to be included from front ends. They should be split in two. One suitable for the FEs, the other suitable for the BE.
Assign the RTX to declaration.
Assign the RTX X to declaration T.
References DECL_WRTL_CHECK, and set_reg_attrs_for_decl_rtl().
Referenced by initialize_argument_information().
|
extern |
Set section name of NODE to VALUE (that is expected to be identifier node)
References symtab_node::get(), cgraph_node::get_create(), varpool_node::get_create(), NULL, symtab_node::set_section(), and VAR_P.
Referenced by build_gcov_info_var_registration(), default_unique_section(), get_emutls_init_templ_addr(), new_emutls_decl(), and omp_finish_file().
|
extern |
Set section name of NODE to match the section name of OTHER. set_decl_section_name (decl, other) is equivalent to set_decl_section_name (decl, DECL_SECTION_NAME (other)), but possibly more efficient.
References symtab_node::get(), cgraph_node::get_create(), varpool_node::get_create(), NULL, symtab_node::set_section(), and VAR_P.
Set TLS model of variable NODE to MODEL.
References varpool_node::get(), varpool_node::get_create(), varpool_node::tls_model, and TLS_MODEL_NONE.
Referenced by function_and_variable_visibility(), init_ic_make_global_vars(), and new_emutls_decl().
Set decl_type of a DECL. Set it to T when SET is true, or reset it to NONE.
References FUNCTION_DECL_DECL_TYPE, and gcc_assert.
|
extern |
|
extern |
|
inline |
Set the number of elements in VECTOR_TYPE NODE to SUBPARTS, which must satisfy valid_vector_subparts_p.
References poly_int< N, C >::coeffs, exact_log2(), gcc_assert, NUM_POLY_INT_COEFFS, and STATIC_ASSERT.
Referenced by make_vector_type().
If floating-point type TYPE has an IEEE-style sign bit, return an unsigned constant in which only the sign bit is set. Return null otherwise.
References as_a(), build_vector_from_val(), element_mode(), NULL_TREE, pow2p_hwi(), REAL_MODE_FORMAT, wi::set_bit_in_zero(), TREE_CODE, TREE_TYPE, unsigned_type_for(), VECTOR_TYPE_P, and wide_int_to_tree().
Construct various nodes representing data types.
If TYPE is an integral or pointer type, return an integer type with the same precision which is unsigned iff UNSIGNEDP is true, or itself if TYPE is already an integer type of signedness UNSIGNEDP. If TYPE is a floating-point type, return an integer type with the same bitsize and with the signedness given by UNSIGNEDP; this is useful when doing bit-level operations on a floating-point value.
References ANY_INTEGRAL_TYPE_P, build_bitint_type(), build_complex_type(), build_nonstandard_integer_type(), build_vector_type(), build_vector_type_for_mode(), GET_MODE_BITSIZE(), INTEGRAL_TYPE_P, new_mode(), NULL_TREE, POINTER_TYPE_P, related_int_vector_mode(), SCALAR_TYPE_MODE, signed_or_unsigned_type_for(), TREE_CODE, TREE_TYPE, type(), TYPE_MODE, TYPE_PRECISION, TYPE_UNSIGNED, TYPE_VECTOR_SUBPARTS(), and VECTOR_MODE_P.
Referenced by signed_or_unsigned_type_for(), signed_type_for(), store_expr(), unsigned_type_for(), and vect_recog_dot_prod_pattern().
If TYPE is an integral or pointer type, return an integer type with the same precision which is signed, or itself if TYPE is already a signed integer type. If TYPE is a floating-point type, return a signed integer type with the same bitsize as TYPE.
References signed_or_unsigned_type_for().
Referenced by affine_fn_op(), build_range_check(), convert_mult_to_highpart(), do_narrow(), do_unop(), expand_oacc_for(), expand_omp_for_generic(), expand_omp_for_init_counts(), expand_omp_for_init_vars(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_simd(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_single_bit_test(), fold_binary_loc(), fold_negate_expr_1(), fold_ternary_loc(), get_computation_cost(), get_offset_range(), lower_rec_input_clauses(), make_tree(), omp_extract_for_data(), signed_type_for_types(), size_diffop_loc(), vect_create_cond_for_align_checks(), vect_emulate_mixed_dot_prod(), vect_recog_abd_pattern(), and vect_recog_dot_prod_pattern().
|
extern |
Return truthvalue of whether T1 is the same tree structure as T2. Return 1 if they are the same. Return 0 if they are understandably different. Return -1 if either contains tree structure not understood by this function.
References CALL_EXPR_FN, call_expr_nargs, CONSTRUCTOR_ELTS, CONVERT_EXPR_CODE_P, DECL_NAME, DECL_RTL_SET_P, EXPR_LOCATION, first_const_call_expr_arg(), FIXED_VALUES_IDENTICAL, poly_int< NUM_POLY_INT_COEFFS, widest_int >::from(), i, known_eq, location_wrapper_p(), NULL_TREE, POLY_INT_CST_P, poly_int_cst_value(), real_identical(), simple_cst_equal(), tcc_binary, tcc_comparison, tcc_expression, tcc_reference, tcc_statement, tcc_unary, wi::to_widest(), TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, TREE_FIXED_CST, TREE_OPERAND, TREE_REAL_CST, TREE_STRING_LENGTH, TREE_STRING_POINTER, TREE_TYPE, TYPE_SIGN, and vec_safe_length().
Referenced by attribute_value_equal(), categorize_ctor_elements_1(), check_unique_operand_names(), complete_ctor_at_level_p(), count_type_elements(), decl_attributes(), finalize_record_size(), get_range_strlen_tree(), gimple_divmod_fixed_value_transform(), gimple_mod_pow2_value_transform(), gimplify_init_ctor_eval(), mode_for_array(), omp_construct_simd_compare(), omp_context_selector_props_compare(), omp_context_selector_set_compare(), omp_declare_simd_clauses_equal(), place_field(), push_without_duplicates(), restrict_type_identity_attributes_to(), simple_cst_equal(), simple_cst_list_equal(), type_has_padding_at_level_p(), and type_list_equal().
|
extern |
If VECTOR_CST T has a single nonzero element, return the index of that element, otherwise return -1.
References i, integer_zerop(), real_zerop(), vector_cst_elt(), vector_cst_encoded_nelts(), VECTOR_CST_NELTS, VECTOR_CST_NELTS_PER_PATTERN, and VECTOR_CST_NPATTERNS.
|
inline |
References input_location, and size_in_bytes_loc().
Referenced by arg_size_in_bytes(), asan_expand_check_ifn(), asan_expand_mark_ifn(), build_check_stmt(), check_func(), default_cxx_get_cookie_size(), has_mem_ref_been_instrumented(), hwasan_check_func(), instrument_derefs(), instrument_mem_region_access(), instrument_object_size(), maybe_update_mem_ref_hash_table(), report_error_func(), subrange_type_die(), and tree_expr_size().
|
extern |
Return the size nominally occupied by an object of type TYPE when it resides in memory. The value is measured in units of bytes, and its data type is that normally used for type sizes (which is the first type created by make_signed_type or make_unsigned_type).
References error_mark_node, lang_hooks_for_types::incomplete_type_error, integer_zero_node, NULL_TREE, size_zero_node, TYPE_MAIN_VARIANT, TYPE_SIZE_UNIT, and lang_hooks::types.
Referenced by size_in_bytes().
Look inside EXPR into any simple arithmetic operations. Return the outermost non-arithmetic or non-invariant node.
References BINARY_CLASS_P, expr, TREE_CODE, tree_invariant_p(), TREE_OPERAND, and UNARY_CLASS_P.
Referenced by save_expr(), and tree_invariant_p().
Look inside EXPR into simple arithmetic operations involving constants. Return the outermost non-arithmetic or non-constant node.
References BINARY_CLASS_P, expr, TREE_CODE, TREE_CONSTANT, TREE_OPERAND, and UNARY_CLASS_P.
Referenced by self_referential_size().
stabilize_reference (EXP) returns a reference equivalent to EXP but it can be used multiple times and only evaluate the subexpressions once.
Stabilize a reference so that we can use it any number of times without causing its operands to be evaluated more than once. Returns the stabilized reference. This works by means of save_expr, so see the caveats in the comments about save_expr. Also allows conversion expressions whose operands are references. Any other kind of expression is returned unchanged.
References build_nt(), CASE_CONVERT, error_mark_node, EXPR_LOCATION, NULL_TREE, protected_set_expr_location(), REF_REVERSE_STORAGE_ORDER, stabilize_reference(), stabilize_reference_1(), TREE_CODE, TREE_OPERAND, TREE_READONLY, TREE_SIDE_EFFECTS, TREE_THIS_VOLATILE, and TREE_TYPE.
Referenced by stabilize_reference().
staticp (tree x) is nonzero if X is a reference to data allocated at a fixed address in memory. Returns the outermost data.
If arg is static -- a reference to an object in static storage -- then return the object. This is not the same as the C meaning of `static'. If arg isn't static, return NULL.
References COMPOUND_LITERAL_EXPR_DECL, DECL_BIT_FIELD, DECL_DLLIMPORT_P, DECL_EXTERNAL, DECL_THREAD_LOCAL_P, gcc_assert, NULL, staticp(), TREE_CODE, TREE_CONSTANT, TREE_OPERAND, TREE_STATIC, TREE_TYPE, and TYPE_SIZE.
Referenced by initializer_constant_valid_p_1(), recompute_tree_invariant_for_addr_expr(), safe_from_p(), and staticp().
|
extern |
Return true if TYPE has a variable argument list.
References FOREACH_FUNCTION_ARGS, NULL_TREE, TYPE_NO_NAMED_ARGS_STDARG_P, and void_type_node.
Referenced by allocate_struct_function(), check_argument_count(), compute_fn_summary(), expand_thunk(), fold_builtin_next_arg(), go_format_type(), ipa_icf::sem_function::merge(), and tree_profiling().
|
inline |
Return true if T is a storage order barrier, i.e. a VIEW_CONVERT_EXPR that can modify the storage order of objects. Note that, even if the TYPE_REVERSE_STORAGE_ORDER flag is set on both the inner type and the outer type, a VIEW_CONVERT_EXPR can modify the storage order because it can change the partition of the aggregate object into scalars.
References AGGREGATE_TYPE_P, TREE_CODE, TREE_OPERAND, TREE_TYPE, and TYPE_REVERSE_STORAGE_ORDER.
Referenced by build_access_from_expr_1(), build_accesses_from_assign(), copy_reference_ops_from_ref(), and vn_reference_lookup_3().
Recursively examines the array elements of TYPE, until a non-array element type is found.
References TREE_CODE, TREE_TYPE, and type().
Referenced by array_bounds_checker::check_mem_ref(), get_vec_alignment_for_array_type(), gimple_fold_builtin_clear_padding(), gimplify_adjust_omp_clauses(), gimplify_adjust_omp_clauses_1(), place_field(), and ubsan_type_descriptor().
Avoid any floating point extensions from EXP.
References build_real_truncate(), CONVERT_EXPR_P, DECIMAL_FLOAT_TYPE_P, double_type_node, element_precision(), exact_real_truncate(), exp(), float_type_node, FLOAT_TYPE_P, NULL, REAL_VALUE_TYPE, strip_float_extensions(), TREE_CODE, TREE_OPERAND, TREE_REAL_CST, TREE_TYPE, TYPE_MODE, and TYPE_PRECISION.
Referenced by convert_to_integer_1(), convert_to_real_1(), fold_binary_loc(), fold_negate_expr_1(), fold_unary_loc(), negate_expr_p(), and strip_float_extensions().
|
extern |
Strip out all handled components that produce invariant offsets.
References handled_component_p(), is_gimple_constant(), NULL, NULL_TREE, TREE_CODE, and TREE_OPERAND.
Referenced by is_gimple_invariant_address(), is_gimple_ip_invariant_address(), is_gimple_min_lval(), and transaction_invariant_address_p().
Strip handled components with zero offset from OP.
References DECL_FIELD_BIT_OFFSET, DECL_FIELD_OFFSET, integer_zerop(), TREE_CODE, and TREE_OPERAND.
Referenced by vect_create_addr_base_for_vector_ref().
|
inline |
|
inline |
References a.
|
extern |
Return true if the debug information for TYPE, a subtype, should be emitted as a subrange type. If so, set LOWVAL to the low bound and HIGHVAL to the high bound, respectively. Sometimes doing so unnecessarily obfuscates the debug info and doesn't reflect the source code.
References lang_hooks_for_types::get_subrange_bounds, int_size_in_bytes(), INTEGRAL_TYPE_P, TREE_CODE, tree_int_cst_equal(), TREE_TYPE, TYPE_IDENTIFIER, TYPE_MAX_VALUE, TYPE_MIN_VALUE, and lang_hooks::types.
Referenced by modified_type_die().
Given a tree EXP, a FIELD_DECL F, and a replacement value R, return a tree with all occurrences of references to F in a PLACEHOLDER_EXPR replaced by R. Also handle VAR_DECLs and CONST_DECLs. Note that we assume here that EXP contains only arithmetic expressions or CALL_EXPRs with PLACEHOLDER_EXPRs occurring only in their argument list.
References build4(), CONSTANT_CLASS_P, copy_node(), exp(), fold(), fold_build1, fold_build2, fold_build3, gcc_unreachable, i, maybe_inline_call_in_expr(), NULL_TREE, operand_equal_p(), process_call_operands(), r, REFERENCE_CLASS_P, SUBSTITUTE_IN_EXPR, tcc_binary, tcc_comparison, tcc_constant, tcc_declaration, tcc_exceptional, tcc_expression, tcc_reference, tcc_unary, tcc_vl_exp, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, tree_cons(), TREE_OPERAND, TREE_OPERAND_LENGTH, TREE_PURPOSE, TREE_READONLY, TREE_THIS_NOTRAP, TREE_TYPE, and TREE_VALUE.
Referenced by self_referential_size().
Similar, but look for a PLACEHOLDER_EXPR in EXP and find a replacement for it within OBJ, a tree that is an object or a chain of references.
References BINARY_CLASS_P, build4(), copy_node(), exp(), EXPRESSION_CLASS_P, fold(), fold_build1, fold_build2, fold_build3, gcc_unreachable, i, NULL_TREE, POINTER_TYPE_P, process_call_operands(), REFERENCE_CLASS_P, SUBSTITUTE_PLACEHOLDER_IN_EXPR, tcc_binary, tcc_comparison, tcc_constant, tcc_declaration, tcc_exceptional, tcc_expression, tcc_reference, tcc_statement, tcc_unary, tcc_vl_exp, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, tree_cons(), TREE_OPERAND, TREE_OPERAND_LENGTH, TREE_PURPOSE, TREE_READONLY, TREE_THIS_NOTRAP, TREE_TYPE, TREE_VALUE, TYPE_MAIN_VARIANT, UNARY_CLASS_P, and VL_EXP_CLASS_P.
Set the disposition for a warning (or all warnings by default) at a location to disabled by default.
Enable, or by default disable, a warning for the expression. The wildcard OPT of -1 controls all warnings.
References get_location(), no_warning, RESERVED_LOCATION_P, set_no_warning_bit(), and suppress_warning_at().
|
extern |
Set the disposition for a warning (or all warnings by default) at a location to disabled by default.
References hash_map< KeyId, Value, Traits >::create_ggc(), gcc_checking_assert, hash_map< KeyId, Value, Traits >::get(), no_warning, nowarn_map, NULL, hash_map< KeyId, Value, Traits >::put(), hash_map< KeyId, Value, Traits >::remove(), and RESERVED_LOCATION_P.
Referenced by suppress_warning(), and suppress_warning().
|
inline |
Return pointer to target flags of FNDECL.
References DECL_FUNCTION_SPECIFIC_TARGET, NULL, NULL_TREE, target_option_default_node, and TREE_TARGET_OPTION.
Referenced by ipa_icf::sem_function::equals_wpa(), and report_inline_failed_reason().
References gcc_unreachable, IS_EXPR_CODE_CLASS, LOCATION_BLOCK, NULL, TREE_CODE, and TREE_CODE_CLASS.
Referenced by tree_code_size().
|
extern |
Referenced by toplev::finalize().
Return simplified tree code of type that is used for canonical type merging.
Referenced by gimple_canonical_types_compatible_p(), and type_with_interoperable_signedness().
|
extern |
Compute the number of bytes occupied by a tree with code CODE. This function cannot be used for TREE_VEC or INTEGER_CST nodes, which are of variable length.
Compute the number of bytes occupied by a tree with code CODE. This function cannot be used for nodes that have variable sizes, including TREE_VEC, INTEGER_CST, STRING_CST, and CALL_EXPR.
References gcc_checking_assert, gcc_unreachable, lang_hooks::identifier_size, NUM_TREE_CODES, tcc_binary, tcc_comparison, tcc_constant, tcc_declaration, tcc_exceptional, tcc_expression, tcc_reference, tcc_statement, tcc_type, tcc_unary, tree_block(), TREE_CODE_CLASS, TREE_CODE_LENGTH, and lang_hooks::tree_size.
Referenced by make_node(), and tree_size().
Make a new TREE_LIST node from specified PURPOSE, VALUE and CHAIN.
|
extern |
Return number of known trailing zero bits in EXPR, or, if the value of EXPR is known to be zero, the precision of it's type.
References CASE_CONVERT, CONST_CAST_TREE, wi::ctz(), ctz_hwi(), get_nonzero_bits(), get_pointer_alignment(), INTEGRAL_TYPE_P, MAX, MIN, POINTER_TYPE_P, wi::to_wide(), TREE_CODE, tree_ctz(), tree_fits_uhwi_p(), tree_int_cst_sgn(), tree_log2(), TREE_OPERAND, tree_to_uhwi(), TREE_TYPE, and TYPE_PRECISION.
Referenced by expand_builtin_memcmp(), expand_builtin_memory_copy_args(), expand_builtin_memset_args(), get_object_alignment_2(), get_pointer_alignment_1(), highest_pow2_factor(), may_be_unaligned_p(), tree_ctz(), and vect_need_peeling_or_partial_vectors_p().
|
extern |
Hash a from tree in a tree_decl_map.
References DECL_UID.
Referenced by tree_decl_map_cache_hasher::hash().
|
extern |
Return true if T is an INTEGER_CST or POLY_INT_CST whose numerical value (extended according to TYPE_UNSIGNED) fits in a poly_int64.
References wi::fits_shwi_p(), i, NULL_TREE, NUM_POLY_INT_COEFFS, POLY_INT_CST_COEFF, POLY_INT_CST_P, wi::to_wide(), wi::to_widest(), and TREE_CODE.
Referenced by address_compare(), component_ref_size(), expand_asm_stmt(), fold_indirect_ref_1(), poly_int_tree_p(), tree_to_vec_perm_builder(), and vn_reference_lookup_3().
|
extern |
Return true if T is an INTEGER_CST or POLY_INT_CST whose numerical value (extended according to TYPE_UNSIGNED) fits in a poly_uint64.
References wi::fits_uhwi_p(), i, NULL_TREE, NUM_POLY_INT_COEFFS, POLY_INT_CST_COEFF, POLY_INT_CST_P, wi::to_widest(), and TREE_CODE.
Referenced by compute_record_mode(), gimple_add_tmp_var(), gimple_add_tmp_var_fn(), gimplify_asm_expr(), and poly_int_tree_p().
|
extern |
The following predicates are safe to call with a null argument.
Return true if T is an INTEGER_CST whose numerical value (extended according to TYPE_UNSIGNED) fits in a signed HOST_WIDE_INT.
References wi::fits_shwi_p(), NULL_TREE, wi::to_widest(), and TREE_CODE.
Referenced by acceptable_pow_call(), add_src_coords_attributes(), add_subscript_strides(), analyze_and_compute_bitwise_induction_effect(), analyze_increments(), asan_expand_check_ifn(), check_omp_nesting_restrictions(), check_stmt_for_type_change(), compute_builtin_object_size(), cond_removal_in_builtin_zero_pattern(), constant_byte_string(), strlen_pass::count_nonzero_bytes_addr(), create_intersect_range_checks_index(), cst_and_fits_in_hwi(), decode_field_reference(), dump_array_domain(), dump_generic_node(), dump_gimple_call_args(), expand_builtin_atomic_compare_exchange(), expand_builtin_eh_common(), expand_expr_real_2(), expr_with_var_bounded_array_refs_p(), extr_type_from_vtbl_ptr_store(), extract_muldiv_1(), field_at_offset(), fold_plusminus_mult_expr(), fortran_common(), fully_constant_vn_reference_p(), gcd_of_steps_may_divide_p(), get_stridx(), gimple_compare_field_offset(), gimple_fold_builtin_memory_op(), go_format_type(), go_output_typedef(), strlen_pass::handle_builtin_string_cmp(), has_mem_ref_been_instrumented(), instrument_mem_region_access(), int_expr_size(), is_comparison_with_loop_invariant_p(), is_lshift_by_1(), is_rshift_by_1(), loc_list_from_tree_1(), lower_omp_for_lastprivate(), make_bit_field_ref(), maybe_add_sra_candidate(), maybe_update_mem_ref_hash_table(), native_encode_constructor(), native_encode_initializer(), native_encode_string(), native_interpret_aggregate(), place_field(), possible_placement_new(), predict_iv_comparison(), prepare_call_arguments(), prepare_iteration_over_array_elts(), push_target_argument_according_to_value(), ipa_polymorphic_call_context::restrict_to_inner_class(), rtl_for_decl_init(), simd_clone_clauses_extract(), simplify_builtin_call(), simplify_rotate(), spaceship_replacement(), stmt_cost(), store_constructor(), strips_small_constant(), totally_scalarizable_type_p(), tree_add_const_value_attribute(), tree_to_shwi(), type_internals_preclude_sra_p_1(), vect_analyze_data_ref_accesses(), vect_analyze_group_access_1(), vect_analyze_loop_form(), vect_check_gather_scatter(), vect_recog_pow_pattern(), vect_simd_lane_linear(), vect_synth_mult_by_constant(), vectorizable_simd_clone_call(), vn_reference_fold_indirect(), vn_reference_lookup_3(), and vn_reference_maybe_forwprop_address().
|
extern |
Return true if T is an INTEGER_CST whose numerical value (extended according to TYPE_UNSIGNED) fits in an unsigned HOST_WIDE_INT.
References wi::fits_uhwi_p(), NULL_TREE, wi::to_widest(), and TREE_CODE.
Referenced by add_abstract_origin_attribute(), add_data_member_location_attribute(), addr_object_size(), strlen_pass::adjust_last_stmt(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), asan_expand_mark_ifn(), bit_value_assume_aligned(), bitpos_of_field(), btf_datasec_add_var(), build_tm_load(), build_tm_store(), build_user_friendly_ref_for_offset(), c_strlen(), categorize_ctor_elements_1(), check_access(), check_all_va_list_escapes(), tree_switch_conversion::switch_conversion::check_range(), check_strncat_sizes(), compare_tree_int(), compute_alias_check_pairs(), constant_byte_string(), convert_mult_to_highpart(), strlen_pass::count_nonzero_bytes(), count_type_elements(), create_expression_by_pieces(), create_ifn_alias_checks(), create_variable_info_for_1(), cst_and_fits_in_hwi(), default_use_anchors_for_symbol_p(), default_vector_alignment(), determine_block_size(), determine_known_aggregate_parts(), dump_generic_node(), dw_sra_loc_expr(), early_object_sizes_execute_one(), evaluate_stmt(), tree_switch_conversion::switch_conversion::expand(), expand_builtin_eh_return_data_regno(), expand_builtin_frame_address(), expand_builtin_memory_chk(), expand_builtin_memset_args(), expand_builtin_strncpy(), expand_constructor(), expand_DEFERRED_INIT(), expand_expr_real_1(), expand_omp_scantemp_alloc(), expand_omp_simd(), expand_vector_divmod(), expr_expected_value_1(), field_at_offset(), final_value_replacement_loop(), find_atomic_core_type(), finish_bitfield_layout(), finish_bitfield_representative(), fold_builtin_alloca_with_align(), fold_builtin_memcmp(), fold_const_aggregate_ref_1(), fold_read_from_constant_string(), fold_ternary_loc(), fold_unary_loc(), get_block_for_decl(), get_constraint_for_1(), strlen_pass::get_len_or_size(), get_mem_align_offset(), get_narrower(), get_size_range(), get_stridx_plus_constant(), get_vec_alignment_for_record_type(), getbyterep(), gimple_fold_builtin_memchr(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_strcat_chk(), gimple_fold_builtin_string_compare(), gimple_fold_indirect_ref(), gimple_fold_partial_load_store_mem_ref(), gimplify_omp_loop_xform(), go_output_typedef(), strlen_pass::handle_builtin_memcmp(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_pointer_plus(), handle_printf_call(), strlen_pass::handle_store(), hoist_adjacent_loads(), init_offset_limit(), initialize_ao_ref_for_dse(), initialize_data_dependence_relation(), initializer_zerop(), inline_expand_builtin_bytecmp(), instrument_builtin_call(), instrument_expr(), int_size_in_bytes(), interpret_rhs_expr(), is_aligning_offset(), loc_list_from_tree_1(), locate_and_pad_parm(), lower_builtin_assume_aligned(), lower_vec_perm(), max_int_size_in_bytes(), maybe_emit_sprintf_chk_warning(), maybe_invalidate(), maybe_trim_memstar_call(), mode_for_size_tree(), native_encode_initializer(), native_interpret_aggregate(), nonzero_bytes_for_type(), not_size_aligned(), object_sizes_execute(), loop_distribution::pg_add_dependence_edges(), place_field(), predict_loops(), push_fields_onto_fieldstack(), ref_at_iteration(), ipa_polymorphic_call_context::restrict_to_inner_class(), ipa_icf_gimple::func_checker::safe_for_total_scalarization_p(), crc_optimization::satisfies_crc_loop_iteration_count(), self_reuse_distance(), simple_type_size_in_bits(), simplify_builtin_call(), simplify_rotate(), size_t_cst_p(), sra_modify_expr(), stack_protect_classify_type(), store_constructor(), target_char_cst_p(), tm_log_add(), tm_log_emit_stmt(), tree_add_const_value_attribute(), tree_ctz(), tree_to_uhwi(), try_unroll_loop_completely(), type_internals_preclude_sra_p_1(), type_like_member_ptr_p(), ubsan_type_descriptor(), va_list_counter_bump(), valid_constant_size_p(), vect_analyze_data_ref_accesses(), vect_find_stmt_data_reference(), vect_get_smallest_scalar_type(), vect_peel_nonlinear_iv_init(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_rotate_pattern(), vector_element(), vectorizable_nonlinear_induction(), verify_gimple_assign_ternary(), visit_nary_op(), and vn_reference_lookup_3().
|
extern |
Similar, but return the largest integer Y such that 2 ** Y is less than or equal to EXPR.
References wi::floor_log2(), wi::to_wide(), TREE_CODE, tree_log2(), and TREE_REALPART.
Referenced by do_jump(), inverse(), and tree_int_cst_min_precision().
Return the location into which EXP has been inlined. Analogous to tree_nonartificial_location() above but not limited to artificial functions declared inline. If SYSTEM_HEADER is true, return the macro expansion point of the location if it's in a system header
References BLOCK_ABSTRACT_ORIGIN, BLOCK_SOURCE_LOCATION, BLOCK_SUPERCONTEXT, exp(), expansion_point_location_if_in_system_header(), EXPR_LOCATION, TREE_BLOCK, TREE_CODE, and UNKNOWN_LOCATION.
|
inline |
Returns -1 if T1 < T2, 0 if T1 == T2, and 1 if T1 > T2. T1 and T2 are both INTEGER_CSTs and their values are extended according to their respective TYPE_SIGNs.
References wi::cmps(), and wi::to_widest().
Referenced by cluster_cmp(), compare_case_labels(), compare_step_with_zero(), compare_values_warnv(), create_intersect_range_checks_index(), data_ref_compare_tree(), find_case_label_for_value(), find_case_label_index(), find_case_label_ranges(), fold_comparison(), get_misalign_in_elems(), gimple_fold_builtin_strncat(), idx_infer_loop_bounds(), label_cmp(), maybe_optimize_ubsan_null_ifn(), object_sizes_set(), preprocess_case_label_vec_for_gimple(), range_cmp(), simplify_using_ranges::simplify_switch_using_ranges(), size_for_offset(), vect_analyze_data_ref_access(), vect_analyze_group_access_1(), vect_compile_time_alias(), vect_create_cond_for_align_checks(), vect_enhance_data_refs_alignment(), vect_gen_prolog_loop_niters(), vect_get_peeling_costs_all_drs(), and vect_setup_realignment().
|
extern |
Arguments may be null.
True if integer constants T1 and T2 represent the same constant value.
References STRIP_ANY_LOCATION_WRAPPER, wi::to_widest(), and TREE_CODE.
Referenced by adjacent_dr_p(), arith_overflow_check_p(), tree_switch_conversion::switch_conversion::build_constructors(), byte_from_pos(), c_strlen(), check_out_of_bounds_and_warn(), check_strncat_sizes(), coalesce_bitint(), tree_switch_conversion::switch_conversion::collect(), compare_constant(), ipa_icf_gimple::func_checker::compare_gimple_switch(), component_ref_size(), compute_optimized_partition_bases(), constant_byte_string(), convert_to_integer_1(), convert_to_vector(), type_cache_hasher::equal(), ipa_icf::sem_variable::equals(), expand_DEFERRED_INIT(), expand_expr_real_1(), expand_omp_atomic_cas(), expand_omp_for_static_chunk(), fold_convert_loc(), fold_convertible_p(), fold_relational_const(), get_inner_reference(), gimple_compare_field_offset(), gimple_fold_builtin_memory_op(), gimple_fold_indirect_ref(), gimple_lower_bitint(), internal_gather_scatter_fn_supported_p(), ipa_get_stmt_member_ptr_load_param(), tree_switch_conversion::simple_cluster::is_single_value_p(), is_value_included_in(), make_range_step(), maybe_canonicalize_comparison_1(), maybe_rewrite_mem_ref_base(), maybe_warn_for_bound(), maybe_warn_nonstring_arg(), merge_ranges(), nonoverlapping_array_refs_p(), nonoverlapping_component_refs_p_1(), nonoverlapping_refs_since_match_p(), omp_adjust_for_condition(), operand_compare::operand_equal_p(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_diff(), optimize_range_tests_xor(), pos_from_bit(), preprocess_case_label_vec_for_gimple(), rt_bb_visited::push_rtcfg_pair(), simple_iv_with_niters(), simplify_using_ranges::simplify_switch_using_ranges(), ana::bounded_range::singleton_p(), size_diffop_loc(), split_loop(), store_kills_ref_p(), subrange_type_for_debug_p(), try_transform_to_exit_first_loop_alt(), useless_type_conversion_p(), value_replacement(), vect_analyze_data_ref_accesses(), vect_find_stmt_data_reference(), vn_reference_lookup_3(), and warn_for_access().
|
inline |
Return true if INTEGER_CST T1 is less than or equal to INTEGER_CST T2, extending both according to their respective TYPE_SIGNs.
References wi::to_widest().
Referenced by check_access(), if_chain::check_non_overlapping_cases(), check_out_of_bounds_and_warn(), gimple_fold_call(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_builtin_strlen(), inbounds_memaccess_p(), instrument_object_size(), is_value_included_in(), maybe_canonicalize_mem_ref_addr(), maybe_optimize_mod_cmp(), maybe_optimize_ubsan_null_ifn(), maybe_warn_for_bound(), and value_replacement().
|
inline |
Return true if INTEGER_CST T1 is less than INTEGER_CST T2, extending both according to their respective TYPE_SIGNs.
References wi::to_widest().
Referenced by addr_object_size(), strlen_pass::adjust_last_stmt(), array_size_for_constructor(), tree_switch_conversion::switch_conversion::build_constructors(), can_remove_asan_check(), check_access(), check_out_of_bounds_and_warn(), check_strncat_sizes(), component_ref_sam_type(), create_iv(), default_cxx_get_cookie_size(), expand_builtin_memory_chk(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_builtin_strncpy(), expand_case(), extract_bit_test_mask(), find_loop_niter(), find_loop_niter_by_eval(), fold_binary_loc(), fold_relational_const(), get_array_ctor_element_at_index(), get_range_strlen_dynamic(), get_range_strlen_phi(), get_range_strlen_tree(), gimple_fold_builtin_strncpy(), gimple_fold_call(), gimple_verify_flow_info(), strlen_pass::handle_builtin_strlen(), in_array_bounds_p(), inbounds_memaccess_p(), instrument_object_size(), int_fits_type_p(), is_value_included_in(), layout_type(), make_range_step(), may_eliminate_iv(), maybe_warn_for_bound(), maybe_warn_nonstring_arg(), omp_extract_for_data(), range_in_array_bounds_p(), simplify_builtin_call(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), size_diffop_loc(), spaceship_replacement(), value_replacement(), vect_is_simple_cond(), vect_transform_cycle_phi(), vectorizable_reduction(), verify_gimple_switch(), and vn_reference_may_trap().
Return the minimum number of bits needed to represent VALUE in a signed or unsigned type, UNSIGNEDP says which.
References fold_build1, integer_zerop(), SIGNED, tree_floor_log2(), tree_int_cst_sgn(), and TREE_TYPE.
Referenced by tree_binary_nonnegative_warnv_p().
|
extern |
Return an indication of the sign of the integer constant T. The return value is -1 if T < 0, 0 if T == 0, and 1 if T > 0. Note that -1 will never be returned if T's type is unsigned.
References wi::neg_p(), wi::to_wide(), TREE_TYPE, and TYPE_UNSIGNED.
Referenced by bitint_min_cst_precision(), chrec_apply(), chrec_is_positive(), compare_tree_int(), compute_object_offset(), convert_to_integer_1(), dr_step_indicator(), dump_generic_node(), expand_builtin_object_size(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_simd(), expand_omp_taskloop_for_inner(), expand_omp_taskloop_for_outer(), expand_vector_divmod(), extract_bit_test_mask(), extract_muldiv_1(), fold_binary_loc(), fold_builtin_object_size(), fold_comparison(), fold_div_compare(), get_range_strlen_tree(), go_format_type(), instrument_object_size(), maybe_canonicalize_comparison_1(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), optimize_spaceship(), output_constant(), prune_runtime_alias_test_list(), return_prediction(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), tree_binary_nonnegative_warnv_p(), tree_ctz(), tree_int_cst_min_precision(), tree_single_nonnegative_warnv_p(), valid_constant_size_p(), vect_create_data_ref_ptr(), vect_dr_misalign_for_aligned_access(), vect_get_data_ptr_increment(), vect_recog_divmod_pattern(), vectorizable_load(), and vectorizable_reduction().
|
extern |
Return the most significant (sign) bit of T.
References wi::extract_uhwi(), wi::to_wide(), TREE_TYPE, and TYPE_PRECISION.
Referenced by create_intersect_range_checks_index(), derive_constant_upper_bound_ops(), derive_simple_iv_with_niters(), determine_exit_conditions(), get_cst_init_from_scev(), idx_infer_loop_bounds(), loop_exits_before_overflow(), multiple_of_p(), number_of_iterations_cond(), number_of_iterations_lt(), number_of_iterations_ne(), number_of_iterations_until_wrap(), record_nonwrapping_iv(), scev_direction(), scev_var_range_cant_overflow(), simple_iv_with_niters(), split_at_bb_p(), split_loop(), and warn_for_access().
Return true if T is function-invariant.
References skip_simple_arithmetic(), and tree_invariant_p_1().
Referenced by skip_simple_arithmetic(), stabilize_reference_1(), and tree_invariant_p_1().
Return the last tree node in a chain.
Return the last node in a chain of nodes (chained through TREE_CHAIN).
References TREE_CHAIN.
Referenced by build_adjusted_function_type(), and fold_builtin_next_arg().
|
extern |
Return the power of two represented by a tree node known to be a power of two.
References wi::exact_log2(), wi::to_wide(), TREE_CODE, tree_log2(), and TREE_REALPART.
Referenced by tree_switch_conversion::switch_conversion::exp_index_transform(), expand_mul_overflow(), expand_vector_divmod(), fold_ternary_loc(), number_of_iterations_cltz(), optimize_atomic_bit_test_and(), recognize_single_bit_test(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), tree_ctz(), tree_floor_log2(), tree_log2(), ubsan_expand_null_ifn(), and vect_recog_divmod_pattern().
|
extern |
|
extern |
Hash a from tree in a tree_base_map.
|
extern |
Return true if this tree map structure is marked for garbage collection purposes. We simply return true if the from tree is marked, so that this structure goes away when the from tree goes away.
References ggc_marked_p().
|
extern |
Hash a from tree in a tree_map.
Referenced by tm_clone_hasher::hash(), and move_sese_region_to_fn().
enum tree_node_structure_enum tree_node_structure | ( | const_tree | t | ) |
Return which tree structure is used by T.
References TREE_CODE, and tree_node_structure_for_code().
|
extern |
If EXP is inlined from an __attribute__((__artificial__)) function, return the location of the original call expression.
References block_nonartificial_location(), exp(), EXPR_LOCATION, and TREE_BLOCK.
Referenced by gimple_or_expr_nonartificial_location().
|
extern |
Return true iff conversion from INNER_TYPE to OUTER_TYPE generates no instruction.
References ADDR_SPACE_GENERIC, INTEGRAL_TYPE_P, POINTER_TYPE_P, TREE_CODE, TREE_TYPE, TYPE_ADDR_SPACE, TYPE_MODE, and TYPE_PRECISION.
Referenced by bitwise_equal_p(), bitwise_inverted_equal_p(), check_reduction_path(), chrec_fold_multiply(), chrec_fold_plus_1(), expr_to_aff_combination(), scev_dfs::follow_ssa_edge_expr(), get_load_store_type(), gimple_bitwise_equal_p(), gimple_bitwise_inverted_equal_p(), gimple_nop_conversion_p(), operand_compare::operand_equal_p(), optimize_atomic_op_fetch_cmp_0(), simple_iv_with_niters(), strip_nop_cond_scalar_reduction(), tree_builtin_call_types_compatible_p(), tree_nop_conversion(), vect_nop_conversion_p(), vectorizable_assignment(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_reduction(), vectorizable_shift(), and verify_gimple_assign_ternary().
|
inline |
Compute the number of operands in an expression node NODE. For tcc_vl_exp nodes like CALL_EXPRs, this is stored in the node itself, otherwise it is looked up from the node's code.
References TREE_CODE, TREE_CODE_LENGTH, VL_EXP_CLASS_P, and VL_EXP_OPERAND_LENGTH.
|
extern |
Compute the number of bytes occupied by 'node'. This routine only looks at TREE_CODE and, if the code is TREE_VEC, TREE_VEC_LENGTH.
Compute the number of bytes occupied by NODE. This routine only looks at TREE_CODE, except for those nodes that have variable sizes.
References BINFO_N_BASE_BINFOS, offsetof, OMP_CLAUSE_CODE, omp_clause_num_ops, tcc_vl_exp, TREE_CODE, TREE_CODE_CLASS, tree_code_size(), TREE_INT_CST_EXT_NUNITS, TREE_STRING_LENGTH, TREE_VEC_LENGTH, vector_cst_encoded_nelts(), and VL_EXP_OPERAND_LENGTH.
Referenced by copy_node(), free_node(), optimize_load_redistribution_1(), release_ssa_name_fn(), vect_build_slp_instance(), vect_build_slp_tree(), vect_build_slp_tree_2(), and vect_lower_load_permutations().
Implementation of STRIP_ANY_LOCATION_WRAPPER.
References exp(), location_wrapper_p(), and TREE_OPERAND.
Referenced by convert_to_integer_1(), and size_binop_loc().
Strip conversions from EXP according to tree_nop_conversion and return the resulting expression.
References exp(), tree_nop_conversion(), and TREE_OPERAND.
Referenced by gimplify_call_expr().
Strip conversions from EXP according to tree_sign_nop_conversion and return the resulting expression.
References exp(), TREE_OPERAND, and tree_sign_nop_conversion().
|
extern |
Referenced by address_compare(), ipcp_modif_dom_walker::before_dom_children(), component_ref_size(), convert_mult_to_fma(), get_reassociation_width(), ipcp_get_aggregate_const(), load_from_unmodified_param_or_agg(), poly_int_tree_p(), tree_to_vec_perm_builder(), unmodified_parm_1(), and vn_reference_lookup_3().
|
extern |
Referenced by add_stack_var(), bit_field_offset(), bit_field_size(), build_truth_vector_type_for(), dump_generic_node(), emit_note_insn_var_location(), expand_expr_real_2(), expand_one_stack_var_1(), fold_truth_andor_for_ifcombine(), get_bit_range(), native_interpret_vector(), poly_int_tree_p(), simplify_bitfield_ref(), store_constructor(), vect_build_slp_tree_2(), vect_compile_time_alias(), vect_recog_bool_pattern(), vect_slp_is_lane_insert(), vectorizable_load(), verify_opaque_type(), and verify_types_in_gimple_reference().
|
extern |
T is an INTEGER_CST whose numerical value (extended according to TYPE_UNSIGNED) fits in a signed HOST_WIDE_INT. Return that HOST_WIDE_INT.
References gcc_assert, tree_fits_shwi_p(), and TREE_INT_CST_LOW.
Referenced by acceptable_pow_call(), add_data_member_location_attribute(), add_prototyped_attribute(), add_src_coords_attributes(), add_subscript_strides(), adjusted_warn_limit(), alloca_call_type(), analyze_and_compute_bitwise_induction_effect(), analyze_increments(), asan_expand_check_ifn(), asan_expand_mark_ifn(), build_agg_jump_func_from_list(), build_fn_info(), cache_integer_cst(), check_all_va_list_escapes(), check_ctz_array(), check_omp_nesting_restrictions(), check_stmt_for_type_change(), check_ts_and_push_padding_to_vec(), clear_padding_type(), clear_padding_union(), cond_removal_in_builtin_zero_pattern(), constant_byte_string(), strlen_pass::count_nonzero_bytes_addr(), create_access(), create_intersect_range_checks_index(), decode_addr_const(), decode_field_reference(), dump_array_domain(), dump_generic_node(), dump_gimple_call_args(), emit_case_dispatch_table(), expand_builtin_atomic_compare_exchange(), expand_builtin_eh_common(), expand_builtin_object_size(), expand_call_mem_ref(), expand_expr_real_2(), expand_gather_load_optab_fn(), expand_HWASAN_MARK(), expand_ifn_atomic_compare_exchange(), expand_scatter_store_optab_fn(), extr_type_from_vtbl_ptr_store(), extract_muldiv_1(), field_at_offset(), fold_builtin_object_size(), fold_plusminus_mult_expr(), fortran_common(), fully_constant_vn_reference_p(), gcd_of_steps_may_divide_p(), get_binfo_at_offset(), get_references_in_stmt(), get_stridx(), gimple_fold_indirect_ref(), gimplify_adjust_omp_clauses(), gimplify_omp_for(), go_format_type(), go_output_typedef(), strlen_pass::handle_builtin_string_cmp(), has_mem_ref_been_instrumented(), access_ref::inform_access(), instrument_mem_region_access(), int_byte_position(), int_expr_size(), ipa_analyze_call_uses(), is_lshift_by_1(), is_rshift_by_1(), layout_decl(), loc_list_from_tree_1(), lookup_binfo_at_offset(), lower_omp_for_lastprivate(), make_bit_field_ref(), mark_reachable_handlers(), maybe_add_sra_candidate(), maybe_optimize_ubsan_null_ifn(), maybe_update_mem_ref_hash_table(), ipa_param_body_adjustments::modify_assignment(), ipa_param_body_adjustments::modify_expression(), move_sese_region_to_fn(), move_stmt_eh_region_tree_nr(), native_encode_constructor(), native_encode_initializer(), native_encode_string(), native_interpret_aggregate(), omp_extract_for_data(), omp_maybe_apply_loop_xforms(), optimize_count_trailing_zeroes(), output_constant(), output_constructor_array_range(), place_field(), predict_loops(), prepare_call_arguments(), prepare_iteration_over_array_elts(), propagate_aggregate_lattice(), propagate_aggs_across_jump_function(), push_target_argument_according_to_value(), record_targets_from_bases(), remap_eh_region_tree_nr(), replace_loop_annotate(), replace_loop_annotate_in_block(), ipa_polymorphic_call_context::restrict_to_inner_class(), rt_bb_visited::rt_bb_visited(), rtl_for_decl_init(), set_uid_loop_bbs(), simd_clone_clauses_extract(), simplify_builtin_call(), simplify_count_trailing_zeroes(), simplify_rotate(), spaceship_replacement(), stmt_cost(), store_constructor(), strips_small_constant(), totally_scalarizable_type_p(), tree_add_const_value_attribute(), try_vectorize_loop_1(), vect_analyze_data_ref_accesses(), vect_analyze_group_access_1(), vect_analyze_loop_form(), vect_check_gather_scatter(), vect_loop_dist_alias_call(), vect_loop_vectorized_call(), vect_recog_ctz_ffs_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_pow_pattern(), vect_simd_lane_linear(), vect_synth_mult_by_constant(), vectorizable_simd_clone_call(), vn_reference_fold_indirect(), vn_reference_lookup_3(), and vn_reference_maybe_forwprop_address().
|
extern |
T is an INTEGER_CST whose numerical value (extended according to TYPE_UNSIGNED) fits in an unsigned HOST_WIDE_INT. Return that HOST_WIDE_INT.
References gcc_assert, tree_fits_uhwi_p(), and TREE_INT_CST_LOW.
Referenced by add_abstract_origin_attribute(), add_data_member_location_attribute(), add_decls_addresses_to_decl_constructor(), strlen_pass::adjust_last_stmt(), alloca_call_type(), analyze_all_variable_accesses(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), asan_add_global(), asan_expand_mark_ifn(), asan_expand_poison_ifn(), asan_mark_p(), assemble_noswitch_variable(), assemble_variable(), assemble_variable_contents(), bit_value_assume_aligned(), bitpos_of_field(), btf_datasec_add_var(), build_tm_load(), build_tm_store(), build_user_friendly_ref_for_offset(), c_strlen(), cache_integer_cst(), categorize_ctor_elements_1(), check_all_va_list_escapes(), tree_switch_conversion::switch_conversion::check_range(), check_string_literal(), clear_padding_type(), compute_alias_check_pairs(), compute_object_offset(), constant_byte_string(), convert_mult_to_highpart(), strlen_pass::count_nonzero_bytes(), count_type_elements(), create_expression_by_pieces(), create_ifn_alias_checks(), cgraph_node::create_indirect_edge(), create_task_copyfn(), tree_switch_conversion::switch_conversion::create_temp_arrays(), create_variable_info_for_1(), default_use_anchors_for_symbol_p(), default_vector_alignment(), determine_block_size(), determine_index(), determine_known_aggregate_parts(), crc_optimization::dump_crc_information(), dump_generic_node(), dw_sra_loc_expr(), early_object_sizes_execute_one(), eliminate_dom_walker::eliminate_stmt(), tree_switch_conversion::bit_test_cluster::emit(), emit_case_dispatch_table(), evaluate_stmt(), excess_unit_span(), execute_omp_oacc_neuter_broadcast(), execute_update_addresses_taken(), tree_switch_conversion::switch_conversion::expand(), expand_builtin_eh_return_data_regno(), expand_builtin_frame_address(), expand_builtin_memset_args(), expand_builtin_strncpy(), expand_constructor(), expand_DEFERRED_INIT(), expand_expr_real_2(), expand_ifn_atomic_op_fetch_cmp_0(), expand_omp_atomic(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_scantemp_alloc(), expand_omp_sections(), expand_omp_simd(), expand_single_bit_test(), expand_vector_conversion(), expand_vector_divmod(), expand_vector_parallel(), expand_vector_ubsan_overflow(), expr_expected_value_1(), extract_bit_test_mask(), field_at_offset(), final_value_replacement_loop(), varpool_node::finalize_decl(), find_atomic_core_type(), finish_bitfield_representative(), fold_builtin_alloca_with_align(), fold_builtin_memcmp(), fold_const_aggregate_ref_1(), fold_indirect_ref_1(), fold_ternary_loc(), fold_unary_loc(), pass_walloca::gate(), gen_ctf_base_type(), get_binfo_at_offset(), get_bit_range(), get_constraint_for_1(), strlen_pass::get_len_or_size(), get_mem_align_offset(), get_narrower(), get_stridx_plus_constant(), get_ubsan_type_info_for_type(), get_vec_alignment_for_record_type(), getbyterep(), gimple_fold_builtin_memchr(), gimple_fold_builtin_memory_op(), gimple_fold_builtin_memset(), gimple_fold_builtin_string_compare(), gimple_fold_indirect_ref(), gimple_fold_partial_load_store_mem_ref(), gimple_get_alias_set(), gimple_get_virt_method_for_vtable(), gimple_lower_bitint(), gimplify_bind_expr(), gimplify_omp_loop_xform(), go_output_typedef(), handle_builtin_alloca(), strlen_pass::handle_builtin_memcmp(), strlen_pass::handle_builtin_memcpy(), strlen_pass::handle_pointer_plus(), handle_printf_call(), strlen_pass::handle_store(), hoist_adjacent_loads(), init_eh(), init_offset_limit(), initialize_data_dependence_relation(), initializer_zerop(), inline_expand_builtin_bytecmp(), instrument_builtin_call(), instrument_expr(), interpret_rhs_expr(), ipa_analyze_virtual_call_uses(), ipa_dump_jump_function(), is_aligning_offset(), iv_period(), loc_list_from_tree_1(), locate_and_pad_parm(), lower_lastprivate_clauses(), lower_omp_target(), lower_private_allocate(), max_int_size_in_bytes(), maybe_invalidate(), maybe_trim_memstar_call(), mode_for_size_tree(), native_encode_initializer(), native_encode_int(), native_interpret_aggregate(), native_interpret_int(), native_interpret_vector_part(), non_rewritable_lvalue_p(), nonfreeing_call_p(), nonzero_bytes_for_type(), not_size_aligned(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), number_of_iterations_ne(), number_of_iterations_popcount(), oacc_do_neutering(), oacc_xform_tile(), object_sizes_execute(), omp_accumulate_sibling_list(), omp_apply_tile(), omp_build_struct_sibling_lists(), omp_construct_simd_compare(), omp_group_base(), omp_group_last(), operand_compare::operand_equal_p(), optimize_atomic_bit_test_and(), optimize_count_trailing_zeroes(), crc_optimization::optimize_crc_loop(), optimize_range_tests_to_bit_test(), output_constructor_bitfield(), output_constructor_regular_field(), output_object_block(), place_block_symbol(), place_field(), possible_placement_new(), possible_polymorphic_call_target_p(), possible_polymorphic_call_targets(), predict_loops(), print_no_sanitize_attr_value(), push_fields_onto_fieldstack(), ref_at_iteration(), ipa_polymorphic_call_context::restrict_to_inner_class(), ipa_icf_gimple::func_checker::safe_for_total_scalarization_p(), crc_optimization::satisfies_crc_loop_iteration_count(), self_reuse_distance(), simd_clone_adjust(), simd_clone_clauses_extract(), simd_clone_init_simd_arrays(), simple_type_size_in_bits(), simplify_builtin_call(), simplify_rotate(), size_t_cst_p(), sort_by_size_then_ssa_version_or_uid(), sort_size_descending(), sra_modify_expr(), stack_protect_classify_type(), store_constructor(), target_char_cst_p(), task_reduction_read(), tm_log_add(), tm_log_emit_stmt(), totally_scalarize_subtree(), tree_add_const_value_attribute(), tree_ctz(), tree_profiling(), try_unroll_loop_completely(), ubsan_expand_null_ifn(), ubsan_expand_vptr_ifn(), ubsan_type_descriptor(), undistribute_bitref_for_vector(), va_list_counter_bump(), crc_optimization::validate_crc_and_data(), vect_add_slp_permutation(), vect_analyze_data_ref_accesses(), vect_create_epilog_for_reduction(), vect_create_partial_epilog(), vect_expand_fold_left(), vect_find_stmt_data_reference(), vect_gather_scatter_fn_p(), vect_get_scalar_dr_size(), vect_model_reduction_cost(), vect_peel_nonlinear_iv_init(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_rotate_pattern(), vect_vfa_access_size(), vector_element_bits(), vectorizable_live_operation(), vectorizable_live_operation_1(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_simd_clone_call(), vectorizable_store(), verify_gimple_assign_ternary(), visit_nary_op(), vn_reference_lookup_3(), vtable_pointer_value_to_vtable(), warn_for_access(), and widen_memory_access().
Referenced by match_uaddc_usubc(), and validate_test_and_branch().
Return true if CODE can be treated as a truncating division. EXACT_DIV_EXPR can be treated as a truncating division in which the remainder is known to be zero. However, if trunc_div_p gates the generation of new IL, the conservative choice for that new IL is TRUNC_DIV_EXPR rather than CODE. Using CODE (EXACT_DIV_EXPR) would only be correct if the transformation preserves exactness.
Referenced by is_rshift_by_1().
If TYPE is a vector type, return a signed integer vector type with the same width and number of subparts. Otherwise return boolean_type_node.
References boolean_type_node, build_truth_vector_type_for(), TREE_CODE, type(), and VECTOR_BOOLEAN_TYPE_P.
Referenced by and_comparisons_1(), build_mask_conversion(), expand_vector_divmod(), get_mask_type_for_scalar_type(), get_mask_type_for_scalar_type(), get_same_sized_vectype(), or_comparisons_1(), scan_store_can_perm_p(), vect_create_epilog_for_reduction(), vect_get_loop_mask(), vect_get_vec_defs_for_operand(), vect_is_simple_cond(), vect_recog_bitfield_ref_pattern(), vect_recog_bool_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_gather_scatter_pattern(), vect_reduction_update_partial_vector_usage(), vect_transform_reduction(), vect_verify_full_masking(), vect_verify_full_masking_avx512(), vectorizable_condition(), vectorizable_load(), vectorizable_operation(), vectorizable_scan_store(), vectorizable_store(), and vectorize_fold_left_reduction().
Return nonzero if CODE is a tree code that represents a truth value.
References tcc_comparison, and TREE_CODE_CLASS.
Referenced by canonicalize_cond_expr_cond(), find_func_aliases(), fold_binary_loc(), fold_ternary_loc(), gimple_boolify(), lower_rec_simd_input_clauses(), and tree_simple_nonnegative_warnv_p().
|
extern |
Return the type of the function TYPE's argument ARGNO if known. For vararg function's where ARGNO refers to one of the variadic arguments return null. Otherwise, return a void_type_node for out-of-bounds ARGNO.
References FOREACH_FUNCTION_ARGS, i, NULL_TREE, void_type_node, and VOID_TYPE_P.
Return true if any part of the structure of TYPE involves a PLACEHOLDER_EXPR directly. This includes size, bounds, qualifiers (for QUAL_UNION_TYPE) and field positions.
Wrapper around above function used to cache its result.
References type_contains_placeholder_1(), and TYPE_CONTAINS_PLACEHOLDER_INTERNAL.
Referenced by create_variable_info_for_1(), fold(), fold_ternary_loc(), totally_scalarizable_type_p(), and type_contains_placeholder_1().
|
inline |
Return true if type T has the same precision as its underlying mode.
References GET_MODE_PRECISION(), known_eq, TYPE_MODE, and TYPE_PRECISION.
Referenced by add_iv_candidate_for_use(), convert_mult_to_fma(), convert_plusminus_to_widen(), convert_to_integer_1(), decode_field_reference(), eliminate_dom_walker::eliminate_stmt(), expand_expr_real_1(), expand_expr_real_2(), expand_single_bit_test(), gimple_fold_builtin_memset(), maybe_rewrite_mem_ref_base(), non_rewritable_mem_ref_base(), process_assignment(), simplify_rotate(), loop_distribution::transform_reduction_loop(), type_strictly_matches_mode_p(), vect_recog_ctz_ffs_pattern(), vect_recog_divmod_pattern(), vect_recog_mult_pattern(), vect_recog_popcount_clz_ctz_ffs_pattern(), vect_recog_sat_trunc_pattern(), vect_recog_vector_vector_shift_pattern(), vectorizable_assignment(), vectorizable_conversion(), vectorizable_induction(), vectorizable_lane_reducing(), vectorizable_operation(), vectorizable_reduction(), vectorizable_shift(), verify_gimple_assign_ternary(), verify_types_in_gimple_reference(), and vn_reference_lookup_3().
Given TYPE, and HASHCODE its hash code, return the canonical object for an identical type if one already exists. Otherwise, return TYPE, and record it as the canonical object. To use this function, first create a type of the sort you want. Then compute its hash code from the fields of the type that make it different from other similar types. Then call this function and use the value.
References free_node(), gcc_assert, ggc_alloc(), ggc_free(), type_hash::hash, int_cst_hash_table, layout_type(), next_type_uid, TREE_CODE, TREE_TYPE, type(), type_hash::type, TYPE_CACHED_VALUES, TYPE_CACHED_VALUES_P, type_hash_table, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_UID, and TYPE_UNSIGNED.
Referenced by build_array_type_1(), build_bitint_type(), build_complex_type(), build_function_type(), build_method_type_directly(), build_nonstandard_integer_type(), build_offset_type(), build_range_type_1(), build_type_attribute_qual_variant(), and make_vector_type().
|
extern |
Given a hashcode and a ..._TYPE node (for which the hashcode was made), return a canonicalized ..._TYPE node, so that duplicates are not made. How the hash code is computed is up to the caller, as long as any two callers that could hash identical-looking type nodes agree.
Hashing of types so that we don't make duplicates. The entry point is `type_hash_canon'.
Generate the default hash code for TYPE. This is designed for speed, rather than maximum entropy.
References inchash::hash::add_flag(), inchash::hash::add_int(), inchash::hash::add_object(), inchash::hash::add_poly_int(), AGGREGATE_TYPE_P, inchash::hash::end(), error_mark_node, get_attribute_name(), i, IDENTIFIER_HASH_VALUE, TREE_CHAIN, TREE_CODE, TREE_INT_CST_ELT, TREE_INT_CST_NUNITS, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_ATTRIBUTES, TYPE_DOMAIN, TYPE_HASH, TYPE_MAX_VALUE, TYPE_METHOD_BASETYPE, TYPE_MIN_VALUE, TYPE_OFFSET_BASETYPE, TYPE_PRECISION, TYPE_REF_IS_RVALUE, TYPE_STRUCTURAL_EQUALITY_P, TYPE_TYPELESS_STORAGE, TYPE_UNSIGNED, and TYPE_VECTOR_SUBPARTS().
Referenced by build_array_type_1(), build_complex_type(), build_function_type(), build_method_type_directly(), build_offset_type(), build_range_type_1(), build_type_attribute_qual_variant(), and make_vector_type().
|
extern |
Given two lists of types (chains of TREE_LIST nodes with types in the TREE_VALUE slots) return 1 if the lists contain the same types in the same order. Also, the TREE_PURPOSEs must match.
References simple_cst_equal(), TREE_CHAIN, TREE_PURPOSE, TREE_TYPE, and TREE_VALUE.
Referenced by ehspec_hasher::equal(), and type_cache_hasher::equal().
|
extern |
Returns the number of arguments to the FUNCTION_TYPE or METHOD_TYPE given by TYPE. If the argument list accepts variable arguments, then this function counts only the ordinary arguments.
References i, TREE_CHAIN, TREE_VALUE, TYPE_ARG_TYPES, and VOID_TYPE_P.
|
inline |
Return the number of elements in the VECTOR_TYPE given by NODE.
References poly_int< N, C >::coeffs, HOST_WIDE_INT_1U, NUM_POLY_INT_COEFFS, and STATIC_ASSERT.
Referenced by add_mask_else_and_len_args(), build_index_vector(), build_truth_vector_type_for(), build_vector_a_then_b(), build_vector_from_ctor(), build_vector_from_val(), check_load_store_for_partial_vectors(), clear_padding_type(), const_binop(), const_unop(), count_type_elements(), default_builtin_vectorization_cost(), do_compare_rtx_and_jump(), do_store_flag(), do_vec_conversion(), do_vec_narrow_conversion(), dump_generic_node(), duplicate_and_interleave(), type_cache_hasher::equal(), expand_debug_expr(), expand_expr_real_2(), expand_fn_using_insn(), expand_vector_comparison(), expand_vector_condition(), expand_vector_conversion(), expand_vector_ubsan_overflow(), expand_while_optab_fn(), expand_widen_pattern_expr(), fold_convert_const(), fold_convertible_p(), fold_indirect_ref_1(), fold_read_from_vector(), fold_ternary_loc(), fold_vec_perm(), fold_vec_perm_cst(), fold_view_convert_vector_encoding(), fold_while_ult(), get_compute_type(), get_group_load_store_type(), get_initial_def_for_reduction(), get_initial_defs_for_reduction(), get_load_store_type(), get_misalign_in_elems(), get_negative_load_store_type(), get_vectype_for_scalar_type(), gimple_build_vector(), gimple_build_vector_from_val(), gimple_fold_indirect_ref(), gimple_fold_stmt_to_constant_1(), initializer_each_zero_or_onep(), interleave_supported_p(), internal_gather_scatter_fn_supported_p(), ipa_simd_modify_function_body(), is_combined_permutation_identity(), is_truth_type_for(), layout_type(), lower_vec_perm(), lto_read_tree_1(), native_interpret_vector(), tree_vector_builder::new_vector(), nunits_for_known_piecewise_op(), operand_compare::operand_equal_p(), operation_could_trap_helper_p(), optimize_vector_constructor(), perm_mask_for_reverse(), print_node(), scan_store_can_perm_p(), tree_vector_builder::shape_nelts(), signed_or_unsigned_type_for(), simd_clone_init_simd_arrays(), simplify_permutation(), simplify_vector_constructor(), vect_optimize_slp_pass::start_choosing_layouts(), store_constructor(), subparts_gt(), supportable_half_widening_operation(), supportable_indirect_convert_operation(), supportable_narrowing_operation(), supportable_widening_operation(), tree_to_vec_perm_builder(), type_for_widest_vector_mode(), type_hash_canon_hash(), undistribute_bitref_for_vector(), uniform_vector_p(), useless_type_conversion_p(), valid_mask_for_fold_vec_perm_cst_p(), vec_perm_indices_to_tree(), vect_add_slp_permutation(), vect_adjust_loop_lens_control(), vect_analyze_data_refs(), vect_analyze_loop_2(), vect_build_one_gather_load_call(), vect_build_one_scatter_store_call(), vect_build_slp_instance(), vect_build_slp_tree_1(), vect_build_slp_tree_2(), vect_check_scalar_mask(), vect_convert_mask_for_vectype(), vect_create_cond_for_align_checks(), vect_create_constant_vectors(), vect_create_epilog_for_reduction(), vect_create_nonlinear_iv_init(), vect_create_partial_epilog(), vect_determine_vectorization_factor(), vect_double_mask_nunits(), vect_dr_misalign_for_aligned_access(), vect_enhance_data_refs_alignment(), vect_find_reusable_accumulator(), vect_gen_perm_mask_any(), vect_get_loop_len(), vect_get_loop_mask(), vect_get_num_vectors(), vect_get_peeling_costs_all_drs(), vect_get_strided_load_store_ops(), vect_get_vector_types_for_stmt(), vect_grouped_load_supported(), vect_halve_mask_nunits(), vect_is_simple_cond(), vect_nunits_for_cost(), vect_permute_load_chain(), vect_permute_store_chain(), vect_prologue_cost_for_slp(), vect_recog_bool_pattern(), vect_recog_mask_conversion_pattern(), vect_recog_rotate_pattern(), vect_record_loop_len(), vect_record_max_nunits(), vect_set_loop_condition_partial_vectors_avx512(), vect_set_loop_controls_directly(), vect_shift_permute_load_chain(), vect_slp_check_for_roots(), vect_slp_prefer_store_lanes_p(), vect_supportable_dr_alignment(), vect_transform_cycle_phi(), vect_transform_loop(), vect_transform_loop_stmt(), vect_transform_slp_perm_load_1(), vect_update_max_nunits(), vect_update_nonlinear_iv(), vect_verify_full_masking(), vect_verify_full_masking_avx512(), vector_alignment_reachable_p(), vector_const_binop(), vector_type_mode(), vector_vector_composition_type(), vectorizable_assignment(), vectorizable_bswap(), vectorizable_call(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_conversion(), vectorizable_induction(), vectorizable_live_operation(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_recurr(), vectorizable_reduction(), vectorizable_scan_store(), vectorizable_shift(), vectorizable_simd_clone_call(), vectorizable_slp_permutation_1(), vectorizable_store(), vectorize_fold_left_reduction(), verify_gimple_assign_binary(), verify_gimple_assign_single(), verify_gimple_assign_ternary(), verify_gimple_assign_unary(), verify_gimple_comparison(), vn_reference_eq(), and vn_reference_lookup_3().
|
inline |
Return true if it makes sense to consider alias set for a type T.
References COMPLETE_TYPE_P, TREE_CODE, and TREE_TYPE.
Referenced by get_alias_set(), gimple_canonical_types_compatible_p(), lto_read_body_or_constructor(), and verify_type_variant().
|
extern |
The TYPE_CANONICAL merging machinery. It should closely resemble the middle-end types_compatible_p function. It needs to avoid claiming types are different for types that should be treated the same with respect to TBAA. Canonical types are also used for IL consistency checks via the useless_type_conversion_p predicate which does not handle all type kinds itself but falls back to pointer-comparison of TYPE_CANONICAL for aggregates for example.
Return true if TYPE_UNSIGNED of TYPE should be ignored for canonical type calculation because we need to allow inter-operability between signed and unsigned variants.
References signed_char_type_node, size_type_node, TREE_CODE, tree_code_for_canonical_type_merging(), and TYPE_PRECISION.
Referenced by gimple_canonical_types_compatible_p().
|
inline |
Returns true iff TYPE is a type variant created for a typedef.
References is_typedef_decl(), and TYPE_NAME.
|
extern |
For languages with One Definition Rule, work out if types are the same based on their name. This is non-trivial for LTO where minor differences in the type representation may have prevented type merging to merge two copies of otherwise equivalent type. Until we start streaming mangled type names, this function works only for polymorphic types.
References DECL_ASSEMBLER_NAME, gcc_checking_assert, type_in_anonymous_namespace_p(), TYPE_MAIN_VARIANT, TYPE_NAME, TYPE_P, and type_with_linkage_p().
Referenced by add_type_duplicate(), decl_maybe_in_construction_p(), ipa_polymorphic_call_context::equal_to(), get_binfo_at_offset(), ipa_polymorphic_call_context::get_dynamic_type(), lookup_binfo_at_offset(), odr_subtypes_equivalent_p(), operand_compare::operand_equal_p(), possible_polymorphic_call_targets(), record_known_type(), record_target_from_binfo(), record_targets_from_bases(), ipa_polymorphic_call_context::restrict_to_inner_class(), types_must_be_same_for_odr(), and warn_types_mismatch().
If the argument is INTEGER_CST, return it. If the argument is vector with all elements the same INTEGER_CST, return that INTEGER_CST. Otherwise return NULL_TREE.
If the argument is INTEGER_CST, return it. If the argument is vector with all elements the same INTEGER_CST, return that INTEGER_CST. Otherwise return NULL_TREE. Look through location wrappers.
References NULL_TREE, STRIP_ANY_LOCATION_WRAPPER, TREE_CODE, TREE_TYPE, uniform_vector_p(), and VECTOR_TYPE_P.
Referenced by bitmask_inv_cst_vector_p(), bitwise_inverted_equal_p(), decode_field_reference(), fold_truth_andor_for_ifcombine(), gimple_bitwise_inverted_equal_p(), and vect_recog_divmod_pattern().
|
extern |
Given a vector VEC, return its first element if all elements are the same. Otherwise return NULL_TREE.
Check if vector VEC consists of all the equal elements and that the number of elements corresponds to the type of VEC. The function returns first element of the vector or NULL_TREE if the vector is not uniform.
References CONSTRUCTOR_ELTS, error_mark_node, FOR_EACH_CONSTRUCTOR_VALUE, gcc_assert, i, NULL_TREE, operand_equal_p(), TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_VECTOR_SUBPARTS(), uniform_vector_p(), VECTOR_CST_DUPLICATE_P, VECTOR_CST_ENCODED_ELT, VECTOR_CST_NPATTERNS, and VECTOR_TYPE_P.
Referenced by expand_vector_ubsan_overflow(), fold_real_zero_addition_p(), reduce_vector_comparison_to_scalar_comparison(), ssa_uniform_vector_p(), store_constructor(), uniform_integer_cst_p(), uniform_vector_p(), and vect_slp_check_for_roots().
If TYPE is an integral or pointer type, return an integer type with the same precision which is unsigned, or itself if TYPE is already an unsigned integer type. If TYPE is a floating-point type, return an unsigned integer type with the same bitsize as TYPE.
References signed_or_unsigned_type_for().
Referenced by bitmask_inv_cst_vector_p(), tree_switch_conversion::switch_conversion::build_arrays(), build_cltz_expr(), build_popcount_expr(), build_range_check(), cand_value_at(), chrec_apply(), chrec_convert_1(), chrec_evaluate(), chrec_fold_multiply(), convert_mult_to_highpart(), convert_to_integer_1(), create_intersect_range_checks_index(), do_narrow(), tree_switch_conversion::jump_table_cluster::emit(), expand_omp_simd(), fold_bit_and_mask(), fold_cond_expr_with_comparison(), fold_negate_expr_1(), fold_plusminus_mult_expr(), cfn_ffs::fold_range(), fold_ternary_loc(), fold_unary_loc(), gen_pow2p(), generic_type_for(), get_computation_aff_1(), get_debug_computation_at(), get_misalign_in_elems(), gimplify_omp_for(), ifcombine_ifandif(), interpret_rhs_expr(), iv_period(), loop_exits_before_overflow(), lower_lastprivate_conditional_clauses(), make_tree(), maybe_optimize_arith_overflow(), maybe_optimize_mod_cmp(), number_of_iterations_cond(), number_of_iterations_lt(), number_of_iterations_ne(), number_of_iterations_until_wrap(), operator_cast::op1_range(), operator_lshift::op1_range(), optimize_range_tests_diff(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), range_check_type(), record_nonwrapping_iv(), replace_trapping_overflow(), rewrite_to_defined_overflow(), sign_mask_for(), simplify_using_ranges::simplify_internal_call_using_ranges(), strip_offset_1(), vect_convert_input(), vect_create_cond_for_lower_bounds(), vect_create_nonlinear_iv_init(), vect_peel_nonlinear_iv_init(), vect_recog_abd_pattern(), vect_recog_ctz_ffs_pattern(), vect_recog_rotate_pattern(), vect_synth_mult_by_constant(), vect_update_nonlinear_iv(), and vectorize_slp_instance_root_stmt().
Returns the largest value obtainable by casting something in INNER type to OUTER type.
References gcc_unreachable, wi::mask(), TYPE_PRECISION, TYPE_UNSIGNED, and wide_int_to_tree().
Referenced by derive_constant_upper_bound_ops(), derive_simple_iv_with_niters(), determine_exit_conditions(), infer_loop_bounds_from_pointer_arith(), infer_loop_bounds_from_signedness(), loop_exits_before_overflow(), and scev_var_range_cant_overflow().
|
extern |
This routine is called from front ends to indicate eh should be used for cleanups.
|
extern |
Query whether EH is used for cleanups.
References using_eh_for_cleanups_flag.
Referenced by lower_try_finally().
|
extern |
Return true if SIZE represents a constant size that is in bounds of what the middle-end and the backend accepts (covering not more than half of the address-space). When PERR is non-null, set *PERR on failure to the description of why SIZE is not valid.
References cst_size_negative, cst_size_not_constant, cst_size_overflow, cst_size_too_big, error(), i, NUM_POLY_INT_COEFFS, POLY_INT_CST_COEFF, POLY_INT_CST_P, sizetype, wi::to_widest(), TREE_CODE, tree_fits_uhwi_p(), tree_int_cst_sgn(), TREE_OVERFLOW, TREE_OVERFLOW_P, TYPE_MAX_VALUE, and valid_constant_size_p().
Referenced by asan_protect_global(), assemble_variable(), expand_one_var(), and valid_constant_size_p().
Return true for a valid pair of new and delete operators.
Return true if NEW_ASM and DELETE_ASM name a valid pair of new and delete operators. Return false if they may or may not name such a pair and, when nonnull, set *PCERTAIN to true if they certainly do not.
References IDENTIFIER_LENGTH, and IDENTIFIER_POINTER.
|
inline |
Return true if we can construct vector types with the given number of subparts.
References poly_int< N, C >::coeffs, NUM_POLY_INT_COEFFS, and pow2p_hwi().
Referenced by execute_update_addresses_taken(), and non_rewritable_lvalue_p().
Return first list element whose TREE_VALUE is ELEM. Return 0 if ELEM is not in LIST.
References NULL_TREE, TREE_CHAIN, and TREE_VALUE.
Referenced by assemble_external().
Returns true if T is, contains, or refers to a type with variable size. For METHOD_TYPEs and FUNCTION_TYPEs we exclude the arguments, but not the return type. If FN is nonzero, only return true if a modifier of the type or position of FN is a variable or parameter inside FN. This concept is more general than that of C99 'variably modified types': in C99, a struct type is never variably modified because a VLA may not appear as a structure member. However, in GNU C code like: struct S { int i[f()]; }; is valid, and other languages may define similar constructs.
Test if T is either variable (if FN is zero) or an expression containing a variable in FN. If TYPE isn't gimplified, return true also if gimplify_one_sizepos would gimplify the expression into a local variable.
References DECL_CHAIN, DECL_FIELD_OFFSET, DECL_QUALIFIER, DECL_SIZE, DECL_SIZE_UNIT, error_mark_node, RETURN_TRUE_IF_VAR, TREE_CODE, lang_hooks::tree_inlining, TREE_TYPE, TREE_VISITED, TYPE_FIELDS, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_SIZE, TYPE_SIZE_UNIT, lang_hooks_for_tree_inlining::var_mod_type_p, and variably_modified_type_p().
Referenced by check_for_nested_with_variably_modified(), compute_fn_summary(), create_task_copyfn(), finalize_nesting_tree_1(), fixup_child_record_type(), get_nonlocal_debug_decl(), ipa_icf::sem_function::hash_stmt(), lto_variably_modified_type_p(), need_assembler_name_p(), pack_ts_type_common_value_fields(), remap_type(), remap_vla_decls(), replace_locals_stmt(), variably_modified_type_p(), and verify_type().
|
extern |
Return true if ELEM is in V.
References FOR_EACH_VEC_SAFE_ELT.
|
extern |
Return the value of element I of VECTOR_CST T.
References i, TREE_TYPE, VECTOR_CST_ENCODED_ELT, vector_cst_encoded_nelts(), vector_cst_int_elt(), VECTOR_CST_NPATTERNS, VECTOR_CST_STEPPED_P, and wide_int_to_tree().
Referenced by bitmask_inv_cst_vector_p(), fold_vec_perm_cst(), initializer_each_zero_or_onep(), operation_could_trap_helper_p(), simplify_bitfield_ref(), single_nonzero_element(), and valid_mask_for_fold_vec_perm_cst_p().
|
inline |
Return the number of elements encoded directly in a VECTOR_CST.
References VECTOR_CST_NELTS_PER_PATTERN, and VECTOR_CST_NPATTERNS.
Referenced by compare_constant(), const_hash_1(), const_with_all_bytes_same(), DFS::DFS_write_tree_body(), dump_generic_node(), operand_compare::hash_operand(), hash_tree(), initializer_each_zero_or_onep(), lto_input_ts_vector_tree_pointers(), negate_expr_p(), operand_compare::operand_equal_p(), operation_could_trap_helper_p(), print_node(), real_maybe_zerop(), real_zerop(), single_nonzero_element(), tree_size(), tree_to_vec_perm_builder(), vector_cst_elt(), vector_cst_int_elt(), walk_tree_1(), and write_ts_vector_tree_pointers().
|
extern |
Return the size in bits of each element of vector type TYPE.
References gcc_checking_assert, tree_to_uhwi(), TREE_TYPE, TYPE_PRECISION, TYPE_SIZE, VECTOR_BOOLEAN_TYPE_P, and VECTOR_TYPE_P.
Referenced by do_negate(), do_plus_minus(), expand_vector_addition(), expand_vector_conversion(), store_constructor(), vect_gather_scatter_fn_p(), vect_is_simple_cond(), vector_element_bits_tree(), and vectorizable_operation().
|
extern |
Calculate the size in bits of each element of vector type TYPE and return the result as a tree of type bitsizetype.
References bitsize_int, gcc_checking_assert, TREE_TYPE, TYPE_SIZE, VECTOR_BOOLEAN_TYPE_P, vector_element_bits(), and VECTOR_TYPE_P.
Referenced by expand_vector_comparison(), expand_vector_condition(), vector_element(), and vectorizable_live_operation().
|
extern |
Vector types need to re-check the target flags each time we report the machine mode. We need to do this because attribute target can change the result of vector_mode_supported_p and have_regs_of_mode on a per-function basis. Thus the TYPE_MODE of a VECTOR_TYPE can change on a per-function basis.
??? Possibly a better solution is to run through all the types referenced by a function and re-compute the TYPE_MODE once, rather than make the TYPE_MODE macro call a function.
References gcc_assert, GET_MODE_BITSIZE(), have_regs_of_mode, int_mode_for_size(), is_int_mode(), targetm, TREE_CODE, TREE_TYPE, TYPE_VECTOR_SUBPARTS(), and VECTOR_MODE_P.
|
extern |
Make sure that TREE_CONSTANT and TREE_SIDE_EFFECTS are correct for CONSTRUCTOR C.
References CONSTRUCTOR_ELTS, FOR_EACH_CONSTRUCTOR_VALUE, i, internal_error(), side_effects_p(), TREE_CONSTANT, and TREE_SIDE_EFFECTS.
|
extern |
Verify type T.
References COMPLETE_TYPE_P, debug_tree(), error(), error_found, FIXED_POINT_TYPE_P, FUNC_OR_METHOD_TYPE_P, gimple_canonical_types_compatible_p(), i, INTEGRAL_TYPE_P, internal_error(), is_lang_specific(), NULL, OPAQUE_TYPE_P, RECORD_OR_UNION_TYPE_P, SCALAR_FLOAT_TYPE_P, TREE_CHAIN, TREE_CODE, TREE_PURPOSE, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, TYPE_ARG_TYPES, TYPE_ARRAY_MAX_SIZE, TYPE_BINFO, TYPE_CACHED_VALUES, TYPE_CACHED_VALUES_P, TYPE_CANONICAL, TYPE_DOMAIN, TYPE_FIELDS, TYPE_LANG_SLOT_1, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE_RAW, TYPE_METHOD_BASETYPE, TYPE_MODE, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO, TYPE_OFFSET_BASETYPE, TYPE_P, TYPE_VALUES, TYPE_VALUES_RAW, TYPE_VFIELD, useless_type_conversion_p(), VAR_P, variably_modified_type_p(), verify_opaque_type(), and verify_type_variant().
|
extern |
TARGET is a call target of GIMPLE call statement (obtained by gimple_call_fn). Return true if it is OBJ_TYPE_REF representing an virtual call of C++ method. (As opposed to OBJ_TYPE_REF representing objc calls through a cast where middle-end devirtualization machinery can't apply.) FOR_DUMP_P is true when being called from the dump routines.
References gcc_checking_assert, obj_type_ref_class(), TREE_CODE, TREE_TYPE, and TYPE_BINFO.
Referenced by cgraph_node::create_indirect_edge(), dump_generic_node(), eliminate_dom_walker::eliminate_stmt(), fold_gimple_assign(), gimple_fold_call(), operand_compare::hash_operand(), ipa_analyze_call_uses(), operand_compare::operand_equal_p(), and tree_estimate_probability_bb().
|
extern |
Apply FUNC to all the sub-trees of TP in a pre-order traversal. FUNC is called with the DATA and the address of each sub-tree. If FUNC returns a non-NULL value, the traversal is stopped, and the value returned by FUNC is returned. If PSET is non-NULL it is used to record the nodes visited, and to avoid visiting a node more than once.
References hash_set< KeyId, Lazy, Traits >::add(), BIND_EXPR_BODY, BIND_EXPR_VARS, CONSTRUCTOR_ELTS, DECL_CHAIN, DECL_EXPR_DECL, DECL_FIELD_OFFSET, DECL_INITIAL, DECL_QUALIFIER, DECL_SIZE, DECL_SIZE_UNIT, i, IS_EXPR_CODE_CLASS, NULL_TREE, OMP_CLAUSE_CHAIN, OMP_CLAUSE_CODE, omp_clause_num_ops, OMP_CLAUSE_OPERAND, POINTER_TYPE_P, RECORD_OR_UNION_TYPE_P, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_IMAGPART, TREE_OPERAND, TREE_OPERAND_LENGTH, TREE_REALPART, TREE_TYPE, TREE_VALUE, TREE_VEC_ELT, TREE_VEC_LENGTH, tsi_end_p(), tsi_next(), tsi_start(), tsi_stmt_ptr(), TYPE_FIELDS, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_P, TYPE_SIZE, TYPE_SIZE_UNIT, constructor_elt::value, vec_safe_iterate(), VECTOR_CST_ENCODED_ELT, vector_cst_encoded_nelts(), WALK_SUBTREE, WALK_SUBTREE_TAIL, and walk_type_fields().
Referenced by walk_tree_without_duplicates_1().
|
extern |
Like walk_tree, but does not walk duplicate nodes more than once.
References walk_tree_1().
Warn about a use of an identifier which was marked deprecated. Returns whether a warning was given.
References DECL_ATTRIBUTES, DECL_NAME, DECL_P, DECL_SOURCE_LOCATION, inform(), lookup_attribute(), msg, NULL_TREE, TREE_CODE, TREE_STRING_POINTER, TREE_TYPE, TREE_VALUE, TYPE_ATTRIBUTES, TYPE_MAIN_VARIANT, TYPE_NAME, TYPE_P, TYPE_STUB_DECL, and warning().
|
extern |
Return the disposition for a warning (or all warnings by default) at a location.
Return the no-warning disposition for location LOC and option OPT or for all/any otions by default.
References gcc_checking_assert, hash_map< KeyId, Value, Traits >::get(), nowarn_map, and RESERVED_LOCATION_P.
|
extern |
Return the disposition for a warning (or all warnings by default) for an expression.
Return true if warning OPT is suppressed for decl/expression EXPR. By default tests the disposition for any warning.
References gcc_assert, get_no_warning_bit(), and get_nowarn_spec().
|
extern |
Create a constant tree with value VALUE in type TYPE.
References build_poly_int_cst(), poly_int< N, C >::coeffs, poly_int< N, C >::is_constant(), and wide_int_to_tree_1().
Referenced by add_decls_addresses_to_decl_constructor(), add_elt_to_tree(), add_iv_candidate_for_use(), addr_to_parts(), aff_combination_add_elt(), aff_combination_add_product(), aff_combination_mult(), aff_combination_scale(), aff_combination_to_tree(), analyze_and_compute_bitwise_induction_effect(), tree_vector_builder::apply_step(), bit_value_assume_aligned(), bit_value_binop(), bit_value_unop(), bitmask_inv_cst_vector_p(), build_int_cst(), build_int_cst_type(), build_int_cstu(), build_low_bits_mask(), tree_switch_conversion::switch_conversion::build_one_array(), build_replicated_int_cst(), build_vec_series(), check_access(), check_for_binary_op_overflow(), clear_padding_type(), component_ref_size(), compute_avail(), compute_distributive_range(), compute_object_offset(), compute_objsize(), compute_objsize(), const_unop(), constant_byte_string(), constant_pointer_difference(), copy_tree_body_r(), create_add_on_incoming_edge(), create_intersect_range_checks_index(), create_mul_imm_cand(), decrement_count(), derive_constant_upper_bound_ops(), div_if_zero_remainder(), double_int_to_tree(), dr_analyze_indices(), dr_analyze_innermost(), drop_tree_overflow(), tree_switch_conversion::bit_test_cluster::emit(), evaluate_stmt(), execute_update_addresses_taken(), expand_call_mem_ref(), expand_case(), expand_DEFERRED_INIT(), expand_simple_operations(), expand_vector_condition(), extract_bit_test_mask(), extract_muldiv_1(), field_byte_offset(), find_case_label_range(), find_var_cmp_const(), fold_binary_loc(), fold_const_aggregate_ref_1(), fold_const_call_1(), fold_const_call_1(), fold_indirect_ref_1(), fold_ternary_loc(), fold_truth_andor_for_ifcombine(), force_fit_type(), forward_propagate_addr_expr_1(), get_address_cost(), get_debug_computation_at(), get_legacy_range(), get_maxbound(), get_range_strlen_dynamic(), get_range_strlen_tree(), get_size_range(), get_size_range(), get_up_bounds_for_array_ref(), gimple_call_alloc_size(), gimple_divmod_fixed_value_transform(), gimple_fold_builtin_strlen(), gimple_fold_indirect_ref(), gimple_stringops_transform(), handle_printf_call(), infer_loop_bounds_from_signedness(), insert_initializers(), ipcp_get_parm_bits(), layout_type(), irange::lbound(), prange::lbound(), simplify_using_ranges::legacy_fold_cond_overflow(), loop_exits_before_overflow(), lower_bound_in_type(), lower_omp_ordered_clauses(), lto_input_tree_1(), make_tree(), maskable_range_p(), match_arith_overflow(), max_stmt_executions_tree(), maybe_canonicalize_mem_ref_addr(), maybe_optimize_mod_cmp(), maybe_optimize_pow2p_mod_cmp(), maybe_rewrite_mem_ref_base(), maybe_trim_memstar_call(), minmax_replacement(), most_expensive_mult_to_index(), move_variant_to_index(), multiple_of_p(), n_of_executions_at_most(), native_encode_initializer(), native_interpret_aggregate(), native_interpret_int(), number_of_iterations_until_wrap(), omp_reduction_init_op(), optimize_range_tests_to_bit_test(), output_constant(), overflow_comparison_p_1(), preferred_mem_scale_factor(), record_nonwrapping_iv(), reduce_to_bit_field_precision(), remap_gimple_op_r(), replace_mult_candidate(), replace_ref(), restructure_reference(), rewrite_use_nonlinear_expr(), scan_omp_1_op(), set_min_and_max_values_for_integral_type(), set_strlen_range(), set_switch_stmt_execution_predicate(), sign_mask_for(), simple_iv_with_niters(), simplify_using_ranges::simplify_div_or_mod_using_ranges(), irange::singleton_p(), prange::singleton_p(), store_constructor(), test_for_singularity(), totally_scalarize_subtree(), tree_fold_binomial(), simplify_using_ranges::two_valued_val_range_p(), irange::ubound(), prange::ubound(), ubsan_expand_vptr_ifn(), upper_bound_in_type(), valid_mem_ref_cand_p(), valueized_wider_op(), vect_check_gather_scatter(), vect_convert_input(), vect_create_nonlinear_iv_step(), vect_emulate_mixed_dot_prod(), vect_get_loop_variant_data_ptr_increment(), vect_peel_nonlinear_iv_init(), vect_recog_bit_insert_pattern(), vect_recog_bitfield_ref_pattern(), vect_recog_divmod_pattern(), vector_cst_elt(), vectorizable_load(), vectorizable_simd_clone_call(), visit_nary_op(), vn_reference_fold_indirect(), vn_reference_insert(), vn_reference_lookup(), vn_reference_maybe_forwprop_address(), and rt_bb_visited::vwordidx().
|
extern |
zerop (tree x) is nonzero if X is a constant of value 0.
Return true if EXPR is the constant zero, whether it is integral, float or fixed, and scalar, complex or vector.
References fixed_zerop(), integer_zerop(), and real_zerop().
Referenced by access_and_field_type_match_p(), asan_poison_variable(), build_asan_poison_call_expr(), ipa_get_jf_ancestor_result(), path_comparable_for_same_access(), some_nonzerop(), totally_scalarizable_type_p(), vect_analyze_slp(), and warn_uninit().
|
constexpr |
Wildcard code that refers to all warnings.
Referenced by nowarn_spec_t::nowarn_spec_t().
|
extern |
List of pointer types used to declare builtins before we have seen their real declaration. Keep the size up to date in tree.h !
Referenced by build_common_tree_nodes().
|
extern |
This is also in machmode.h
This is also in tree.h. genmodes.cc guarantees the're sorted from smallest bitsize to largest bitsize.
Referenced by build_common_tree_nodes().
|
extern |
|
constexpr |
Code that doesn't refer to any warning. Has no effect on suppression functions.
Referenced by check_bounds_or_overlap(), gimple_set_no_warning(), strlen_pass::handle_builtin_strcat(), strlen_pass::handle_builtin_strcpy(), strlen_pass::handle_builtin_stxncpy_strncat(), nowarn_spec_t::nowarn_spec_t(), suppress_warning(), suppress_warning(), and suppress_warning_at().
|
extern |