GCC Middle and Back End API Reference
|
Go to the source code of this file.
void adjust_reg_mode | ( | rtx | , |
enum | machine_mode | ||
) |
void clear_mem_offset | ( | rtx | ) |
Clear the offset recorded for MEM.
void clear_mem_size | ( | rtx | ) |
Clear the size recorded for MEM.
rtx gen_blockage | ( | void | ) |
Generate an empty ASM_INPUT, which is used to block attempts to schedule, and to block register equivalences to be seen across this insn.
Referenced by expand_builtin_setjmp_receiver(), expand_function_end(), and thread_prologue_and_epilogue_insns().
rtx gen_int_mode | ( | HOST_WIDE_INT | , |
enum | machine_mode | ||
) |
rtvec gen_rtvec | ( | int | , |
... | |||
) |
|
inlinestatic |
Return the first insn of the current sequence or current function.
Referenced by add_cfis_to_fde(), add_insn(), add_insn_before_nobb(), add_test(), asan_clear_shadow(), asan_emit_stack_protection(), assign_parm_setup_block(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_parms_unsplit_complex(), break_superblocks(), calculate_elim_costs_all_insns(), cfg_layout_delete_block(), cfg_layout_finalize(), cfg_layout_split_edge(), check_and_process_move(), check_sibcall_argument_overlap(), cleanup_barriers(), cleanup_cfg(), combine_var_copies_in_loop_exit(), compare_and_jump_seq(), compensate_edge(), computation_cost(), construct_init_block(), convert_move(), convert_to_eh_region_ranges(), copy_src_to_dest(), create_pseudo_cfg(), cse_main(), curr_insn_transform(), do_reload(), doloop_modify(), dup_block_and_redirect(), dw2_build_landing_pads(), emit_inc_dec_insn_before(), emit_initial_value_sets(), emit_input_reload_insns(), emit_move_list(), emit_move_multi_word(), emit_output_reload_insns(), emit_partition_copy(), emit_pattern_before_setloc(), emit_use_return_register_into_block(), end_ifcvt_sequence(), entry_of_function(), execute_function_dump(), execute_jump(), expand_absneg_bit(), expand_atomic_fetch_op(), expand_binop(), expand_builtin_apply_args(), expand_builtin_int_roundingfn(), expand_builtin_int_roundingfn_2(), expand_builtin_mathfn(), expand_builtin_mathfn_2(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), expand_builtin_return(), expand_builtin_saveregs(), expand_builtin_strlen(), expand_call(), expand_cond_expr_using_cmove(), expand_copysign_bit(), expand_ctz(), expand_debug_locations(), expand_doubleword_clz(), expand_expr_real_2(), expand_ffs(), expand_fix(), expand_fixed_convert(), expand_float(), expand_function_end(), expand_sdiv_pow2(), expand_twoval_binop_libfunc(), expand_unop(), expmed_mult_highpart_optab(), fill_slots_from_thread(), find_shift_sequence(), fix_crossing_unconditional_branches(), fixup_tail_calls(), free_bb_for_insn(), fwprop_done(), gen_clobber(), gen_cond_trap(), gen_move_insn(), gen_reload(), gen_use(), generate_prolog_epilog(), get_address_cost(), get_arg_pointer_save_area(), get_first_nonnote_insn(), get_uncond_jump_length(), gimple_expand_cfg(), if_convert(), inherit_in_ebb(), inherit_reload_reg(), init_set_costs(), initialize_uninitialized_regs(), insert_base_initialization(), insert_insn_on_edge(), insert_move_insn_before(), insert_value_copy_on_edge(), insert_var_expansion_initialization(), instantiate_virtual_regs(), instantiate_virtual_regs_in_insn(), internal_arg_pointer_based_exp_scan(), ira(), leaf_function_p(), lra(), mark_constant_pool(), match_asm_constraints_1(), match_reload(), noce_emit_cmove(), noce_emit_move_insn(), noce_emit_store_flag(), noce_process_if_block(), noce_try_cmove_arith(), optimize_mode_switching(), peephole2_optimize(), pop_topmost_sequence(), prepare_float_lib_cmp(), process_addr_reg(), process_address(), process_insert_insn(), record_effective_endpoints(), record_entry_value(), record_store(), reemit_insn_block_notes(), remove_insn(), reorder_blocks(), reorder_insns_nobb(), reorg_loops(), replace_read(), reposition_prologue_and_epilogue_notes(), reset_all_used_flags(), resolve_shift_zext(), resolve_simple_move(), rest_of_clean_state(), rest_of_handle_combine(), rest_of_handle_cse(), rest_of_handle_cse2(), rest_of_handle_cse_after_global_opts(), rest_of_handle_delay_slots(), rest_of_handle_final(), rest_of_handle_gcse2(), rest_of_handle_postreload(), rest_of_handle_shorten_branches(), rtl_lv_add_condition_to_bb(), rtl_verify_bb_layout(), rtl_verify_edges(), set_nothrow_function_flags(), shorten_branches(), simplify_operand_subreg(), sjlj_emit_dispatch_table(), sjlj_emit_function_enter(), sjlj_emit_function_exit(), sjlj_mark_call_sites(), spill_pseudos(), split_all_insns_noflow(), split_iv(), start_sequence(), thread_prologue_and_epilogue_insns(), try_crossjump_to_edge(), unroll_loop_runtime_iterations(), unshare_all_rtl(), update_equiv_regs(), verify_insn_chain(), verify_rtl_sharing(), vt_add_function_parameter(), vt_init_cfa_base(), and vt_initialize().
|
inlinestatic |
Return the last insn emitted in current sequence or current function.
Referenced by add_insn(), add_insn_after_nobb(), add_test(), adjust_stack_1(), allocate_dynamic_stack_space(), asan_clear_shadow(), assign_parm_setup_block(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_parms_unsplit_complex(), cfg_layout_delete_block(), cfg_layout_duplicate_bb(), commit_one_edge_insertion(), compare_and_jump_seq(), compress_float_constant(), construct_exit_block(), construct_init_block(), create_basic_block_structure(), delete_trivially_dead_insns(), duplicate_insn_chain(), dwarf2out_var_location(), emit_add3_insn(), emit_conditional_add(), emit_conditional_move(), emit_cstore(), emit_debug_insn(), emit_inc(), emit_insn(), emit_insn_after_1(), emit_insn_if_valid_for_reload(), emit_library_call_value_1(), emit_move_complex(), emit_move_complex_parts(), emit_moves(), emit_single_push_insn(), emit_store_flag(), expand_abs_nojump(), expand_absneg_bit(), expand_atomic_compare_and_swap(), expand_binop(), expand_builtin_apply(), expand_builtin_interclass_mathfn(), expand_builtin_longjmp(), expand_builtin_nonlocal_goto(), expand_builtin_signbit(), expand_builtin_strlen(), expand_call(), expand_case(), expand_debug_locations(), expand_divmod(), expand_doubleword_shift(), expand_fix(), expand_function_end(), expand_function_start(), expand_gimple_basic_block(), expand_gimple_cond(), expand_gimple_stmt(), expand_gimple_tailcall(), expand_mult_const(), expand_one_cmpl_abs_nojump(), expand_parity(), expand_sfix_optab(), expand_sjlj_dispatch_table(), expand_stack_restore(), expand_twoval_binop(), expand_twoval_unop(), expand_unop(), expand_unop_direct(), extract_bit_field_1(), find_end_label(), force_reg(), gen_reload(), gen_reload_chain_without_interm_reg_p(), get_last_insn_anywhere(), get_last_nonnote_insn(), inc_for_reload(), last_call_insn(), load_register_parameters(), lra(), lra_emit_add(), mark_transaction_restart_calls(), maybe_cleanup_end_of_block(), maybe_emit_sync_lock_test_and_set(), maybe_legitimize_operand_same_code(), maybe_legitimize_operands(), move_block_from_reg(), move_block_to_reg(), noce_try_cmove_arith(), pop_topmost_sequence(), prepare_cmp_insn(), process_address(), record_effective_endpoints(), reload_combine(), remove_insn(), reorder_insns_nobb(), rtl_lv_add_condition_to_bb(), rtl_split_block(), rtl_verify_bb_insn_chain(), shorten_branches(), stack_protect_epilogue(), start_sequence(), store_bit_field_1(), store_bit_field_using_insv(), thread_prologue_and_epilogue_insns(), try_split(), verify_insn_chain(), widen_bswap(), and widen_leading().
|
inlinestatic |
Return a number larger than any instruction's uid in this function.
Referenced by alloc_mem(), build_btr_def_use_webs(), combine_instructions(), df_grow_insn_info(), df_scan_alloc(), extend_h_i_d(), final(), find_and_remove_re(), find_moveable_pseudos(), hoist_code(), inherit_in_ebb(), init_dce(), initiate_copies(), lra(), lra_coalesce(), lra_constraints(), lra_create_live_ranges(), move_exprs_to_boundary(), print_rtl_with_bb(), reg_to_stack(), regrename_init(), reload(), remove_scratches(), rtl_verify_bb_insn_chain(), sched_extend_luids(), sched_init(), sel_region_init(), and shorten_branches().
tree get_spill_slot_decl | ( | bool | ) |
int mem_expr_equal_p | ( | const_tree | , |
const_tree | |||
) |
bool need_atomic_barrier_p | ( | enum | memmodel, |
bool | |||
) |
Return a memory reference like MEMREF, but with its address changed to ADDR. The caller is asserting that the actual piece of memory pointed to is the same, just the form of the address is being changed, such as by putting something into a register.
|
inlinestatic |
Specify a new insn as the first in the chain.
Referenced by add_insn(), add_insn_before_nobb(), cfg_layout_delete_block(), delete_insns_since(), end_sequence(), fixup_reorder_chain(), init_emit(), push_to_sequence(), push_to_sequence2(), push_topmost_sequence(), remove_insn(), reorder_insns_nobb(), set_new_first_and_last_insn(), start_sequence(), and unlink_insn_chain().
|
inlinestatic |
Specify a new insn as the last in the chain.
Referenced by add_insn(), add_insn_after_nobb(), cfg_layout_delete_block(), delete_insns_since(), emit_insn_after_1(), end_sequence(), fixup_reorder_chain(), init_emit(), push_to_sequence(), push_to_sequence2(), push_topmost_sequence(), remove_insn(), reorder_insns_nobb(), set_new_first_and_last_insn(), start_sequence(), and unlink_insn_chain().
void set_mem_addr_space | ( | rtx | , |
addr_space_t | |||
) |
Set the address space of MEM to ADDRSPACE.
void set_mem_alias_set | ( | rtx | , |
alias_set_type | |||
) |
Set the alias set of MEM to SET.
void set_mem_align | ( | rtx | , |
unsigned | int | ||
) |
Set the alignment of MEM to ALIGN bits.
void set_mem_attrs_for_spill | ( | rtx | ) |
Set the attributes for MEM appropriate for a spill slot.
void set_mem_offset | ( | rtx | , |
HOST_WIDE_INT | |||
) |
Set the offset for MEM to OFFSET.
void set_mem_size | ( | rtx | , |
HOST_WIDE_INT | |||
) |
Set the size for MEM to SIZE.