GCC Middle and Back End API Reference
|
#include "hard-reg-set.h"
#include "rtl.def"
#include "reg-notes.def"
#include "insn-notes.def"
#include "genrtl.h"
Go to the source code of this file.
Data Structures | |
struct | addr_diff_vec_flags |
class | mem_attrs |
class | reg_attrs |
union | rtunion |
struct | reg_info |
struct | block_symbol |
struct | object_block |
struct | hwivec_def |
struct | const_poly_int_def |
struct | rtx_def |
union | rtx_def::u |
struct | rtx_expr_list |
struct | rtx_insn_list |
struct | rtx_sequence |
struct | rtx_insn |
struct | rtx_debug_insn |
struct | rtx_nonjump_insn |
struct | rtx_jump_insn |
struct | rtx_call_insn |
struct | rtx_jump_table_data |
struct | rtx_barrier |
struct | rtx_code_label |
struct | rtx_note |
struct | rtvec_def |
struct | full_rtx_costs |
class | subreg_shape |
struct | address_info |
struct | wi::int_traits< rtx_mode_t > |
class | simplify_context |
struct | subreg_info |
struct | target_rtl |
struct | rtl_hooks |
struct | cgraph_rtl_info |
struct | rtx_comparison |
Namespaces | |
namespace | wi |
Typedefs | |
typedef std::pair< rtx, machine_mode > | rtx_mode_t |
typedef poly_int< NUM_POLY_INT_COEFFS, generic_wide_int< wide_int_ref_storage< false, false > > > | wi::rtx_to_poly_wide_ref |
typedef bool(* | rtx_equal_p_callback_function) (const_rtx *, const_rtx *, rtx *, rtx *) |
typedef int(* | for_each_inc_dec_fn) (rtx mem, rtx op, rtx dest, rtx src, rtx srcoff, void *arg) |
typedef bool(* | hash_rtx_callback_function) (const_rtx, machine_mode, rtx *, machine_mode *) |
Enumerations | |
enum | rtx_code : unsigned { LAST_AND_UNUSED_RTX_CODE } |
enum | rtx_class { RTX_COMPARE , RTX_COMM_COMPARE , RTX_BIN_ARITH , RTX_COMM_ARITH , RTX_UNARY , RTX_EXTRA , RTX_MATCH , RTX_INSN , RTX_OBJ , RTX_CONST_OBJ , RTX_TERNARY , RTX_BITFIELD_OPS , RTX_AUTOINC } |
enum | reg_note { REG_NOTE_MAX } |
enum | insn_note { NOTE_INSN_MAX } |
enum | label_kind { LABEL_NORMAL = 0 , LABEL_STATIC_ENTRY , LABEL_GLOBAL_ENTRY , LABEL_WEAK_ENTRY } |
enum | global_rtl_index { GR_STACK_POINTER , GR_FRAME_POINTER , GR_ARG_POINTER = GR_FRAME_POINTER , GR_HARD_FRAME_POINTER = GR_FRAME_POINTER , GR_VIRTUAL_INCOMING_ARGS , GR_VIRTUAL_STACK_ARGS , GR_VIRTUAL_STACK_DYNAMIC , GR_VIRTUAL_OUTGOING_ARGS , GR_VIRTUAL_CFA , GR_VIRTUAL_PREFERRED_STACK_BOUNDARY , GR_MAX } |
enum | memop_ret { RETURN_BEGIN , RETURN_END , RETURN_END_MINUS_ONE } |
enum | libcall_type { LCT_NORMAL = 0 , LCT_CONST = 1 , LCT_PURE = 2 , LCT_NORETURN = 3 , LCT_THROW = 4 , LCT_RETURNS_TWICE = 5 } |
#define ADDR_DIFF_VEC_FLAGS | ( | RTX | ) |
In an ADDR_DIFF_VEC, the flags for RTX for use by branch shortening. See the comments for ADDR_DIFF_VEC in rtl.def.
Referenced by shorten_branches().
#define alloca_raw_REG | ( | mode, | |
regno ) |
Referenced by can_vec_extract_var_idx_p(), can_vec_set_var_idx_p(), and insn_predicate_matches_p().
#define ANY_RETURN_P | ( | X | ) |
Predicate yielding nonzero iff X is a return or simple_return.
Referenced by bb_is_just_return(), classify_insn(), condjump_in_parallel_p(), condjump_p(), dbr_schedule(), duplicate_insn_chain(), fill_simple_delay_slots(), fill_slots_from_thread(), first_active_target_insn(), follow_jumps(), get_branch_condition(), get_jump_flags(), jump_to_label_p(), make_return_insns(), mark_target_live_regs(), optimize_skip(), own_thread_p(), redirect_exp_1(), redirect_jump_2(), redirect_target(), relax_delay_slots(), reload_combine(), return_insn_p(), set_return_jump_label(), simplejump_or_return_p(), simplify_set(), skip_consecutive_labels(), and tablejump_p().
#define arg_pointer_rtx (global_rtl[GR_ARG_POINTER]) |
Referenced by add_stores(), based_loc_descr(), compute_frame_pointer_to_fb_displacement(), const_or_frame_p(), expand_expr_real_2(), expand_function_start(), find_base_value(), find_reloads_address(), fixed_base_plus_p(), function_invariant_p(), gen_rtx_REG(), get_group_info(), hash_rtx(), init_eliminable_invariants(), init_emit(), init_emit_regs(), instantiate_new_reg(), lookup_global_register(), mem_loc_descriptor(), nonzero_address_p(), nonzero_bits1(), reg_loc_descriptor(), rtx_addr_can_trap_p_1(), rtx_unstable_p(), rtx_varies_p(), setup_reg_equiv(), simplify_context::simplify_plus_minus(), vt_add_function_parameter(), vt_init_cfa_base(), and vt_initialize().
#define ARITHMETIC_P | ( | X | ) |
1 if X is an arithmetic operator.
Referenced by distribute_and_simplify_rtx(), force_operand(), get_last_value_validate(), noce_can_force_operand(), nonzero_bits_binary_arith_p(), num_sign_bit_copies_binary_arith_p(), record_value_for_reg(), and update_table_tick().
#define ASM_INPUT_SOURCE_LOCATION | ( | RTX | ) |
Referenced by decode_asm_operands(), final_scan_insn_1(), and rtx_writer::print_rtx_operand_code_i().
#define ASM_OPERANDS_INPUT | ( | RTX, | |
N ) |
Referenced by insn_propagation::apply_to_pattern_1(), canon_asm_operands(), count_reg_usage(), decode_asm_operands(), df_uses_record(), exp_equiv_p(), expand_asm_stmt(), fold_rtx(), hash_rtx(), mark_jump_label_asm(), mark_referenced_resources(), mark_set_resources(), note_uses(), reg_referenced_p(), and rtx_properties::try_to_add_pattern().
#define ASM_OPERANDS_INPUT_CONSTRAINT | ( | RTX, | |
N ) |
Referenced by decode_asm_operands(), exp_equiv_p(), hash_rtx(), and match_asm_constraints_1().
#define ASM_OPERANDS_INPUT_CONSTRAINT_EXP | ( | RTX, | |
N ) |
Referenced by expand_asm_stmt().
#define ASM_OPERANDS_INPUT_CONSTRAINT_VEC | ( | RTX | ) |
Referenced by adjust_insn(), copy_insn_1(), and instantiate_virtual_regs_in_insn().
#define ASM_OPERANDS_INPUT_LENGTH | ( | RTX | ) |
Referenced by insn_propagation::apply_to_pattern_1(), asm_noperands(), canon_asm_operands(), count_reg_usage(), decode_asm_operands(), df_uses_record(), exp_equiv_p(), fold_rtx(), hash_rtx(), mark_jump_label_asm(), mark_referenced_resources(), mark_set_resources(), match_asm_constraints_1(), note_uses(), reg_referenced_p(), and rtx_properties::try_to_add_pattern().
#define ASM_OPERANDS_INPUT_MODE | ( | RTX, | |
N ) |
Referenced by decode_asm_operands().
#define ASM_OPERANDS_INPUT_VEC | ( | RTX | ) |
Referenced by adjust_insn(), asm_noperands(), copy_insn_1(), instantiate_virtual_regs_in_insn(), match_asm_constraints_1(), and validate_replace_rtx_1().
#define ASM_OPERANDS_LABEL | ( | RTX, | |
N ) |
#define ASM_OPERANDS_LABEL_LENGTH | ( | RTX | ) |
Referenced by asm_labels_ok(), asm_noperands(), classify_insn(), create_trace_edges(), decode_asm_operands(), force_nonfallthru_and_redirect(), make_edges(), mark_jump_label_asm(), patch_jump_insn(), and redirect_jump_1().
#define ASM_OPERANDS_LABEL_VEC | ( | RTX | ) |
Referenced by adjust_insn(), and ira_nullify_asm_goto().
#define ASM_OPERANDS_OUTPUT_CONSTRAINT | ( | RTX | ) |
Referenced by decode_asm_operands(), exp_equiv_p(), expand_asm_stmt(), hash_rtx(), instantiate_virtual_regs_in_insn(), and match_asm_constraints_1().
#define ASM_OPERANDS_OUTPUT_IDX | ( | RTX | ) |
Referenced by adjust_insn(), adjust_mems(), exp_equiv_p(), hash_rtx(), and instantiate_virtual_regs_in_insn().
#define ASM_OPERANDS_SOURCE_LOCATION | ( | RTX | ) |
Referenced by decode_asm_operands(), ira_nullify_asm_goto(), location_for_asm(), and rtx_writer::print_rtx_operand_code_i().
#define ASM_OPERANDS_TEMPLATE | ( | RTX | ) |
Access various components of an ASM_OPERANDS rtx.
Referenced by decode_asm_operands(), exp_equiv_p(), expand_asm_stmt(), hash_rtx(), and instantiate_virtual_regs_in_insn().
#define AUTO_INC_DEC 0 |
Indicate whether the machine has any sort of auto increment addressing. If not, we can avoid checking for REG_INC notes.
Referenced by asm_operand_ok(), calculate_loop_reg_pressure(), can_combine_p(), combine_instructions(), constrain_operands(), delete_output_reload(), emit_input_reload_insns(), peep2_attempt(), reg_inc_found_and_valid_p(), reload(), resolve_simple_move(), scan_rtx_address(), try_combine(), try_split(), update_auto_inc_notes(), and update_inc_notes().
#define BARRIER_P | ( | X | ) |
Predicate yielding nonzero iff X is a barrier insn.
Referenced by add_insn_after(), add_insn_before(), build_insn_chain(), cfg_layout_delete_block(), cleanup_barriers(), clear_hashed_info_until_next_barrier(), create_pseudo_cfg(), delete_from_delay_slot(), delete_related_insns(), duplicate_insn_chain(), emit_barrier_after_bb(), emit_insn_after_1(), emit_note_after(), emit_note_before(), emit_to_new_bb_before(), expand_function_end(), expand_gimple_basic_block(), expand_gimple_cond(), expand_gimple_tailcall(), find_basic_block(), find_bb_boundaries(), find_end_label(), fix_crossing_unconditional_branches(), fixup_abnormal_edges(), follow_jumps(), free_bb_for_insn(), get_last_bb_insn(), maybe_cleanup_end_of_block(), merge_blocks_move_predecessor_nojumps(), merge_blocks_move_successor_nojumps(), merge_if_block(), own_thread_p(), print_rtl_with_bb(), rtx_writer::print_rtx_operand_code_u(), redundant_insn(), relax_delay_slots(), reload_combine(), remove_barriers_from_footer(), remove_insn(), reorder_insns(), rtl_merge_blocks(), rtl_split_edge(), rtl_verify_bb_insn_chain(), rtl_verify_bb_layout(), rtl_verify_bb_pointers(), rtl_verify_fallthru(), scan_trace(), set_label_offsets(), shorten_branches(), skip_consecutive_labels(), is_a_helper< T >::test(), is_a_helper< T >::test(), try_optimize_cfg(), try_redirect_by_replacing_jump(), update_bb_for_insn_chain(), and update_cfg_for_uncondjump().
#define BINARY_P | ( | X | ) |
1 if X is a binary operator.
Referenced by combine_simplify_rtx(), contains_muldiv(), ext_dce_process_uses(), find_split_point(), if_then_else_cond(), simplify_context::simplify_merge_mask(), and try_combine().
#define BLOCK_SYMBOL_CHECK | ( | RTX | ) |
#define CALL_INSN_FUNCTION_USAGE | ( | INSN | ) |
This field is only present on CALL_INSNs. It holds a chain of EXPR_LIST of USE, CLOBBER and SET expressions. USE expressions list the registers filled with arguments that are passed to the function. CLOBBER expressions document the registers explicitly clobbered by this CALL_INSN. SET expressions say that the return value of the call (the SET_DEST) is equivalent to a value available before the call (the SET_SRC). This kind of SET is used when the return value is predictable in advance. It is purely an optimisation hint; unlike USEs and CLOBBERs, it does not affect register liveness. Pseudo registers cannot be mentioned in this list.
Referenced by add_function_usage_to(), build_def_use(), canonicalize_insn(), copyprop_hardreg_forward_1(), count_reg_usage(), cse_insn(), cselib_process_insn(), delete_output_reload(), df_get_call_refs(), emit_call_1(), emit_copy_of_insn_after(), ext_dce_process_bb(), find_call_crossed_cheap_reg(), find_call_stack_args(), find_equiv_reg(), find_first_parameter_load(), find_reg_fusage(), find_regno_fusage(), get_call_args(), insert_one_insn(), instantiate_virtual_regs(), invalidate_from_sets_and_clobbers(), lra_set_insn_recog_data(), lra_update_insn_regno_info(), make_call_insn_raw(), mark_referenced_resources(), mark_set_resources(), note_stores(), old_insns_match_p(), peep2_attempt(), prepare_call_arguments(), reload(), reload_combine(), reset_insn_used_flags(), scan_insn(), spill_pseudos(), try_combine(), try_split(), rtx_properties::try_to_add_insn(), unshare_all_rtl_again(), unshare_all_rtl_in_chain(), and verify_insn_sharing().
#define CALL_P | ( | X | ) |
Predicate yielding nonzero iff X is a call insn.
Referenced by active_insn_p(), add_function_usage_to(), add_with_sets(), asan_clear_shadow(), block_jumps_and_fallthru(), build_def_use(), calculate_gen_cands(), call_from_call_insn(), can_combine_p(), can_delete_call(), can_move_insns_across(), can_nonlocal_goto(), canonicalize_insn(), cheap_bb_rtx_cost_p(), collect_fn_hard_reg_usage(), combine_reload_insn(), combine_stack_adjustments_for_block(), compute_hash_table_work(), cond_exec_process_insns(), contains_call_div_mod(), copyprop_hardreg_forward_1(), create_trace_edges(), cse_insn(), cselib_process_insn(), curr_insn_transform(), dead_or_set_regno_p(), decrease_live_ranges_number(), default_invalid_within_doloop(), deletable_insn_p(), delete_output_reload(), delete_prior_computation(), df_insn_refs_collect(), df_note_bb_compute(), df_scan_start_dump(), df_update_entry_exit_and_calls(), distribute_links(), distribute_notes(), do_remat(), emit_libcall_block_1(), emit_library_call_value_1(), expand_builtin_apply(), expand_builtin_longjmp(), expand_builtin_nonlocal_goto(), expand_call(), expand_call_stmt(), expand_doubleword_divmod(), expand_doubleword_mod(), expand_function_end(), expand_gimple_tailcall(), ext_dce_process_bb(), ext_dce_process_sets(), fill_simple_delay_slots(), final_scan_insn_1(), find_active_insn_after(), find_active_insn_before(), find_all_hard_reg_sets(), find_args_size_adjust(), find_call_stack_args(), find_equiv_reg(), find_exits(), find_first_parameter_load(), find_invariants_bb(), find_reg_fusage(), find_regno_fusage(), find_reloads(), finish_eh_generation(), fixup_abnormal_edges(), fixup_args_size_notes(), force_move_args_size_note(), if_test_bypass_p(), inherit_in_ebb(), insert_insn_end_basic_block(), insert_one_insn(), insert_prologue_epilogue_for_components(), insn_callee_abi(), insn_could_throw_p(), instantiate_virtual_regs(), invalidate_from_sets_and_clobbers(), last_call_insn(), leaf_function_p(), load_killed_in_block_p(), load_killed_in_block_p(), load_modified_by_store_p(), lra_set_insn_recog_data(), lra_update_insn_regno_info(), mark_insn(), mark_target_live_regs(), mark_transaction_restart_calls(), memory_modified_in_insn_p(), memref_used_between_p(), merge_if_block(), need_fake_edge_p(), next_insn_no_annul(), no_conflict_move_test(), noce_convert_multiple_sets(), note_stores(), old_insns_match_p(), operand_to_remat(), outgoing_edges_match(), peep2_attempt(), rtx_writer::print_rtx_operand_code_e(), process_bb_lives(), process_bb_node_lives(), prune_expressions(), purge_dead_edges(), function_reader::read_rtx_operand(), record_dead_and_set_regs(), record_last_mem_set_info_common(), record_opr_changes(), record_out_operands(), redundant_insn(), reg_set_p(), reg_used_between_p(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), reload(), reload_as_needed(), reload_combine(), reload_cse_move2add_invalidate(), reload_cse_simplify(), requires_stack_frame_p(), reset_insn_used_flags(), rest_of_clean_state(), rtl_block_ends_with_call_p(), rtl_flow_call_edges_add(), rtl_make_eh_edge(), rtl_verify_edges(), scan_insn(), set_bb_regs(), set_nothrow_function_flags(), setup_save_areas(), simplify_using_initial_values(), sjlj_mark_call_sites(), spill_pseudos(), split_live_ranges_for_shrink_wrap(), store_killed_in_insn(), is_a_helper< T >::test(), is_a_helper< T >::test(), thread_prologue_and_epilogue_insns(), try_combine(), try_split(), rtx_properties::try_to_add_insn(), unshare_all_rtl_again(), unshare_all_rtl_in_chain(), update_equiv_regs_prescan(), validate_equiv_mem(), verify_insn_sharing(), and vt_initialize().
#define can_create_pseudo_p | ( | ) |
This macro indicates whether you may create a new pseudo-register.
Referenced by canonicalize_comparison(), emit_conditional_move(), gen_reg_rtx(), and prepare_cmp_insn().
#define CASE_CONST_ANY |
Match all CONST_* rtxes.
Referenced by canon_reg(), check_maybe_invariant(), cleanup_auto_inc_dec(), clear_struct_flag(), compute_transp(), computed_jump_p_1(), copy_insn_1(), copy_rtx(), copy_rtx_if_shared_1(), count_occurrences(), count_reg_usage(), cselib_expand_value_rtx_1(), cselib_subst_to_values(), df_uses_record(), eliminate_regs_1(), elimination_effects(), equiv_init_varies_p(), find_single_use_1(), fold_rtx(), hash_invariant_expr_1(), invariant_expr_equal_p(), lra_eliminate_regs_1(), mark_referenced_resources(), mark_set_resources(), mark_used_flags(), mark_used_regs_combine(), may_trap_p_1(), memref_referenced_p(), modified_between_p(), modified_in_p(), oprs_unchanged_p(), oprs_unchanged_p(), reg_mentioned_p(), reg_scan_mark_refs(), rtx_moveable_p(), rtx_unstable_p(), rtx_varies_p(), scan_paradoxical_subregs(), scan_rtx(), shallow_copy_rtx(), side_effects_p(), subst_reg_equivs(), verify_rtx_sharing(), volatile_insn_p(), volatile_refs_p(), and want_to_gcse_p().
#define CASE_CONST_SCALAR_INT |
Match CONST_*s that can represent compile-time constant integers.
Referenced by convert_memory_address_addr_space_1(), plus_constant(), and simplify_context::simplify_plus_minus().
#define CASE_CONST_UNIQUE |
Match CONST_*s for which pointer equality corresponds to value equality.
Referenced by exp_equiv_p(), operands_match_p(), operands_match_p(), rtvec_all_equal_p(), rtx_equal_for_cselib_1(), rtx_equal_for_memref_p(), rtx_equal_p(), rtx_renumbered_equal_p(), and uses_rtx_reuse_p().
#define CODE_LABEL_NUMBER | ( | INSN | ) |
The label-number of a code-label. The assembler label is made from `L' and the label-number printed in decimal. Label numbers are unique in a compilation.
Referenced by add_high_low_attributes(), compare_constant(), const_hash_1(), const_rtx_hash_1(), cselib_hash_rtx(), delete_vta_debug_insn(), dw2_output_call_site_table(), final_scan_insn_1(), hash_rtx(), label_to_alignment(), maybe_set_first_label_num(), maybe_set_max_label_num(), output_addr_const(), output_asm_label(), rest_of_clean_state(), set_label_offsets(), and set_offsets_for_label().
#define COMMUTATIVE_ARITH_P | ( | X | ) |
1 if X is an arithmetic operator.
Referenced by apply_distributive_law(), combine_simplify_rtx(), known_cond(), maybe_swap_commutative_operands(), noce_bbs_ok_for_cond_zero_arith(), and simplify_while_replacing().
#define COMMUTATIVE_P | ( | X | ) |
1 if X is a commutative operator on integers.
Referenced by canonicalize_change_group(), cselib_hash_rtx(), hook_bool_const_rtx_commutative_p(), and rtx_equal_for_memref_p().
#define COMPARISON_P | ( | X | ) |
1 if X is a relational operator.
Referenced by bb_estimate_probability_locally(), canonicalize_condition(), combine_simplify_rtx(), comparison_operator(), emit_conditional_add(), emit_conditional_move(), emit_conditional_move_1(), expand_compound_operation(), find_comparison_args(), find_flags_uses_in_insn(), gen_lowpart_for_combine(), if_then_else_cond(), iv_number_of_iterations(), known_cond(), make_compound_operation(), mention_regs(), reversed_comparison_code(), simplify_context::simplify_binary_operation_1(), simplify_comparison(), simplify_if_then_else(), simplify_context::simplify_logical_relational_operation(), simplify_context::simplify_merge_mask(), simplify_context::simplify_relational_operation_1(), simplify_set(), simplify_context::simplify_subreg(), simplify_context::simplify_ternary_operation(), simplify_context::simplify_unary_operation_1(), simplify_using_condition(), and try_combine().
#define COND_EXEC_CODE | ( | RTX | ) |
Referenced by adjust_insn(), insn_propagation::apply_to_pattern_1(), call_from_call_insn(), cond_exec_process_insns(), cselib_record_sets(), dead_or_set_regno_p(), df_defs_record(), df_find_hard_reg_defs(), find_equiv_reg(), noop_move_p(), note_pattern_stores(), note_uses(), print_pattern(), reg_referenced_p(), and rtx_properties::try_to_add_pattern().
#define COND_EXEC_TEST | ( | RTX | ) |
For a COND_EXEC rtx, COND_EXEC_TEST is the condition to base conditionally executing the code on, COND_EXEC_CODE is the code to execute if the condition is true.
Referenced by insn_propagation::apply_to_pattern_1(), cond_exec_process_insns(), cselib_record_sets(), final_scan_insn_1(), note_uses(), print_pattern(), reg_referenced_p(), and rtx_properties::try_to_add_pattern().
#define CONST0_RTX | ( | MODE | ) |
Returns a constant 0 rtx in mode MODE. Integer modes are treated the same as VOIDmode.
Referenced by anti_adjust_stack_and_probe_stack_clash(), canonicalize_condition(), clear_storage_hints(), combine_simplify_rtx(), compute_costs(), compute_stack_clash_protection_loop_data(), const_vec_series_p_1(), const_vector_from_tree(), const_vector_mask_from_tree(), copy_blkmode_to_reg(), default_zero_call_used_regs(), do_compare_rtx_and_jump(), do_jump(), emit_cmp_and_jump_insns(), emit_group_store(), expand_abs(), expand_binop(), expand_doubleword_clz_ctz_ffs(), expand_doubleword_shift(), expand_expr_real(), expand_ffs(), expand_mult(), expand_mult_const(), expand_one_ssa_partition(), expand_sjlj_dispatch_table(), expand_superword_shift(), expand_unop(), expand_vec_perm_const(), expand_widening_mult(), rtx_vector_builder::find_cached_value(), find_comparison_args(), fold_rtx(), initialize_uninitialized_regs(), inline_string_cmp(), insert_var_expansion_initialization(), known_cond(), noce_try_abs(), relational_result(), resolve_shift_zext(), resolve_simple_move(), simplify_context::simplify_binary_operation_1(), simplify_const_relational_operation(), simplify_gen_subreg_concatn(), simplify_context::simplify_relational_operation_1(), simplify_set(), simplify_context::simplify_subreg(), store_constructor(), and try_merge_compare().
#define const0_rtx (const_int_rtx[MAX_SAVED_CONST_INT]) |
Referenced by addr_for_mem_ref(), adjust_stack(), allocate_dynamic_stack_space(), analyze_iv_to_split_insn(), anti_adjust_stack(), anti_adjust_stack_and_probe(), asan_clear_shadow(), asan_emit_stack_protection(), assemble_zeros(), assign_parm_find_entry_rtl(), assign_parm_find_stack_rtl(), assign_parms(), autoinc_split(), base_to_reg(), bb_estimate_probability_locally(), find_comparison_dom_walker::before_dom_children(), biv_p(), bswap_loc_descriptor(), builtin_strncpy_read_str(), can_assign_to_reg_without_clobbers_p(), can_compare_p(), canonicalize_iv_subregs(), carry_backpropagate(), ceil_sdiv_adjust(), ceil_udiv_adjust(), choose_reload_regs(), clear_storage_hints(), clz_loc_descriptor(), combine_simplify_rtx(), compare_by_pieces(), comparison_result(), convert_mode_scalar(), cselib_record_sets(), cselib_subst_to_values(), decompose(), default_expand_builtin_saveregs(), do_compare_rtx_and_jump(), do_jump_by_parts_equality_rtx(), do_jump_by_parts_greater_rtx(), do_jump_by_parts_zero_rtx(), do_store_flag(), doloop_condition_get(), doloop_modify(), dump_iv_info(), dw2_asm_output_encoded_addr_rtx(), dw2_asm_output_nstring(), dw2_assemble_integer(), eliminate_constant_term(), eliminate_implied_condition(), eliminate_regs_1(), emit_block_cmp_hints(), emit_block_cmp_via_loop(), emit_block_move_via_loop(), emit_call_1(), emit_case_dispatch_table(), emit_conditional_add(), emit_conditional_move(), emit_libcall_block_1(), emit_stack_probe(), emit_store_flag(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), expand_addsub_overflow(), expand_arith_overflow(), expand_assignment(), expand_atomic_compare_and_swap(), expand_atomic_fetch_op(), expand_atomic_fetch_op_no_fallback(), expand_atomic_load(), expand_atomic_store(), expand_atomic_test_and_set(), expand_binop(), expand_builtin(), expand_builtin_apply(), expand_builtin_assume_aligned(), expand_builtin_atomic_always_lock_free(), expand_builtin_atomic_clear(), expand_builtin_atomic_compare_exchange(), expand_builtin_bzero(), expand_builtin_compare_and_swap(), expand_builtin_eh_copy_values(), expand_BUILTIN_EXPECT(), expand_builtin_expect(), expand_builtin_expect_with_probability(), expand_builtin_frame_address(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_init_descriptor(), expand_builtin_init_trampoline(), expand_builtin_int_roundingfn_2(), expand_builtin_issignaling(), expand_builtin_longjmp(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), expand_builtin_memory_chk(), expand_builtin_memory_copy_args(), expand_builtin_memset_args(), expand_builtin_nonlocal_goto(), expand_builtin_object_size(), expand_builtin_prefetch(), expand_builtin_sincos(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strlen(), expand_builtin_strncmp(), expand_builtin_strub_enter(), expand_builtin_strub_leave(), expand_builtin_strub_update(), expand_builtin_sync_lock_release(), expand_builtin_thread_pointer(), expand_builtin_va_copy(), expand_builtin_va_end(), expand_builtin_va_start(), expand_call(), expand_call_stmt(), expand_ccmp_expr(), expand_compare_and_swap_loop(), expand_cond_expr_using_cmove(), expand_copysign_absneg(), expand_debug_expr(), expand_divmod(), expand_doubleword_clz_ctz_ffs(), expand_doubleword_shift(), expand_eh_return(), expand_expr_real(), expand_expr_real_1(), expand_expr_real_2(), expand_float(), expand_gimple_basic_block(), expand_GOACC_DIM_POS(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_op_fetch_cmp_0(), expand_movstr(), expand_mul_overflow(), expand_neg_overflow(), expand_one_error_var(), expand_POPCOUNT(), expand_return(), expand_sdiv_pow2(), expand_shift_1(), expand_single_bit_test(), expand_smod_pow2(), expand_speculation_safe_value(), expand_subword_shift(), expand_UNIQUE(), expand_vec_perm_const(), expand_vector_ubsan_overflow(), extract_integral_bit_field(), rtx_vector_builder::find_cached_value(), find_comparison_args(), find_dummy_reload(), find_flags_uses_in_insn(), find_moveable_pseudos(), find_reloads(), find_split_point(), compare_by_pieces_d::finish_mode(), floor_sdiv_adjust(), fold_rtx(), force_int_to_mode(), force_move_args_size_note(), force_to_mode(), gen_addr_rtx(), gen_lowpart_for_combine(), gen_vec_series(), compare_by_pieces_d::generate(), get_biv_step(), get_biv_step_1(), get_iv_value(), get_last_value_validate(), get_stored_val(), if_then_else_cond(), implies_p(), init_emit_once(), init_expmed(), init_lower_subreg(), inline_expand_builtin_bytecmp(), internal_arg_pointer_based_exp(), is_parallel_of_n_reg_sets(), iv_add(), iv_constant(), iv_extend(), iv_number_of_iterations(), iv_subreg(), known_cond(), lra_asm_insn_error(), lra_substitute_pseudo(), make_compound_operation(), make_extraction(), make_field_assignment(), make_reg_eh_region_note(), may_trap_p_1(), maybe_emit_op(), maybe_legitimize_operand(), maybe_optimize_fetch_op(), memory_address_addr_space(), memrefs_conflict_p(), move2add_note_store(), move2add_use_add2_insn(), move2add_use_add3_insn(), noce_bbs_ok_for_cond_zero_arith(), noce_emit_cmove(), noce_emit_czero(), noce_try_bitop(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_mask(), operand_subword(), output_ttype(), plus_constant(), popcount_loc_descriptor(), prepare_call_address(), prepare_cmp_insn(), prepare_float_lib_cmp(), print_pattern(), probe_stack_range(), profile_function(), push_reload(), recog_for_combine_1(), record_store(), record_value_for_reg(), relational_result(), reload_combine_note_use(), reload_combine_recognize_pattern(), reload_cse_move2add(), reload_reg_free_for_value_p(), round_sdiv_adjust(), round_udiv_adjust(), rtl_flow_call_edges_add(), rtl_for_decl_location(), scratch_equal(), set_noop_p(), setup_incoming_promotions(), shorten_into_mode(), simplify_and_const_int_1(), simplify_context::simplify_binary_operation_1(), simplify_context::simplify_binary_operation_series(), simplify_comparison(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_if_then_else(), simplify_context::simplify_relational_operation(), simplify_context::simplify_relational_operation_1(), simplify_set(), simplify_shift_const_1(), simplify_context::simplify_ternary_operation(), simplify_context::simplify_unary_operation_1(), simplify_using_condition(), simplify_using_initial_values(), simplify_while_replacing(), sjlj_emit_function_enter(), split_const(), split_double(), stack_protect_epilogue(), stack_protect_prologue(), store_expr(), store_field(), store_split_bit_field(), store_unaligned_arguments_into_pseudos(), string_cst_read_str(), strip_offset(), subst(), try_combine(), try_merge_compare(), and unroll_loop_runtime_iterations().
#define CONST1_RTX | ( | MODE | ) |
Likewise, for the constants 1 and 2 and -1.
Referenced by expand_mult(), expand_sjlj_dispatch_table(), rtx_vector_builder::find_cached_value(), insert_var_expansion_initialization(), relational_result(), simplify_context::simplify_binary_operation_1(), and simplify_context::simplify_unary_operation_1().
#define const1_rtx (const_int_rtx[MAX_SAVED_CONST_INT+1]) |
Referenced by bb_estimate_probability_locally(), canonicalize_iv_subregs(), carry_backpropagate(), ceil_sdiv_adjust(), ceil_udiv_adjust(), clz_loc_descriptor(), combine_simplify_rtx(), compare_by_pieces(), control_flow_insn_p(), convert_mode_scalar(), doloop_condition_get(), doloop_modify(), doloop_simplify_count(), dump_iv_info(), dw2_asm_output_encoded_addr_rtx(), emit_block_cmp_via_loop(), emit_conditional_add(), emit_conditional_move(), emit_cstore(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), expand_arith_set_overflow(), expand_atomic_test_and_set(), expand_builtin(), expand_builtin_atomic_always_lock_free(), expand_builtin_atomic_is_lock_free(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_longjmp(), expand_builtin_memory_copy_args(), expand_builtin_signbit(), expand_clrsb_using_clz(), expand_divmod(), expand_doubleword_divmod(), expand_eh_return(), expand_expr_real_2(), expand_float(), expand_ifn_atomic_bit_test_and(), expand_mul_overflow(), expand_parity(), expand_POPCOUNT(), expand_single_bit_test(), expand_smod_pow2(), expand_subword_shift(), expand_sync_lock_test_and_set(), rtx_vector_builder::find_cached_value(), implies_p(), init_emit_once(), ira(), iv_analyze_biv(), iv_constant(), iv_extend(), iv_number_of_iterations(), iv_subreg(), local_cprop_pass(), lra_final_code_change(), lshift_cheap_p(), make_field_assignment(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), one_cprop_pass(), optimize_bitfield_assignment_op(), popcount_loc_descriptor(), prefer_and_bit_test(), prepare_cmp_insn(), prepare_float_lib_cmp(), relational_result(), round_sdiv_adjust(), round_udiv_adjust(), simplify_context::simplify_binary_operation_1(), simplify_comparison(), simplify_context::simplify_relational_operation_1(), simplify_context::simplify_unary_operation_1(), try_combine(), and unroll_loop_runtime_iterations().
#define CONST2_RTX | ( | MODE | ) |
#define const2_rtx (const_int_rtx[MAX_SAVED_CONST_INT+2]) |
Referenced by expand_POPCOUNT().
#define CONST_DOUBLE_AS_FLOAT_P | ( | X | ) |
Predicate yielding true iff X is an rtx for a double-int.
Referenced by avoid_constant_pool_reference(), expand_copysign(), expand_copysign_absneg(), expand_mult(), find_equiv_reg(), gen_lowpart_common(), implicit_set_cond_p(), loc_descriptor(), output_constant_pool_2(), rtx_writer::print_rtx(), simplify_context::simplify_binary_operation_1(), simplify_const_binary_operation(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_context::simplify_gen_subreg(), simplify_context::simplify_subreg(), simplify_context::simplify_unary_operation_1(), and valid_for_const_vector_p().
#define CONST_DOUBLE_AS_INT_P | ( | X | ) |
Predicate yielding true iff X is an rtx for a double-int.
Referenced by expand_mult(), mode_signbit_p(), output_addr_const(), and rtx_to_double_int().
#define CONST_DOUBLE_HIGH | ( | r | ) |
#define CONST_DOUBLE_LOW | ( | r | ) |
For a CONST_DOUBLE: #if TARGET_SUPPORTS_WIDE_INT == 0 For a VOIDmode, there are two integers CONST_DOUBLE_LOW is the low-order word and ..._HIGH the high-order. #endif For a float, there is a REAL_VALUE_TYPE structure, and CONST_DOUBLE_REAL_VALUE(r) is a pointer to it.
Referenced by add_const_value_attribute(), const_rtx_hash_1(), cselib_hash_rtx(), wi::int_traits< rtx_mode_t >::decompose(), const_double_hasher::equal(), const_double_hasher::hash(), hash_rtx(), immed_double_const(), make_tree(), mode_signbit_p(), output_addr_const(), print_value(), rtx_to_double_int(), and split_double().
#define CONST_DOUBLE_P | ( | X | ) |
Predicate yielding true iff X is an rtx for a double-int or floating point constant.
Referenced by const_double_operand(), constant_pool_constant_p(), native_encode_rtx(), and split_double().
#define CONST_DOUBLE_REAL_VALUE | ( | r | ) |
Referenced by avoid_constant_pool_reference(), compress_float_constant(), const_rtx_hash_1(), cselib_hash_rtx(), const_double_hasher::equal(), expand_copysign(), expand_mult(), gen_exp(), const_double_hasher::hash(), hash_rtx(), implicit_set_cond_p(), insert_float(), make_tree(), native_encode_rtx(), output_constant_pool_2(), rtx_writer::print_rtx(), print_value(), simplify_context::simplify_binary_operation_1(), simplify_const_binary_operation(), simplify_const_relational_operation(), simplify_const_unary_operation(), and split_double().
#define CONST_FIXED_P | ( | X | ) |
Predicate yielding nonzero iff X is an rtx for a constant fixed-point.
Referenced by simplify_const_binary_operation(), simplify_context::simplify_gen_subreg(), simplify_context::simplify_subreg(), and valid_for_const_vector_p().
#define CONST_FIXED_VALUE | ( | r | ) |
Referenced by const_rtx_hash_1(), cselib_hash_rtx(), const_fixed_hasher::equal(), const_fixed_hasher::hash(), hash_rtx(), and print_value().
#define CONST_FIXED_VALUE_HIGH | ( | r | ) |
Referenced by native_encode_rtx().
#define CONST_FIXED_VALUE_LOW | ( | r | ) |
Referenced by native_encode_rtx(), and output_addr_const().
#define CONST_INT_P | ( | X | ) |
Predicate yielding nonzero iff X is an rtx for a constant integer.
Referenced by allocate_dynamic_stack_space(), anti_adjust_stack_and_probe(), anti_adjust_stack_and_probe_stack_clash(), asm_operand_ok(), autoinc_split(), avoid_expensive_constant(), base_alias_check(), can_replace_by(), canonicalize_address(), canonicalize_address_mult(), canonicalize_condition(), canonicalize_reload_addr(), carry_backpropagate(), change_zero_ext(), clear_storage_hints(), combine_simplify_rtx(), combine_stack_adjustments_for_block(), compute_stack_clash_protection_loop_data(), const_double_operand(), const_int_operand(), contains_muldiv(), convert_debug_memory_address(), convert_memory_address_addr_space_1(), cse_insn(), cselib_expand_value_rtx_1(), cselib_hash_plus_const_int(), cselib_hash_rtx(), cselib_record_sp_cfa_base_equiv(), cselib_reset_table(), cselib_sp_derived_value_p(), cselib_subst_to_values(), curr_insn_transform(), decl_piece_bitsize(), decompose(), default_elf_select_rtx_section(), delete_address_reloads(), determine_block_size(), determine_max_iter(), do_SUBST(), doloop_condition_get(), dw2_assemble_integer(), dwarf2out_frame_debug_expr(), eliminate_constant_term(), eliminate_regs_1(), eliminate_regs_in_insn(), elimination_costs_in_insn(), elimination_effects(), emit_block_cmp_hints(), emit_block_cmp_via_loop(), emit_block_move_hints(), emit_block_move_via_oriented_loop(), emit_block_move_via_pattern(), emit_block_move_via_sized_loop(), emit_push_insn(), expand_binop(), expand_builtin_apply(), expand_builtin_memcmp(), expand_builtin_memory_copy_args(), expand_builtin_stpcpy_1(), expand_compound_operation(), expand_debug_expr(), expand_debug_parm_decl(), expand_DIVMOD(), expand_divmod(), expand_doubleword_shift(), expand_expr_real_2(), expand_field_assignment(), expand_mult(), expand_shift_1(), expand_widening_mult(), ext_dce_process_sets(), extract_left_shift(), fill_slots_from_thread(), find_address(), find_base_term(), find_base_value(), find_decomposable_shift_zext(), find_equiv_reg(), find_inc_amount(), find_mem(), find_reloads(), find_reloads_address(), find_split_point(), fixed_base_plus_p(), fold_rtx(), force_int_to_mode(), force_operand(), force_reg(), force_to_mode(), form_sum(), gen_lowpart_common(), gen_lowpart_or_truncate(), general_operand(), get_call_args(), get_dynamic_stack_size(), get_index_scale(), get_integer_term(), get_related_value(), get_stored_val(), immediate_operand(), implies_p(), inc_for_reload(), initial_return_save(), invariant_or_equiv_p(), ira_setup_alts(), is_based_loc(), iv_number_of_iterations(), loc_descriptor(), loc_list_from_tree_1(), lra_eliminate_regs_1(), make_compound_operation_int(), make_extraction(), make_field_assignment(), mark_not_eliminable(), maybe_emit_call_builtin___clear_cache(), maybe_swap_commutative_operands(), mem_loc_descriptor(), memory_address_addr_space(), memory_load_overlap(), memrefs_conflict_p(), mode_signbit_p(), move2add_note_store(), noce_get_alt_condition(), noce_process_if_block(), noce_try_bitop(), noce_try_cmove(), noce_try_inverse_constants(), noce_try_store_flag(), noce_try_store_flag_constants(), nonzero_address_p(), nonzero_bits1(), num_sign_bit_copies1(), operand_for_swap_move_operator(), output_addr_const(), output_asm_insn(), parse_add_or_inc(), poly_int_rtx_p(), prepare_cmp_insn(), print_exp(), rtx_writer::print_rtx(), probe_stack_range(), process_alt_operands(), recog_for_combine(), record_reg_classes(), record_set(), record_store(), reg_scan_mark_refs(), reload_combine_note_use(), reload_combine_recognize_pattern(), reload_cse_move2add(), reload_cse_move2add_invalidate(), reload_cse_simplify(), reload_cse_simplify_operands(), reverse_op(), reverse_rotate_by_imm_p(), reversed_comparison_code_parts(), round_push(), rtvec_series_p(), rtx_equal_for_cselib_1(), rtx_to_double_int(), scan_insn(), scompare_loc_descriptor_narrow(), set_storage_via_libcall(), set_storage_via_setmem(), should_hoist_expr_to_dom(), sign_extend_short_imm(), simplify_and_const_int_1(), simplify_context::simplify_binary_operation_1(), simplify_comparison(), simplify_context::simplify_cond_clz_ctz(), simplify_const_relational_operation(), simplify_if_then_else(), simplify_immed_subreg(), simplify_logical(), simplify_context::simplify_plus_minus(), simplify_context::simplify_relational_operation_1(), simplify_shift_const_1(), simplify_context::simplify_subreg(), simplify_context::simplify_ternary_operation(), simplify_context::simplify_truncation(), simplify_context::simplify_unary_operation_1(), simplify_while_replacing(), sp_based_mem_offset(), split_const(), split_double(), stack_adjust_offset_pre_post(), stack_adjust_offset_pre_post_cb(), stack_memref_p(), store_bit_field_using_insv(), store_expr(), store_fixed_bit_field_1(), store_one_arg(), store_split_bit_field(), strip_address_mutations(), subst_reg_equivs(), try_apply_stack_adjustment(), try_combine(), ucompare_loc_descriptor(), use_anchored_address(), validate_pattern(), and values_equal_p().
#define CONST_POLY_INT_COEFFS | ( | RTX | ) |
For a CONST_POLY_INT, CONST_POLY_INT_COEFFS gives access to the individual coefficients, in the form of a trailing_wide_ints structure.
Referenced by inchash::add_rtx(), const_poly_int_value(), cselib_hash_rtx(), const_poly_int_hasher::equal(), const_poly_int_hasher::hash(), hash_rtx(), immed_wide_int_const(), poly_int_rtx_p(), rtx_writer::print_rtx(), print_value(), rtx_size(), and rtx_to_poly_int64().
#define CONST_POLY_INT_P | ( | X | ) |
Predicate yielding nonzero iff X is an rtx for a polynomial constant integer.
Referenced by const_ok_for_output_1(), convert_modes(), gen_lowpart_common(), make_tree(), plus_constant(), poly_int_rtx_p(), poly_int_rtx_p(), rtx_size(), rtx_to_poly_int64(), simplify_const_unary_operation(), simplify_context::simplify_subreg(), wi::to_poly_wide(), and valid_for_const_vector_p().
#define CONST_SCALAR_INT_P | ( | X | ) |
Predicate yielding true iff X is an rtx for a integer const.
Referenced by canon_condition(), convert_modes(), dw2_assemble_integer(), emit_store_flag_1(), expand_addsub_overflow(), expand_debug_locations(), expand_single_bit_test(), gen_lowpart_common(), gen_lowpart_for_combine(), get_addr(), rtx_vector_builder::integral_p(), loc_descriptor(), lra_substitute_pseudo(), make_extraction(), native_encode_rtx(), poly_int_rtx_p(), prepare_cmp_insn(), record_address_regs(), reload_cse_simplify_set(), replace_rtx(), simplify_context::simplify_binary_operation_1(), simplify_context::simplify_byte_swapping_operation(), simplify_const_binary_operation(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_context::simplify_gen_subreg(), simplify_immed_subreg(), simplify_context::simplify_relational_operation_1(), simplify_context::simplify_subreg(), simplify_context::simplify_unary_operation_1(), simplify_while_replacing(), subst(), try_combine(), valid_base_or_index_term_p(), and valid_for_const_vector_p().
#define CONST_VECTOR_DUPLICATE_P | ( | RTX | ) |
#define CONST_VECTOR_ELT | ( | RTX, | |
N ) |
For a CONST_VECTOR, return element #n.
Referenced by add_const_value_attribute(), const_vec_series_p_1(), find_sets_in_insn(), loc_descriptor(), make_tree(), may_trap_p_1(), native_encode_rtx(), output_constant_pool_2(), simplify_context::simplify_binary_operation_1(), simplify_const_binary_operation(), simplify_const_unary_operation(), simplify_context::simplify_ternary_operation(), and unwrap_const_vec_duplicate().
#define CONST_VECTOR_ENCODED_ELT | ( | RTX, | |
N ) |
Referenced by const_vec_duplicate_p(), const_vec_series_p_1(), const_vector_elt(), const_vector_int_elt(), cselib_hash_rtx(), hash_rtx(), and may_trap_p_1().
#define CONST_VECTOR_NELTS_PER_PATTERN | ( | RTX | ) |
Referenced by rtx_vector_builder::build(), rtx_vector_builder::build(), const_vector_encoded_nelts(), make_tree(), rtx_vector_builder::nelts_per_pattern_of(), same_vector_encodings_p(), simplify_const_vector_byte_offset(), and simplify_const_vector_subreg().
#define CONST_VECTOR_NPATTERNS | ( | RTX | ) |
See rtl.texi for a description of these macros.
Referenced by rtx_vector_builder::build(), rtx_vector_builder::build(), const_vec_duplicate_p(), const_vec_series_p(), const_vector_elt(), const_vector_encoded_nelts(), const_vector_int_elt(), make_tree(), rtx_vector_builder::npatterns_of(), rtx_writer::print_rtx_operand_codes_E_and_V(), same_vector_encodings_p(), simplify_const_binary_operation(), simplify_const_unary_operation(), simplify_const_vector_byte_offset(), and simplify_const_vector_subreg().
#define CONST_VECTOR_NUNITS | ( | RTX | ) |
For a CONST_VECTOR, return the number of elements in a vector.
Referenced by add_const_value_attribute(), const_vec_series_p_1(), loc_descriptor(), rtx_vector_builder::nelts_of(), same_vector_encodings_p(), simplify_const_binary_operation(), simplify_const_unary_operation(), and simplify_context::simplify_ternary_operation().
#define CONST_VECTOR_P | ( | X | ) |
Predicate yielding nonzero iff X is an rtx for a constant vector.
#define CONST_VECTOR_STEPPED_P | ( | RTX | ) |
Referenced by const_vec_series_p_1(), const_vector_elt(), const_vector_int_elt(), rtx_writer::print_rtx_operand_codes_E_and_V(), simplify_const_binary_operation(), and simplify_const_vector_subreg().
#define const_wide_int_alloc | ( | NWORDS | ) |
Referenced by immed_wide_int_const_1(), and rtx_reader::read_rtx_code().
#define CONST_WIDE_INT_ELT | ( | RTX, | |
N ) |
#define CONST_WIDE_INT_NUNITS | ( | RTX | ) |
Referenced by inchash::add_rtx(), const_rtx_hash_1(), cselib_hash_rtx(), wi::int_traits< rtx_mode_t >::decompose(), hash_rtx(), loc_cmp(), mode_signbit_p(), output_addr_const(), print_value(), rtx_size(), and split_double().
#define CONST_WIDE_INT_P | ( | X | ) |
Predicate yielding nonzero iff X is an rtx for a constant integer.
Referenced by expand_mult(), loc_cmp(), mode_signbit_p(), rtx_reader::read_rtx_code(), rtx_size(), and validate_pattern().
#define CONST_WIDE_INT_VEC | ( | RTX | ) |
For a CONST_WIDE_INT, CONST_WIDE_INT_NUNITS is the number of elements actually needed to represent the constant. CONST_WIDE_INT_ELT gets one of the elements. 0 is the least significant HOST_WIDE_INT.
#define CONSTANT_P | ( | X | ) |
1 if X is a constant value that is an integer.
Referenced by add_const_value_attribute(), add_location_or_const_value_attribute(), add_uses(), adjust_insn(), insn_propagation::apply_to_rvalue_1(), avoid_constant_pool_reference(), avoid_expensive_constant(), break_out_memory_refs(), can_combine_p(), can_widen_mult_without_libcall(), canonicalize_condition(), check_cond_move_block(), choose_reload_regs(), combine_simplify_rtx(), cond_move_process_if_block(), conforming_compare(), const_or_frame_p(), constrain_operands(), convert_move(), cprop_constant_p(), cse_insn(), cse_process_note_1(), cselib_record_sets(), curr_insn_transform(), pieces_addr::decide_autoinc(), decompose(), decompose_automod_address(), decompose_normal_address(), distribute_notes(), do_compare_rtx_and_jump(), eliminate_regs_1(), emit_block_cmp_via_loop(), emit_cmp_and_jump_insns(), emit_conditional_move(), emit_group_load_1(), emit_input_reload_insns(), emit_library_call_value_1(), emit_move_complex(), emit_move_insn(), emit_move_insn_1(), emit_move_multi_word(), emit_push_insn(), emit_store_flag(), equiv_constant(), expand_builtin_frame_address(), expand_doubleword_shift(), expand_expr_real_1(), expand_expr_real_2(), expand_gimple_stmt_1(), expand_mult(), expand_subword_shift(), ext_dce_process_uses(), extract_low_bits(), find_base_term(), find_base_value(), find_constant_src(), find_constant_term_loc(), find_equiv_reg(), find_reloads(), find_reloads_address(), find_reloads_address_part(), find_reloads_toplev(), find_shift_sequence(), find_split_point(), fold_rtx(), force_operand(), force_reg(), form_sum(), form_sum(), function_invariant_p(), gen_reload(), gen_reload_chain_without_interm_reg_p(), general_constant_p(), general_operand(), get_addr(), get_biv_step_1(), get_equiv_with_elimination(), get_index_term(), get_stored_val(), if_then_else_cond(), immediate_operand(), immune_p(), init_eliminable_invariants(), insert_with_costs(), instantiate_decl_rtl(), internal_arg_pointer_based_exp(), invariant_or_equiv_p(), iv_analyze_biv(), iv_analyze_expr(), loc_list_from_tree_1(), lra_eliminate_regs_1(), lra_emit_add(), lra_substitute_pseudo(), make_safe_from(), match_asm_constraints_1(), may_trap_p_1(), mem_loc_descriptor(), memory_address_addr_space(), memrefs_conflict_p(), move_block_to_reg(), move_insn_for_shrink_wrap(), move_plus_up(), noce_convert_multiple_sets_1(), noce_emit_move_insn(), noce_try_cmove(), nonimmediate_operand(), nonmemory_operand(), nonoverlapping_memrefs_p(), nonzero_address_p(), plus_constant(), plus_minus_operand_p(), precompute_register_parameters(), prepare_call_arguments(), prepare_cmp_insn(), preserve_temp_slots(), process_address_1(), process_alt_operands(), push_block(), push_reload(), recog_for_combine(), record_address_regs(), record_jump_cond(), record_reg_classes(), record_store(), reg_overlap_mentioned_for_reload_p(), reg_overlap_mentioned_p(), reload(), reload_combine_recognize_const_pattern(), reload_cse_simplify_operands(), reload_cse_simplify_set(), reload_inner_reg_of_subreg(), reverse_op(), rtl_for_decl_location(), scan_one_insn(), setup_reg_equiv(), simplify_expand_binop(), simplify_if_then_else(), simplify_operand_subreg(), simplify_context::simplify_plus_minus(), simplify_context::simplify_relational_operation_1(), simplify_set(), simplify_context::simplify_unary_operation_1(), simplify_using_condition(), simplify_using_initial_values(), simplify_while_replacing(), single_reg_class(), split_insn(), store_bit_field_using_insv(), store_expr(), store_split_bit_field(), strip_address_mutations(), try_combine(), try_eliminate_compare(), try_replace_in_use(), try_replace_reg(), use_narrower_mode(), and use_narrower_mode_test().
#define CONSTANT_POOL_ADDRESS_P | ( | RTX | ) |
1 if RTX is a symbol_ref that addresses this function's rtl constants pool.
Referenced by asan_protect_global(), avoid_constant_pool_reference(), computed_jump_p_1(), const_ok_for_output_1(), contains_constant_pool_address_p(), find_reloads_address(), force_const_mem(), get_some_local_dynamic_name(), mark_constants_in_pattern(), mark_jump_label_1(), noce_try_abs(), offset_within_block_p(), output_object_block(), place_block_symbol(), plus_constant(), prune_expressions(), replace_label(), rtx_addr_can_trap_p_1(), rtx_referenced_p(), true_dependence_1(), and write_dependence_p().
#define CONSTM1_RTX | ( | MODE | ) |
#define constm1_rtx (const_int_rtx[MAX_SAVED_CONST_INT-1]) |
Referenced by bb_estimate_probability_locally(), combine_simplify_rtx(), doloop_modify(), doloop_simplify_count(), emit_block_cmp_via_loop(), emit_conditional_add(), emit_conditional_move(), emit_store_flag_1(), expand_arith_set_overflow(), expand_builtin_eh_return_data_regno(), expand_builtin_object_size(), expand_clrsb_using_clz(), expand_divmod(), expand_expr_real_2(), expand_mul_overflow(), expand_POPCOUNT(), rtx_vector_builder::find_cached_value(), floor_sdiv_adjust(), if_then_else_cond(), implies_p(), init_emit_once(), iv_number_of_iterations(), maybe_optimize_fetch_op(), noce_try_abs(), noce_try_addcc(), noce_try_sign_mask(), num_sign_bit_copies1(), prepare_float_lib_cmp(), round_sdiv_adjust(), simplify_context::simplify_binary_operation_1(), simplify_comparison(), simplify_if_then_else(), simplify_context::simplify_relational_operation_1(), simplify_shift_const_1(), simplify_context::simplify_truncation(), simplify_context::simplify_unary_operation_1(), and split_double().
#define convert_memory_address | ( | to_mode, | |
x ) |
Referenced by addr_for_mem_ref(), asan_emit_allocas_unpoison(), asan_emit_stack_protection(), assign_parms(), default_emit_call_builtin___clear_cache(), emit_block_op_via_libcall(), expand_atomic_compare_and_swap(), expand_atomic_fetch_op(), expand_builtin_alloca(), expand_builtin_apply(), expand_builtin_atomic_compare_exchange(), expand_builtin_eh_return(), expand_builtin_extract_return_addr(), expand_builtin_frob_return_addr(), expand_builtin_longjmp(), expand_builtin_memory_copy_args(), expand_builtin_memset_args(), expand_builtin_nonlocal_goto(), expand_builtin_return(), expand_builtin_setjmp_setup(), expand_builtin_strncpy(), expand_builtin_update_setjmp_buf(), expand_builtin_va_copy(), expand_call(), expand_function_end(), expand_stack_restore(), find_base_term(), find_base_value(), get_builtin_sync_mem(), hwasan_emit_prologue(), hwasan_emit_untag_frame(), maybe_emit_sync_lock_test_and_set(), maybe_legitimize_operand(), prepare_call_address(), sjlj_emit_dispatch_table(), and sjlj_emit_function_enter().
#define COSTS_N_INSNS | ( | N | ) |
in rtlanal.cc
Return the right cost to give to an operation to make the cost of the corresponding register-to-register instruction N times that of a fast register-to-register instruction.
Referenced by copy_cost(), costs_add_n_insns(), default_max_noce_ifcvt_seq_cost(), determine_iv_cost(), doloop_optimize(), emit_conditional_move(), expand_ccmp_expr_1(), expand_sdiv_pow2(), expand_smod_pow2(), find_if_case_1(), find_if_case_2(), find_shift_sequence(), lshift_cheap_p(), noce_find_if_block(), noce_process_if_block(), noce_try_sign_mask(), parm_decl_cost(), pattern_cost(), precompute_register_parameters(), prepare_cmp_insn(), rtx_cost(), and want_to_gcse_p().
#define CROSSING_JUMP_P | ( | RTX | ) |
1 if JUMP RTX is a crossing jump.
Referenced by cfg_layout_redirect_edge_and_branch(), emit_copy_of_insn_after(), fill_slots_from_thread(), find_if_case_1(), find_if_case_2(), fixup_partition_crossing(), follow_jumps(), maybe_duplicate_computed_goto(), patch_jump_insn(), peep2_attempt(), redirect_jump_2(), relax_delay_slots(), rotate_loop(), rtl_verify_edges(), tidy_fallthru_edges(), try_optimize_cfg(), try_split(), and update_crossing_jump_flags().
#define CSELIB_VAL_PTR | ( | RTX | ) |
In a VALUE, the value cselib has assigned to RTX. This is a "struct cselib_val", see cselib.h.
Referenced by add_mem_for_addr(), autoinc_split(), canon_value_cmp(), canonical_cselib_val(), cselib_expand_value_rtx_1(), cselib_hash_plus_const_int(), cselib_hash_rtx(), cselib_lookup_1(), cselib_reset_table(), cselib_sp_derived_value_p(), cselib_subst_to_values(), discard_useless_values(), dv_uid(), expand_loc(), find_base_term(), get_addr(), invariant_or_equiv_p(), memrefs_conflict_p(), new_cselib_val(), new_elt_loc_list(), prepare_call_arguments(), rtx_writer::print_rtx_operand_code_0(), references_value_p(), refs_newer_value_p(), rtx_equal_for_cselib_1(), val_bind(), val_store(), vt_add_function_parameter(), and vt_expand_var_loc_chain().
#define CWI_ELT | ( | RTX, | |
I ) |
Referenced by cwi_output_hex(), and rtx_reader::read_rtx_code().
#define CWI_GET_NUM_ELEM | ( | RTX | ) |
Number of elements of the HWIVEC if RTX is a CONST_WIDE_INT.
Referenced by cwi_output_hex().
#define CWI_PUT_NUM_ELEM | ( | RTX, | |
NUM ) |
Referenced by immed_wide_int_const_1().
#define DEBUG_BIND_INSN_P | ( | INSN | ) |
Evaluate to TRUE if INSN is a debug insn that denotes a variable location/value tracking annotation.
Referenced by apply_opt_in_copies(), build_def_use(), combine_and_move_insns(), copyprop_hardreg_forward_1(), delete_trivially_dead_insns(), duplicate_insn_chain(), eliminate_regs_in_insn(), emit_input_reload_insns(), expand_debug_locations(), fixup_debug_insns(), insn_live_p(), instantiate_virtual_regs(), lra_set_insn_recog_data(), merge_in_block(), move_insn_for_shrink_wrap(), propagate_for_debug(), and reload().
#define DEBUG_EXPR_TREE_DECL | ( | RTX | ) |
DEBUG_EXPR_DECL corresponding to a DEBUG_EXPR RTX.
Referenced by avoid_complex_debug_insns(), cselib_hash_rtx(), dead_debug_insert_temp(), dead_debug_promote_uses(), delete_trivially_dead_insns(), dv_from_rtx(), expand_debug_expr(), loc_cmp(), make_debug_expr_from_rtl(), rtx_writer::print_rtx_operand_code_0(), print_value(), and propagate_for_debug_subst().
#define DEBUG_IMPLICIT_PTR_DECL | ( | RTX | ) |
VAR_DECL/PARM_DECL DEBUG_IMPLICIT_PTR takes address of.
Referenced by cselib_hash_rtx(), implicit_ptr_descriptor(), rtx_writer::print_rtx_operand(), rtx_equal_for_cselib_1(), and rtx_equal_p().
#define DEBUG_INSN_P | ( | X | ) |
Predicate yielding nonzero iff X is a debug note/insn.
Referenced by add_next_usage_insn(), add_removable_extension(), assign_spill_hard_regs(), base_reg_class_for_rename(), block_jumps_and_fallthru(), bypass_conditional_jumps(), can_move_invariant_reg(), canonicalize_insn(), check_new_reg_p(), combine_and_move_insns(), combine_reaching_defs(), cond_exec_process_if_block(), cond_exec_process_insns(), cprop_insn(), cselib_invalidate_mem(), cselib_invalidate_regno_val(), dce_process_block(), dead_debug_insert_temp(), dead_debug_promote_uses(), dead_or_predicable(), decompose_multiword_subregs(), def_dominates_uses(), delete_insn_and_edges(), delete_trivially_dead_insns(), delete_vta_debug_insns(), df_insn_change_bb(), df_insn_rescan(), df_insn_rescan_debug_internal(), df_install_ref_incremental(), df_note_bb_compute(), df_ref_create_structure(), df_set_note(), df_simulate_uses(), df_uses_record(), discard_useless_locs(), distribute_links(), duplicate_insn_chain(), eliminate_regs_1(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), elimination_costs_in_insn(), emit_input_reload_insns(), emit_pattern_after(), emit_pattern_before(), cselib_hasher::equal(), equivalent_reg_at_start(), expand_gimple_basic_block(), final_scan_insn_1(), find_bb_boundaries(), find_equiv_reg(), find_moveable_pseudos(), find_rename_reg(), first_active_insn(), inherit_reload_reg(), insn_live_p(), invalidate_insn_data_regno_info(), last_active_insn(), local_cprop_pass(), lra_constraints(), lra_eliminate_regs_1(), lra_final_code_change(), lra_set_insn_recog_data(), lra_substitute_pseudo_within_insn(), lra_update_insn_recog_data(), mark_reg_dependencies(), mark_target_live_regs(), new_cselib_val(), new_elt_loc_list(), next_nondebug_insn(), next_nonnote_nondebug_insn(), next_nonnote_nondebug_insn_bb(), outgoing_edges_match(), prev_nondebug_insn(), prev_nonnote_nondebug_insn(), prev_nonnote_nondebug_insn_bb(), promote_debug_loc(), purge_dead_edges(), record_stack_refs(), referenced_in_one_insn_in_loop_p(), regrename_do_replace(), regrename_find_superclass(), regstat_init_n_sets_and_refs(), replace_oldest_value_addr(), replace_oldest_value_mem(), replace_oldest_value_reg(), reset_debug_uses_in_loop(), reset_unmarked_insns_debug_uses(), rtl_block_ends_with_call_p(), rtl_merge_blocks(), rtl_split_block(), save_call_clobbered_regs(), scan_insn(), scan_rtx_address(), scan_rtx_reg(), scan_trace(), set_new_first_and_last_insn(), shorten_branches(), spill_pseudos(), split_live_ranges_for_shrink_wrap(), split_reg(), is_a_helper< T >::test(), trivially_empty_bb_p(), try_back_substitute_reg(), try_combine(), try_crossjump_to_edge(), try_forward_edges(), verify_changes(), and word_dce_process_block().
#define DEBUG_MARKER_INSN_P | ( | INSN | ) |
Evaluate to TRUE if INSN is a debug insn that denotes a program source location marker.
Referenced by delete_trivially_dead_insns(), delete_vta_debug_insn(), insn_live_p(), instantiate_virtual_regs(), lra_set_insn_recog_data(), print_insn(), reemit_marker_as_note(), and vt_initialize().
#define DEBUG_PARAMETER_REF_DECL | ( | RTX | ) |
PARM_DECL DEBUG_PARAMETER_REF references.
Referenced by cselib_hash_rtx(), parameter_ref_descriptor(), rtx_writer::print_rtx_operand(), rtx_equal_for_cselib_1(), and rtx_equal_p().
#define ENTRY_VALUE_EXP | ( | RTX | ) |
In an ENTRY_VALUE this is the DECL_INCOMING_RTL of the argument in question.
Referenced by cselib_hash_rtx(), expand_debug_parm_decl(), loc_cmp(), mem_loc_descriptor(), rtx_writer::print_rtx_operand_code_0(), record_entry_value(), rtx_equal_for_cselib_1(), rtx_equal_for_memref_p(), and rtx_equal_p().
#define EXTRACT_ARGS_IN_RANGE | ( | SIZE, | |
POS, | |||
RANGE ) |
A convenience macro to validate the arguments of a zero_extract expression. It determines whether SIZE lies inclusively within [1, RANGE], POS lies inclusively within between [0, RANGE - 1] and the sum lies inclusively within [1, RANGE]. RANGE must be >= 1, but SIZE and POS may be negative.
#define FAKE_CALL_P | ( | RTX | ) |
1 if RTX is a call_insn for a fake call. CALL_INSN use "used" flag to indicate it's a fake call.
Referenced by df_get_call_refs(), ext_dce_process_bb(), leaf_function_p(), and requires_stack_frame_p().
#define fatal_insn | ( | msgid, | |
insn ) |
Referenced by curr_insn_transform(), do_output_reload(), failed_reload(), final_scan_insn_1(), find_reloads(), gen_reload(), lra_split_hard_reg_for(), process_alt_operands(), rtl_verify_bb_insns(), rtl_verify_bb_layout(), shorten_branches(), and spill_failure().
#define fatal_insn_not_found | ( | insn | ) |
Referenced by check_rtl(), extract_constrain_insn(), extract_constrain_insn_cached(), extract_insn(), final_scan_insn_1(), and instantiate_virtual_regs_in_insn().
#define FIND_REG_INC_NOTE | ( | INSN, | |
REG ) |
Define a macro to look for REG_INC notes, but save time on machines where they never exist.
Referenced by can_combine_p(), canonicalize_condition(), insn_invalid_p(), reg_set_p(), try_combine(), and try_split().
#define FIRST_VIRTUAL_REGISTER (FIRST_PSEUDO_REGISTER) |
Virtual registers are used during RTL generation to refer to locations into the stack frame when the actual location isn't known until RTL generation is complete. The routine instantiate_virtual_regs replaces these with the proper value, which is normally {frame,arg,stack}_pointer_rtx plus a constant.
Referenced by rtx_writer::print_rtx_operand_code_r().
#define frame_pointer_rtx (global_rtl[GR_FRAME_POINTER]) |
Referenced by assign_stack_local_1(), based_loc_descr(), compute_frame_pointer_to_fb_displacement(), const_or_frame_p(), expand_builtin_longjmp(), expand_builtin_nonlocal_goto(), expand_builtin_return_addr(), expand_expr_real_2(), find_equiv_reg(), find_reloads_address(), fixed_base_plus_p(), function_invariant_p(), gen_rtx_REG(), get_group_info(), get_spill_slot_decl(), hash_rtx(), immune_p(), init_eliminable_invariants(), init_emit(), init_emit_regs(), init_expr_target(), instantiate_new_reg(), lookup_global_register(), may_assign_reg_p(), mem_loc_descriptor(), move_insn_for_shrink_wrap(), nonzero_address_p(), nonzero_bits1(), parse_add_or_inc(), reg_loc_descriptor(), rtx_addr_can_trap_p_1(), rtx_moveable_p(), rtx_unstable_p(), rtx_varies_p(), setup_reg_equiv(), simplify_context::simplify_plus_minus(), subst_reg_equivs(), vt_init_cfa_base(), and vt_initialize().
#define GEN_INT | ( | N | ) |
Referenced by add_mask_and_len_args(), anti_adjust_stack_and_probe(), anti_adjust_stack_and_probe_stack_clash(), asan_clear_shadow(), asan_emit_stack_protection(), assemble_real(), assign_parm_setup_block(), assign_parm_setup_stack(), avoid_expensive_constant(), bswap_loc_descriptor(), canonicalize_reload_addr(), change_zero_ext(), clz_loc_descriptor(), compute_stack_clash_protection_loop_data(), cse_insn(), decl_piece_node(), do_compare_rtx_and_jump(), do_store_flag(), doloop_condition_get(), dw2_asm_output_data(), dw2_asm_output_data_sleb128(), dw2_asm_output_data_uleb128(), dw2_fix_up_crossing_landing_pad(), tree_switch_conversion::bit_test_cluster::emit(), emit_block_cmp_via_loop(), emit_block_move_via_loop(), emit_note_insn_var_location(), emit_push_insn(), emit_store_flag(), emit_store_flag_force(), emit_store_flag_int(), expand_builtin_classify_type(), expand_builtin_dwarf_sp_column(), expand_builtin_eh_return_data_regno(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_issignaling(), expand_builtin_prefetch(), expand_call(), expand_clrsb_using_clz(), expand_debug_expr(), expand_doubleword_divmod(), expand_doubleword_mod(), expand_expr_real_2(), expand_ffs(), expand_field_assignment(), expand_fn_using_insn(), expand_function_end(), expand_GOACC_DIM_SIZE(), expand_mem_thread_fence(), expand_vec_perm_var(), expand_widen_pattern_expr(), find_address(), find_mem(), fold_rtx(), force_to_mode(), gen_int_mode(), if_then_else_cond(), immed_double_const(), index_part_to_reg(), init_emit_once(), init_expmed(), instantiate_new_reg(), internal_check_ptrs_fn_supported_p(), internal_gather_scatter_fn_supported_p(), internal_len_load_store_bias(), invert_br_probabilities(), make_extraction(), make_reg_eh_region_note(), make_reg_eh_region_note_nothrow_nononlocal(), maybe_expand_shift(), maybe_swap_commutative_operands(), move_block_from_reg(), move_block_to_reg(), noce_get_alt_condition(), noce_try_store_flag_constants(), optimize_range_tests_to_bit_test(), output_constructor(), output_constructor_bitfield(), output_constructor_regular_field(), parse_add_or_inc(), predict_insn(), prefer_and_bit_test(), prepare_call_address(), prepare_call_arguments(), prepare_cmp_insn(), print_exp(), reload_combine_recognize_pattern(), rotate_loc_descriptor(), round_push(), rtl_for_decl_init(), sign_extend_short_imm(), simplify_context::simplify_binary_operation_1(), simplify_compare_const(), simplify_comparison(), simplify_context::simplify_gen_vec_select(), simplify_shift_const_1(), simplify_context::simplify_truncation(), simplify_while_replacing(), sjlj_assign_call_site_values(), sjlj_fix_up_crossing_landing_pad(), split_double(), store_constructor(), store_expr(), store_split_bit_field(), try_apply_stack_adjustment(), try_const_anchors(), and try_store_by_multiple_pieces().
#define gen_lowpart rtl_hooks.gen_lowpart |
Keep this for the nonce.
Referenced by combine_simplify_rtx(), convert_extracted_bit_field(), convert_float_to_wider_int(), convert_mode_scalar(), convert_modes(), convert_move(), convert_wider_int_to_float(), copy_blkmode_to_reg(), cse_insn(), cse_process_note_1(), cselib_record_sets(), default_memtag_extract_tag(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), emit_group_load_1(), emit_group_store(), equiv_constant(), expand_absneg_bit(), expand_binop(), expand_builtin_issignaling(), expand_builtin_signbit(), expand_builtin_stpcpy_1(), expand_compound_operation(), expand_cond_expr_using_cmove(), expand_copysign_absneg(), expand_copysign_bit(), expand_divmod(), expand_doubleword_clz_ctz_ffs(), expand_expr_real_1(), expand_field_assignment(), expand_movstr(), expand_mult_const(), expand_mult_highpart(), expand_parity(), expand_unop(), expand_vec_perm_const(), expand_vec_perm_var(), extract_bit_field_1(), extract_low_bits(), find_split_point(), flip_storage_order(), force_to_mode(), gen_lowpart_or_truncate(), get_last_value(), get_stored_val(), insert_with_costs(), make_compound_operation_int(), make_extraction(), plus_constant(), record_dead_and_set_regs_1(), rtx_equal_for_field_assignment_p(), simplify_and_const_int(), simplify_and_const_int_1(), simplify_comparison(), simplify_if_then_else(), simplify_set(), simplify_shift_const(), simplify_shift_const_1(), store_bit_field_1(), store_bit_field_using_insv(), store_integral_bit_field(), try_combine(), widen_bswap(), and widen_operand().
#define gen_rtx_ASM_INPUT | ( | MODE, | |
ARG0 ) |
Include the RTL generation functions.
Referenced by gen_blockage().
#define gen_rtx_ASM_INPUT_loc | ( | MODE, | |
ARG0, | |||
LOC ) |
Referenced by expand_asm_loc(), and expand_asm_stmt().
#define GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT | ( | ) |
Create patterns for debug markers. These and the above abstract the representation, so that it's easier to get rid of the abuse of the mode to hold the marker kind. Other marker types are envisioned, so a single bit flag won't do; maybe separate RTL codes wouldn't be a problem.
Referenced by expand_gimple_basic_block().
#define GEN_RTX_DEBUG_MARKER_INLINE_ENTRY_PAT | ( | ) |
Referenced by expand_gimple_basic_block().
#define gen_rtx_UNKNOWN_VAR_LOC | ( | ) |
Expand to the RTL that denotes an unknown variable location in a DEBUG_INSN.
Referenced by add_uses(), can_move_invariant_reg(), dead_debug_promote_uses(), dead_debug_reset_uses(), delete_trivially_dead_insns(), df_note_bb_compute(), expand_debug_locations(), propagate_for_debug(), propagate_for_debug_subst(), regrename_do_replace(), reload(), reset_debug_use(), reset_debug_uses_in_loop(), reset_unmarked_insns_debug_uses(), and spill_pseudos().
#define GET_CODE | ( | RTX | ) |
Define macros to access the `code' field of the rtx.
Referenced by active_insn_p(), add_attributes(), add_auto_inc_notes(), add_const_value_attribute(), add_constraint(), add_constraints(), add_equal_note(), add_label_notes(), add_location_or_const_value_attribute(), add_mode_tests(), add_next_usage_insn(), add_regs_to_insn_regno_info(), add_removable_extension(), inchash::add_rtx(), add_shallow_copy_of_reg_note(), add_stored_regs(), add_stores(), generic_subrtx_iterator< T >::add_subrtxes_to_queue(), add_test(), add_uses(), add_var_loc_to_decl(), addr_for_mem_ref(), addr_side_effect_eval(), adjust_address_1(), adjust_for_new_dest(), adjust_insn(), adjust_mems(), alloc_INSN_LIST(), alter_attrs_for_insn(), alter_attrs_for_subst_insn(), alter_constraints(), alter_predicate_for_insn(), alter_subregs(), analyze_insn_to_expand_var(), anti_adjust_stack_and_probe(), any_condjump_p(), any_post_modify_p(), any_pre_modify_p(), any_uncondjump_p(), fixup_expr::apply(), apply_distributive_law(), apply_int_iterator(), apply_opt_in_copies(), insn_propagation::apply_to_lvalue_1(), insn_propagation::apply_to_pattern_1(), insn_propagation::apply_to_rvalue_1(), arithmetic_flags_clobber_p(), asan_protect_global(), asm_insn_count(), asm_labels_ok(), asm_noperands(), asm_operand_ok(), assemble_integer(), assemble_variable(), assign_call_lhs(), assign_parm_adjust_entry_rtl(), assign_parm_is_stack_parm(), assign_parm_remove_parallels(), assign_parm_setup_block(), assign_parm_setup_reg(), attr_checksum(), attr_checksum_ordered(), attr_rtx_1(), attr_rtx_cost(), attr_value_alignment(), auto_inc_p(), autoinc_split(), avoid_complex_debug_insns(), avoid_constant_pool_reference(), bad_for_rematerialization_p(), base_alias_check(), bb_estimate_probability_locally(), bb_is_just_return(), block_has_only_trap(), block_jumps_and_fallthru(), break_out_memory_refs(), build_def_use(), build_insn_chain(), bypass_block(), bypass_conditional_jumps(), calculate_equiv_gains(), call_from_call_insn(), can_combine_p(), can_have_basic_block_p(), can_merge_compare_into_arith(), can_simplify_addr(), can_throw_external(), canon_address(), canon_condition(), canon_list_insert(), canon_reg(), canon_reg_for_combine(), canon_rtx(), canonical_cselib_val(), canonicalize_address_mult(), canonicalize_condition(), canonicalize_insn(), canonicalize_reload_addr(), canonicalize_values_mark(), canonicalize_values_star(), canonicalize_vars_star(), cant_combine_insn_p(), change_regs(), change_subst_attribute(), change_zero_ext(), check_and_make_def_conflict(), check_and_process_move(), check_attr_test(), check_attr_value(), check_cond_move_block(), check_defs(), check_eliminable_occurrences(), check_for_inc_dec(), check_for_inc_dec_1(), check_for_label_ref(), check_maybe_invariant(), check_promoted_subreg(), check_rtl(), check_sibcall_argument_overlap_1(), check_tune_attr(), check_tune_attr(), choose_reload_regs(), classify_insn(), cleanup_auto_inc_dec(), cleanup_subreg_operands(), clear_storage(), clear_struct_flag(), clobber_overlapping_mems(), clz_loc_descriptor(), collect_address_parts(), collect_insn_data(), collect_non_operand_hard_regs(), combinable_i3pat(), combine_and_move_insns(), combine_instructions(), combine_set_extension(), combine_simplify_rtx(), combine_stack_adjustments_for_block(), commutative_operand_precedence(), compare_and_jump_seq(), compare_constant(), compares_alternatives_p(), compute_alternative_mask(), compute_argument_addresses(), compute_bb_dataflow(), compute_hash_table(), compute_ld_motion_mems(), compute_reloc_for_rtx(), compute_reloc_for_rtx_1(), compute_test_codes(), compute_transp(), computed_jump_p(), computed_jump_p_1(), cond_exec_get_condition(), cond_exec_process_insns(), cond_move_convert_if_block(), condition_dominates_p(), condjump_in_parallel_p(), condjump_label(), condjump_p(), conforming_compare(), consolidate_reg(), function_reader::consolidate_singletons(), const_hash_1(), const_ok_for_output(), const_ok_for_output_1(), const_or_frame_p(), const_rtx_hash_1(), const_vec_duplicate_p(), const_vec_series_p(), constrain_operands(), constraints_supported_in_insn_p(), contains(), contains_call_div_mod(), contains_muldiv(), contains_reg_p(), contains_symbolic_reference_p(), control_flow_insn_p(), convert_debug_memory_address(), convert_memory_address_addr_space_1(), convert_mode_scalar(), convert_modes(), convert_move(), convert_syntax(), convert_to_eh_region_ranges(), copy_boolean(), copy_cost(), copy_insn_1(), copy_replacements_1(), copy_rtx(), md_reader::copy_rtx_for_iterators(), copy_rtx_if_shared_1(), symtab_node::copy_visibility_from(), copyprop_hardreg_forward_1(), count_alternatives(), count_occurrences(), count_reg_usage(), count_rtxs(), covers_regno_no_parallel_p(), covers_regno_p(), cprop_constant_p(), cprop_jump(), create_call_lhs_operand(), create_insn_allocnos(), create_pseudo_cfg(), cse_cc_succs(), cse_insn(), cse_prescan_path(), cselib_expand_value_rtx_1(), cselib_hash_plus_const_int(), cselib_hash_rtx(), cselib_invalidate_rtx(), cselib_lookup_1(), cselib_process_insn(), cselib_record_sets(), cselib_record_sp_cfa_base_equiv(), cselib_redundant_set_p(), cselib_reset_table(), cselib_sp_derived_value_p(), cselib_subst_to_values(), cst_pool_loc_descr(), curr_insn_transform(), dataflow_set_preserve_mem_locs(), dataflow_set_remove_mem_locs(), dbr_schedule(), dead_debug_global_replace_temp(), dead_debug_insert_temp(), dead_debug_promote_uses(), dead_or_set_regno_p(), dead_pseudo_p(), debug_optab_libfuncs(), decl_piece_bitsize(), decode_asm_operands(), decompose(), wi::int_traits< rtx_mode_t >::decompose(), decompose_address(), decompose_automod_address(), decompose_multiword_subregs(), decompose_normal_address(), decrease_live_ranges_number(), default_const_not_ok_for_debug_p(), default_elf_select_rtx_section(), default_encode_section_info(), deletable_insn_p(), deletable_insn_p_1(), delete_address_reloads(), delete_address_reloads_1(), delete_dead_insn(), delete_jump(), delete_move_and_clobber(), delete_output_reload(), delete_prior_computation(), delete_related_insns(), determine_max_iter(), df_def_record_1(), df_defs_record(), df_find_def(), df_find_hard_reg_defs(), df_find_hard_reg_defs_1(), df_find_use(), df_get_call_refs(), df_insn_refs_collect(), df_ref_create_structure(), df_ref_record(), df_uses_record(), df_word_lr_mark_ref(), diddle_return_value_1(), distribute_and_simplify_rtx(), distribute_links(), distribute_notes(), do_compare_rtx_and_jump(), do_jump(), do_local_cprop(), do_output_reload(), do_SUBST(), do_tablejump(), doloop_condition_get(), doloop_modify(), doloop_simplify_count(), drop_writeback(), duplicate_insn_chain(), duplicate_reg_note(), dv_from_rtx(), dw2_asm_output_encoded_addr_rtx(), dw2_force_const_mem(), dw_loc_list(), dw_loc_list_1(), dw_sra_loc_expr(), dwarf2out_frame_debug(), dwarf2out_frame_debug_adjust_cfa(), dwarf2out_frame_debug_cfa_offset(), dwarf2out_frame_debug_cfa_restore(), dwarf2out_frame_debug_expr(), eh_returnjump_p(), eliminate_constant_term(), eliminate_known_true(), eliminate_partially_redundant_loads(), eliminate_regs_1(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), elimination_costs_in_insn(), elimination_effects(), emit(), address_reload_context::emit_autoinc(), emit_block_move(), emit_call_1(), emit_call_insn(), emit_clobber(), emit_conditional_add(), emit_conditional_move(), emit_copy_of_insn_after(), emit_debug_insn(), emit_group_load_1(), emit_group_move(), emit_group_store(), emit_input_reload_insns(), emit_insn(), emit_insn_if_valid_for_reload(), emit_jump_insn(), emit_library_call_value_1(), emit_move_complex(), emit_move_complex_push(), emit_move_list(), emit_move_multi_word(), emit_move_resolve_push(), emit_note_insn_var_location(), emit_notes_in_bb(), emit_pattern_after_noloc(), emit_pattern_before_noloc(), emit_push_insn(), emit_reload_insns(), emit_spill_move(), emit_use(), cselib_hasher::equal(), equal_different_set_p(), equiv_address_substitution(), equiv_constant(), equiv_init_movable_p(), equiv_init_varies_p(), evaluate_eq_attr(), exact_int_to_float_conversion_p(), exp_equiv_p(), expand_asm_stmt(), expand_assignment(), expand_builtin_apply(), expand_call(), expand_ccmp_expr(), expand_compound_operation(), expand_constructor(), expand_debug_expr(), expand_debug_locations(), expand_debug_parm_decl(), expand_expr_real_1(), expand_expr_real_2(), expand_field_assignment(), expand_function_end(), expand_function_start(), expand_gimple_basic_block(), expand_gimple_stmt(), expand_gimple_stmt_1(), expand_loc(), expand_mult_const(), expand_return(), expand_shift_1(), expand_ubsan_result_store(), expand_used_vars(), expand_value_return(), ext_dce_process_sets(), ext_dce_process_uses(), ext_dce_try_optimize_insn(), function_reader::extra_parsing_for_operand_code_0(), extract_asm_operands(), extract_bit_field_1(), extract_bit_field_using_extv(), extract_insn(), extract_left_shift(), extract_mem_from_operand(), extract_plus_operands(), extract_split_bit_field(), extract_writebacks(), fill_simple_delay_slots(), fill_slots_from_thread(), final_scan_insn_1(), find_address(), find_args_size_adjust(), find_attrs_to_cache(), find_auto_inc(), find_base_term(), find_base_value(), find_bb_boundaries(), find_call_crossed_cheap_reg(), find_call_stack_args(), find_cc_set(), find_comparison_args(), find_cond_trap(), find_constant_term_loc(), find_decomposable_shift_zext(), find_decomposable_subregs(), find_dummy_reload(), find_end_label(), find_equiv_reg(), find_first_parameter_load(), find_flags_uses_in_insn(), find_implicit_sets(), find_inc_amount(), find_loads(), find_loc_in_1pdv(), find_matching_operand(), find_mem(), find_mem_conflicts(), find_mem_expr_in_1pdv(), find_memory(), find_memory_stores(), find_operand(), find_reg_equal_equiv_note(), find_reg_fusage(), find_reg_offset_for_const(), find_regno_fusage(), find_reload_regno_insns(), find_reloads(), find_reloads_address(), find_reloads_address_1(), find_reloads_address_part(), find_reloads_toplev(), find_replacement(), find_reusable_reload(), find_sets_in_insn(), find_single_use_1(), find_split_point(), find_subregs_of_mode(), find_temp_slot_from_address(), pair_fusion::find_trailing_add(), find_tune_attr(), find_tune_attr(), find_used_regs(), fix_crossing_conditional_branches(), fixed_base_plus_p(), fixup_debug_uses(), flow_active_insn_p(), fold_rtx(), for_each_inc_dec(), for_each_inc_dec_find_inc_dec(), force_const_mem(), force_int_to_mode(), force_operand(), force_reg(), force_reload_address(), force_to_mode(), forget_old_reloads_1(), form_sum(), form_sum(), forward_propagate_subreg(), forward_propagate_subreg(), free_INSN_LIST_node(), free_list(), free_load_extend(), function_invariant_p(), gen_addr_rtx(), gen_array_type_die(), gen_attr(), gen_attr(), gen_automata_option(), gen_automaton(), gen_bypass(), gen_cpu_unit(), gen_excl_set(), gen_exp(), gen_group_rtx(), gen_insn(), gen_insn(), gen_lowpart_common(), gen_lowpart_for_combine(), gen_lowpart_general(), gen_mnemonic_attr(), gen_peephole2(), gen_presence_absence_set(), gen_query_cpu_unit(), gen_reload(), gen_reload_chain_without_interm_reg_p(), gen_split(), general_operand(), generate_switch_p(), get_addr(), get_addr_from_global_cache(), get_addr_from_local_cache(), get_alternatives_number(), get_attr_length_1(), get_base_term(), get_biv_step_1(), get_branch_condition(), get_c_test(), get_call_args(), get_call_rtx_from(), get_condition(), get_defs(), get_eh_region_and_lp_from_rtx(), get_equiv_regno(), get_extended_src_reg(), get_first_nonnote_insn(), get_fnname_from_decl(), get_index_code(), get_index_scale(), get_index_term(), get_integer_term(), rtx_jump_table_data::get_labels(), get_last_value(), get_last_value_validate(), get_mem_expr_from_op(), get_pattern_stats_1(), get_peephole2_pattern(), get_pressure_class_and_nregs(), get_pressure_class_and_nregs(), get_regno(), get_related_value(), get_reload_reg(), get_some_local_dynamic_name(), get_sub_rtx(), pair_fusion::get_viable_bases(), go_through_subreg(), function_reader::handle_any_trailing_information(), hard_reg_set_here_p(), has_subst_attribute(), hash_invariant_expr_1(), hash_rtx(), hash_scan_insn(), hash_scan_insn(), hash_scan_set(), identify_predicable_attribute(), if_test_bypass_p(), if_then_else_cond(), implicit_set_cond_p(), implies_p(), in_class_p(), in_initial_view_p(), inc_for_reload(), indirect_jump_optimize(), indirect_operand(), inherit_in_ebb(), inherit_reload_reg(), init_alias_analysis(), init_eliminable_invariants(), initial_return_save(), initialize_argument_information(), insert_regs(), insert_right_side(), insert_with_costs(), inside_basic_block_p(), insn_invalid_p(), insn_live_p(), insn_nothrow_p(), insn_stack_adjust_offset_pre_post(), instantiate_decl_rtl(), instantiate_virtual_regs(), instantiate_virtual_regs_in_insn(), instantiate_virtual_regs_in_rtx(), interesting_dest_for_shprep(), internal_arg_pointer_based_exp(), intersect_loc_chains(), invalidate(), invalidate_any_buried_refs(), invalidate_dest(), invalidate_from_clobbers(), invalidate_from_sets_and_clobbers(), invalidate_reg(), invariant_expr_equal_p(), invariant_or_equiv_p(), invariant_p(), invert_exp_1(), ira_bad_reload_regno_1(), ira_implicitly_set_insn_hard_regs(), ira_remove_insn_scratches(), is_based_loc(), is_cond_copy_insn(), is_not(), is_parallel_of_n_reg_sets(), is_predicable(), is_pseudo_reg(), iv_analyze(), iv_analyze_expr(), iv_analyze_op(), iv_get_reaching_def(), iv_number_of_iterations(), kill_autoinc_value(), kill_clobbered_value(), kill_set_value(), kill_value(), known_cond(), last_active_insn(), leaf_function_p(), likely_spilled_retval_p(), link_insn_into_chain(), load_register_parameters(), loc_cmp(), loc_descriptor(), loc_equivalence_change_p(), loc_list_from_tree_1(), loc_mentioned_in_p(), local_cprop_find_used_regs(), local_cprop_pass(), location_for_asm(), lookup_as_function(), lra_constraints(), lra_delete_dead_insn(), lra_eliminate_regs_1(), lra_emit_add(), lra_emit_move(), lra_final_code_change(), lra_rtx_hash(), lra_set_insn_recog_data(), lra_substitute_pseudo(), lra_update_insn_regno_info(), lsb_bitfield_op_p(), main(), main(), make_automaton_attrs(), make_canonical(), make_compound_operation(), make_compound_operation_int(), symtab_node::make_decl_local(), make_decl_rtl(), make_edges(), make_extraction(), make_field_assignment(), make_insn_raw(), make_pseudo_conflict(), make_return_insns(), make_safe_from(), make_tree(), mark_altered(), mark_constants_in_pattern(), mark_effect(), mark_hard_reg_early_clobbers(), mark_jump_label_1(), mark_label_nuses(), mark_mode_tests(), mark_nonreg_stores_1(), mark_nonreg_stores_2(), mark_not_eliminable(), mark_not_eliminable(), mark_operands_from_match_dup(), mark_operands_used_in_match_dup(), mark_ref_dead(), mark_ref_live(), mark_ref_regs(), mark_referenced_regs(), mark_referenced_resources(), mark_reg_clobber(), mark_reg_store(), mark_set_regs(), mark_set_resources(), mark_symbol_refs_as_used(), mark_target_live_regs(), mark_used_flags(), mark_used_regs_combine(), mark_user_reg(), mark_weak(), match_pattern_2(), match_reload(), match_rtx(), max_attr_value(), max_operand_1(), may_alias_p(), may_trap_p_1(), maybe_add_nop_after_section_switch(), maybe_emit_group_store(), maybe_fix_stack_asms(), maybe_merge_cfa_adjust(), maybe_propagate_label_ref(), maybe_record_trace_start(), maybe_reset_location_view(), maybe_swap_commutative_operands(), mem_autoinc_base(), mem_loc_descriptor(), memory_address_addr_space(), memory_operand(), memref_referenced_p(), memrefs_conflict_p(), mems_conflict_for_gcse_p(), mention_regs(), merge_equiv_classes(), merge_if_block(), merge_in_block(), merge_memattrs(), min_attr_value(), minmax_loc_descriptor(), mode_dependent_address_p(), modified_between_p(), modified_in_p(), move2add_note_store(), move2add_record_mode(), move2add_use_add2_insn(), move_deaths(), move_insn_for_shrink_wrap(), move_invariant_reg(), move_plus_up(), multiple_reg_loc_descriptor(), multiple_sets(), narrow_reload_pseudo_class(), native_encode_rtx(), need_fake_edge_p(), needs_barrier_p(), needs_variable(), new_elt_loc_list(), generic_subrtx_iterator< T >::next(), next_insn(), next_insn_no_annul(), no_conflict_move_test(), noce_bbs_ok_for_cond_zero_arith(), noce_can_force_operand(), noce_cond_zero_binary_op_supported(), noce_convert_multiple_sets_1(), noce_emit_cmove(), noce_emit_move_insn(), noce_emit_store_flag(), noce_get_alt_condition(), noce_get_condition(), noce_process_if_block(), noce_reversed_cond_code(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_cond_zero_arith(), noce_try_ifelse_collapse(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag_constants(), non_suitable_const(), nonzero_address_p(), nonzero_bits1(), nonzero_bits_binary_arith_p(), noop_move_p(), note_pattern_stores(), note_sets_clobbers(), note_stores(), note_uses(), notice_stack_pointer_modification_1(), notify_dependents_of_changed_value(), notreg_cost(), num_sign_bit_copies1(), num_sign_bit_copies_binary_arith_p(), offset_address(), offset_within_block_p(), offsettable_address_addr_space_p(), old_insns_match_p(), one_cprop_pass(), onlyjump_p(), operand_for_swap_move_operator(), rtx_writer::operand_has_default_value_p(), operands_match_p(), operands_match_p(), oprs_unchanged_p(), oprs_unchanged_p(), optimize_attrs(), optimize_bitfield_assignment_op(), optimize_skip(), ordered_comparison_operator(), outgoing_edges_match(), output_addr_const(), output_asm_label(), output_constant_pool_1(), output_constant_pool_2(), output_operand(), output_peephole2_scratches(), own_thread_p(), pair_mem_strip_offset(), paradoxical_subreg_p(), parse_add_or_inc(), partial_subreg_p(), patch_jump_insn(), pattern_cost(), pc_set(), pieces_addr::pieces_addr(), place_block_symbol(), plus_constant(), plus_minus_operand_p(), pop_operand(), popcount_loc_descriptor(), pre_insert_copy_insn(), precompute_register_parameters(), predicate_name(), prepare_call_address(), prepare_call_arguments(), print_exp(), print_insn(), print_insn_with_notes(), print_pattern(), rtx_writer::print_rtl(), rtx_writer::print_rtx(), rtx_writer::print_rtx_operand(), rtx_writer::print_rtx_operand_code_0(), rtx_writer::print_rtx_operand_code_i(), rtx_writer::print_rtx_operand_code_u(), rtx_writer::print_rtx_operand_codes_E_and_V(), print_value(), process_addr_reg(), process_address_1(), process_alt_operands(), process_bb_node_lives(), pair_fusion::process_block(), process_define_constraint(), process_define_predicate(), process_define_subst(), process_rtx(), process_single_reg_class_operands(), process_substs_on_one_elem(), prune_expressions(), purge_dead_tablejump_edges(), push_operand(), push_reload(), read_complex_part(), read_md_rtx(), read_modify_subreg_p(), rtx_reader::read_rtx_code(), function_reader::read_rtx_operand(), rtx_reader::read_rtx_operand(), function_reader::read_rtx_operand_i_or_n(), function_reader::read_rtx_operand_u(), rtx_reader::read_rtx_variadic(), recog_for_combine(), recog_for_combine_1(), record_address_regs(), record_dead_and_set_regs_1(), record_jump_equiv(), record_last_set_info(), record_last_set_info(), record_operand_costs(), record_set(), record_set_data(), record_stack_refs(), record_store(), record_truncated_value(), record_value_for_reg(), redirect_exp_1(), redirect_jump_1(), redundant_insn(), references_value_p(), refers_to_mem_for_reload_p(), refers_to_regno_for_reload_p(), refers_to_regno_p(), refs_newer_value_p(), reg_bitfield_target_p(), reg_dead_at_p_1(), reg_mentioned_p(), reg_or_subregno(), reg_overlap_mentioned_for_reload_p(), reg_overlap_mentioned_p(), reg_referenced_p(), reg_scan_mark_refs(), reg_set_p(), reg_subword_p(), register_operand(), regno_clobbered_p(), regno_use_in(), regno_val_use_in(), rehash_using_reg(), relax_delay_slots(), reload(), reload_as_needed(), reload_combine(), reload_combine_note_store(), reload_combine_recognize_const_pattern(), reload_combine_recognize_pattern(), reload_cse_move2add(), reload_cse_move2add_invalidate(), reload_cse_simplify(), reload_cse_simplify_operands(), reload_inner_reg_of_subreg(), remove_clobbers(), remove_constraints(), remove_duplicate_values(), remove_inheritance_pseudos(), remove_insn(), remove_invalid_subreg_refs(), remove_pseudos(), renumerate_operands_in_pattern(), replace_duplicating_operands_in_pattern(), replace_expr_with_values(), replace_label(), replace_oldest_value_addr(), replace_operands_with_dups(), replace_pseudos_in(), replace_read(), replace_rtx(), replaced_subreg(), reset_all_used_flags(), reset_subreg_promoted_p(), resolve_operand_for_swap_move_operator(), resolve_reg_p(), resolve_shift_zext(), resolve_simple_move(), resolve_subreg_p(), rest_of_clean_state(), return_insn_p(), returnjump_p(), reverse_op(), reversed_comparison_code(), reversed_comparison_code_parts(), rotate_loc_descriptor(), rtl_for_decl_location(), rtl_lv_add_condition_to_bb(), rtl_verify_bb_layout(), rtvec_all_equal_p(), rtx_addr_can_trap_p_1(), rtx_addr_varies_p(), rtx_cost(), rtx_debug_expr_p(), rtx_equal_for_cselib_1(), rtx_equal_for_field_assignment_p(), rtx_equal_for_memref_p(), rtx_equal_p(), rtx_interchangeable_p(), rtx_moveable_p(), rtx_referenced_p(), rtx_renumbered_equal_p(), rtx_size(), rtx_unstable_p(), rtx_varies_p(), safe_from_p(), same_dw_val_p(), save_call_clobbered_regs(), scan_insn(), scan_loop(), scan_one_insn(), scan_operands(), scan_paradoxical_subregs(), scan_rtx(), scan_rtx_address(), scan_rtx_reg(), scan_trace(), scratch_equal(), scratch_operand(), set_for_reg_notes(), set_label_offsets(), set_nonzero_bits_and_sign_copies(), set_noop_p(), set_paradoxical_subreg(), set_reg_attrs_for_decl_rtl(), set_reg_attrs_for_parm(), set_reg_attrs_from_value(), set_return_jump_label(), set_rtl(), set_slot_part(), set_unique_reg_note(), setup_reg_equiv(), shallow_copy_rtx(), shared_const_p(), shorten_branches(), side_effects_p(), simple_move(), simple_move_operand(), simple_reg_p(), simple_regno_set(), simple_rhs_p(), simplejump_p(), simplify_and_const_int_1(), simplify_and_tree(), simplify_context::simplify_associative_operation(), simplify_context::simplify_binary_operation_1(), simplify_context::simplify_byte_swapping_operation(), simplify_comparison(), simplify_cond(), simplify_context::simplify_cond_clz_ctz(), simplify_const_binary_operation(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_context::simplify_distributive_operation(), simplify_context::simplify_gen_subreg(), simplify_gen_subreg_concatn(), simplify_if_then_else(), simplify_logical(), simplify_context::simplify_logical_relational_operation(), simplify_context::simplify_merge_mask(), simplify_operand_subreg(), simplify_or_tree(), simplify_context::simplify_plus_minus(), simplify_context::simplify_relational_operation(), simplify_context::simplify_relational_operation_1(), simplify_replace_fn_rtx(), simplify_rtx(), simplify_set(), simplify_shift_const_1(), simplify_context::simplify_subreg(), simplify_subreg_concatn(), simplify_context::simplify_ternary_operation(), simplify_test_exp(), simplify_context::simplify_truncation(), simplify_context::simplify_unary_operation_1(), simplify_using_condition(), simplify_using_initial_values(), simplify_while_replacing(), single_set(), single_set_2(), single_set_for_csa(), single_set_gcse(), skip_insns_after_block(), skip_usage_debug_insns(), sp_based_mem_offset(), special_predicate_operand_p(), split_const(), split_double(), split_if_necessary(), split_reg(), stack_adjust_offset_pre_post(), stack_adjust_offset_pre_post_cb(), stack_memref_p(), stop_search_p(), store_bit_field_1(), store_bit_field_using_insv(), store_data_bypass_p(), store_data_bypass_p_1(), store_expr(), store_field(), store_integral_bit_field(), store_killed_in_insn(), store_killed_in_pat(), store_one_arg(), store_split_bit_field(), store_unaligned_arguments_into_pseudos(), strip_address_mutations(), strip_offset(), strip_offset_and_add(), strip_paradoxical_subreg(), strip_subreg(), subreg_lowpart_p(), subst(), subst_dup(), subst_indexed_address(), subst_pattern_match(), subst_reg_equivs(), subst_reloads(), substitute(), substitute(), substitute_address(), tablejump_casesi_pattern(), tests_attr_p(), thread_jump(), tls_referenced_p(), gdbhooks.RtxPrinter::to_string(), pair_fusion_bb_info::track_access(), transform_ifelse(), true_dependence_1(), true_regnum(), try_apply_stack_adjustment(), try_back_substitute_reg(), try_combine(), try_eliminate_compare(), try_emit_cmove_seq(), try_merge_delay_insns(), try_replace_in_use(), try_replace_reg(), rtx_properties::try_to_add_dest(), rtx_properties::try_to_add_insn(), rtx_properties::try_to_add_pattern(), rtx_properties::try_to_add_src(), undefined_operand_subword_p(), undo_optional_reloads(), unique_base_value_p(), unsigned_reg_p(), unsuitable_loc(), update_equiv_regs(), update_live_status(), update_reg_equal_equiv_notes(), update_table_tick(), update_temp_slot_address(), use_anchored_address(), use_narrower_mode(), use_narrower_mode_test(), use_related_value(), use_type(), uses_hard_regs_p(), uses_rtx_reuse_p(), val_bind(), val_reset(), valid_base_or_index_term_p(), validate_autoinc_and_mem_addr_p(), validate_change_1(), validate_exp(), validate_pattern(), validate_replace_rtx_1(), validate_simplify_insn(), validate_test_and_branch(), variable_merge_over_cur(), variable_post_merge_new_vals(), vec_duplicate_p(), vec_series_p(), verify_changes(), verify_rtl_sharing(), verify_rtx_sharing(), volatile_insn_p(), volatile_refs_p(), vt_add_function_parameter(), vt_canon_true_dep(), vt_canonicalize_addr(), vt_expand_loc_callback(), vt_expand_var_loc_chain(), vt_get_canonicalize_base(), vt_get_decl_and_offset(), vt_initialize(), walk_alter_subreg(), walk_attr_value(), walk_insn_part(), walk_rtx(), want_to_gcse_p(), widen_operand(), word_register_operation_p(), write_attr_set(), write_attr_value(), write_complex_part(), write_dependence_p(), write_insn_cases(), write_predicate_expr(), write_predicate_stmts(), and write_test_expr().
#define GET_MODE | ( | RTX | ) |
Referenced by add_const_value_attribute(), add_equal_note(), add_regs_to_insn_regno_info(), add_removable_extension(), inchash::add_rtx(), add_stored_regs(), add_stores(), add_test(), add_uses(), addr_offset_valid_p(), addr_side_effect_eval(), address_operand(), adjust_address_1(), adjust_insn(), adjust_mems(), adjust_reg_mode(), allocate_basic_variable(), alter_reg(), alter_subreg(), analyze_insn_to_expand_var(), analyze_iv_to_split_insn(), anti_adjust_stack_and_probe(), anti_adjust_stack_and_probe_stack_clash(), apply_distributive_law(), insn_propagation::apply_to_rvalue_1(), approx_reg_cost(), asm_operand_ok(), assemble_integer(), assign_call_lhs(), assign_mem_slot(), assign_parm_adjust_entry_rtl(), assign_parm_remove_parallels(), assign_parm_setup_block(), assign_parm_setup_block_p(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_parms_unsplit_complex(), assign_stack_temp_for_type(), attempt_change(), autoinc_split(), avoid_complex_debug_insns(), avoid_constant_pool_reference(), avoid_likely_spilled_reg(), base_plus_disp_to_reg(), base_to_reg(), bb_estimate_probability_locally(), bb_ok_for_noce_convert_multiple_sets(), find_comparison_dom_walker::before_dom_children(), break_out_memory_refs(), build_def_use(), calculate_elim_costs_all_insns(), calculate_equiv_gains(), can_assign_to_reg_without_clobbers_p(), can_change_dest_mode(), can_combine_p(), can_decompose_p(), can_eliminate_compare(), canon_address(), canon_condition(), canon_reg_for_combine(), canon_rtx(), canonicalize_address(), canonicalize_address_mult(), canonicalize_condition(), carry_backpropagate(), cc_in_cond(), change_address(), change_address_1(), change_zero_ext(), check_and_process_move(), check_cond_move_block(), check_mem_read_rtx(), check_new_reg_p(), check_secondary_memory_needed_p(), check_sibcall_argument_overlap_1(), choose_reload_regs(), cleanup_auto_inc_dec(), clear_storage(), clear_storage_hints(), clz_loc_descriptor(), collect_non_operand_hard_regs(), combinable_i3pat(), combine_instructions(), combine_reaching_defs(), combine_set_extension(), combine_simplify_rtx(), combine_stack_adjustments_for_block(), combine_temp_slots(), combine_var_copies_in_loop_exit(), compare_and_jump_seq(), comparison_operator(), complex_word_subreg_p(), compress_float_constant(), compute_ld_motion_mems(), compute_regs_asm_clobbered(), compute_reload_subreg_offset(), compute_transp(), concat_loc_descriptor(), concatn_loc_descriptor(), cond_exec_get_condition(), cond_exec_process_if_block(), cond_exec_process_insns(), consolidate_reg(), function_reader::consolidate_singletons(), const_double_operand(), const_rtx_hash_1(), const_vec_series_p_1(), const_vector_elt(), const_vector_int_elt(), constrain_operands(), contains_ccmode_rtx_p(), contains_reg_p(), convert_debug_memory_address(), convert_extracted_bit_field(), convert_memory_address_addr_space_1(), convert_mode_scalar(), convert_modes(), convert_move(), copy_blkmode_from_reg(), copy_to_mode_reg(), copy_to_reg(), copy_value(), copyprop_hardreg_forward_1(), create_insn_allocnos(), create_new_invariant(), cse_cc_succs(), cse_change_cc_mode(), cse_condition_code_reg(), cse_extended_basic_block(), cse_insn(), cse_process_note_1(), cselib_add_permanent_equiv(), cselib_expand_value_rtx_1(), cselib_hash_plus_const_int(), cselib_hash_rtx(), cselib_invalidate_mem(), cselib_invalidate_regno(), cselib_invalidate_rtx(), cselib_invalidated_by_call_p(), cselib_lookup_1(), cselib_lookup_mem(), cselib_record_autoinc_cb(), cselib_record_sets(), cselib_redundant_set_p(), cselib_reg_set_mode(), cselib_reset_table(), cselib_subst_to_values(), cst_pool_loc_descr(), curr_insn_transform(), dataflow_set_equiv_regs(), dead_debug_insert_temp(), dead_debug_promote_uses(), dead_or_predicable(), debug_lowpart_subreg(), decl_overlaps_hard_reg_set_p(), decl_piece_bitsize(), decl_piece_varloc_ptr(), decode_asm_operands(), decompose(), decompose_mem_address(), decompose_multiword_subregs(), decompose_normal_address(), decompose_register(), decrease_live_ranges_number(), default_memtag_set_tag(), default_unspec_may_trap_p(), delegitimize_mem_from_attrs(), delete_output_reload(), delete_trivially_dead_insns(), delete_unmarked_insns(), determine_block_size(), df_ref_change_reg_with_loc(), df_ref_record(), df_word_lr_mark_ref(), distribute_and_simplify_rtx(), do_compare_rtx_and_jump(), do_input_reload(), do_jump(), do_local_cprop(), do_output_reload(), do_remat(), do_store_flag(), do_SUBST(), doloop_modify(), doloop_simplify_count(), drop_writeback(), dw_loc_list_1(), dwarf2out_frame_debug_cfa_expression(), dwarf2out_frame_debug_cfa_offset(), dwarf2out_frame_debug_cfa_val_expression(), dwarf2out_frame_debug_expr(), dwf_cfa_reg(), eliminate_constant_term(), eliminate_partially_redundant_loads(), eliminate_regs_1(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), elimination_effects(), emit_add3_insn(), address_reload_context::emit_autoinc(), emit_block_cmp_via_loop(), emit_block_move(), emit_block_move_via_loop(), emit_block_move_via_oriented_loop(), emit_cmp_and_jump_insns(), emit_conditional_add(), emit_conditional_move(), emit_conditional_move_1(), emit_group_load_1(), emit_group_load_into_temps(), emit_group_move_into_temps(), emit_group_store(), emit_inc(), emit_input_reload_insns(), emit_libcall_block_1(), emit_library_call_value_1(), emit_move_change_mode(), emit_move_insn(), emit_move_insn_1(), emit_note_insn_var_location(), emit_output_reload_insns(), emit_partition_copy(), emit_push_insn(), emit_reload_insns(), emit_spill_move(), emit_store_flag(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), emit_storent_insn(), entry_register(), const_double_hasher::equal(), const_fixed_hasher::equal(), const_poly_int_hasher::equal(), cselib_hasher::equal(), equiv_address_substitution(), equiv_constant(), equivalent_reg_at_start(), exact_int_to_float_conversion_p(), exp_equiv_p(), expand_abs(), expand_and(), expand_arith_overflow_result_store(), expand_asm_stmt(), expand_assignment(), expand_atomic_compare_and_swap(), expand_atomic_exchange(), expand_atomic_fetch_op(), expand_atomic_fetch_op_no_fallback(), expand_atomic_load(), expand_atomic_store(), expand_atomic_test_and_set(), expand_binop(), expand_binop_directly(), expand_builtin_apply(), expand_builtin_atomic_compare_exchange(), expand_builtin_bswap(), expand_builtin_extract_return_addr(), expand_builtin_feclear_feraise_except(), expand_builtin_fegetround(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_init_dwarf_reg_sizes(), expand_builtin_interclass_mathfn(), expand_builtin_issignaling(), expand_builtin_memcmp(), expand_builtin_powi(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strlen(), expand_builtin_strncmp(), expand_builtin_thread_pointer(), expand_builtin_unop(), expand_call(), expand_clobber(), expand_compare_and_swap_loop(), expand_compound_operation(), expand_cond_expr_using_cmove(), expand_copysign(), expand_debug_expr(), expand_debug_locations(), expand_debug_parm_decl(), expand_debug_source_expr(), expand_dec(), expand_divmod(), expand_doubleword_mult(), expand_expr_addr_expr(), expand_expr_addr_expr_1(), expand_expr_force_mode(), expand_expr_real_1(), expand_expr_real_2(), expand_field_assignment(), expand_fix(), expand_fixed_convert(), expand_float(), expand_function_end(), expand_function_start(), expand_gimple_stmt_1(), expand_HWASAN_CHOOSE_TAG(), expand_ifn_atomic_compare_exchange(), expand_ifn_atomic_compare_exchange_into_call(), expand_inc(), expand_movstr(), expand_mult(), expand_mult_const(), expand_parity(), expand_POPCOUNT(), expand_return(), expand_SET_EDOM(), expand_sfix_optab(), expand_shift_1(), expand_single_bit_test(), expand_speculation_safe_value(), expand_twoval_binop(), expand_twoval_binop_libfunc(), expand_twoval_unop(), expand_unop(), expand_var_during_unrolling(), expand_vec_perm_1(), expand_vec_perm_const(), expand_vec_perm_var(), expand_vector_broadcast(), expand_vector_ubsan_overflow(), expand_widening_mult(), ext_dce_process_sets(), ext_dce_process_uses(), ext_dce_try_optimize_insn(), extract_bit_field(), extract_bit_field_1(), extract_bit_field_using_extv(), extract_insn(), extract_integral_bit_field(), extract_low_bits(), extract_writebacks(), fill_slots_from_thread(), find_all_hard_regs(), find_and_remove_re(), find_args_size_adjust(), find_base_term(), find_base_value(), find_cc_set(), find_comparison_args(), find_cond_trap(), find_decomposable_shift_zext(), find_decomposable_subregs(), find_dummy_reload(), find_equiv_reg(), find_identical_invariants(), find_inc(), find_inc_amount(), find_mem_conflicts(), find_moveable_pseudos(), find_moveable_store(), find_oldest_value_reg(), find_reg_offset_for_const(), find_reloads(), find_reloads_address(), find_reloads_address_1(), find_reloads_address_part(), find_reloads_subreg_address(), find_reloads_toplev(), find_replacement(), find_sets_in_insn(), find_shift_sequence(), find_split_point(), fixup_debug_use(), fold_rtx(), for_each_inc_dec_find_inc_dec(), force_int_to_mode(), force_not_mem(), force_operand(), force_reload_address(), force_to_mode(), form_sum(), form_sum(), forward_propagate_and_simplify(), forward_propagate_subreg(), free_load_extend(), gen_add2_insn(), gen_add3_insn(), gen_addptr3_insn(), gen_cond_trap(), gen_exp(), gen_group_rtx(), gen_highpart(), gen_highpart_mode(), gen_insn(), gen_lowpart_common(), gen_lowpart_for_combine(), gen_lowpart_for_debug(), gen_lowpart_general(), gen_lowpart_if_possible(), gen_lowpart_or_truncate(), gen_lowpart_SUBREG(), gen_reg_rtx_and_attrs(), gen_reload(), gen_rtx_scratch(), gen_rtx_SUBREG(), gen_sub2_insn(), gen_sub3_insn(), general_operand(), get_addr(), get_address_mode(), get_biv_step_1(), get_branch_condition(), get_call_args(), rtx_jump_table_data::get_data_mode(), get_dynamic_stack_size(), get_equiv_with_elimination(), get_hard_regno(), get_inv_cost(), get_last_value(), get_last_value_validate(), get_mem_attrs(), get_pressure_class_and_nregs(), get_pressure_class_and_nregs(), get_reload_reg(), get_scratch_reg(), get_scratch_reg(), get_stored_val(), get_subreg_tracking_sizes(), go_through_subreg(), group_limit(), hard_function_value(), hard_reg_set_here_p(), has_hard_reg_initial_val(), const_double_hasher::hash(), const_fixed_hasher::hash(), const_poly_int_hasher::hash(), pre_ldst_expr_hasher::hash(), st_expr_hasher::hash(), hash_expr(), hash_invariant_expr_1(), hash_rtx(), hash_scan_set(), hash_scan_set(), hash_scan_set(), have_add2_insn(), have_addptr3_insn(), have_sub2_insn(), HONOR_INFINITIES(), HONOR_NANS(), HONOR_SIGN_DEPENDENT_ROUNDING(), HONOR_SIGNED_ZEROS(), HONOR_SNANS(), hwasan_truncate_to_tag_size(), if_then_else_cond(), immediate_operand(), implicit_set_cond_p(), implies_p(), in_class_p(), inc_for_reload(), pieces_addr::increment_address(), index_part_to_reg(), indirect_operand(), inherit_in_ebb(), inherit_reload_reg(), init_alias_analysis(), init_curr_operand_mode(), init_eliminable_invariants(), initialize_uninitialized_regs(), insert_float(), insert_regs(), insert_restore(), insert_save(), insert_value_copy_on_edge(), insert_var_expansion_initialization(), insert_with_costs(), instantiate_virtual_regs_in_insn(), instantiate_virtual_regs_in_rtx(), inv_can_prop_to_addr_use(), invalidate(), invalidate_dest(), invalidate_for_call(), invalidate_from_clobbers(), invalidate_from_sets_and_clobbers(), invalidate_reg(), invariant_expr_equal_p(), invariant_p(), invert_exp_1(),