GCC Middle and Back End API Reference
|
#include <reload.h>
Data Fields | |
struct insn_chain * | next |
struct insn_chain * | prev |
struct insn_chain * | next_need_reload |
rtx | insn |
int | block |
unsigned int | need_reload:1 |
unsigned int | need_operand_change:1 |
unsigned int | need_elim:1 |
unsigned int | is_caller_save_insn:1 |
bitmap_head | live_throughout |
bitmap_head | dead_or_set |
struct reload * | rld |
int | n_reloads |
HARD_REG_SET | used_spill_regs |
This structure describes instructions which are relevant for reload. Apart from all regular insns, this also includes CODE_LABELs, since they must be examined for register elimination.
int insn_chain::block |
Referenced by build_insn_chain(), insert_one_insn(), and save_call_clobbered_regs().
bitmap_head insn_chain::dead_or_set |
rtx insn_chain::insn |
Referenced by build_insn_chain(), calculate_elim_costs_all_insns(), calculate_needs_all_insns(), choose_reload_regs(), delete_caller_save_insns(), delete_output_reload(), do_input_reload(), do_output_reload(), emit_input_reload_insns(), emit_insn_if_valid_for_reload(), emit_output_reload_insns(), emit_reload_insns(), find_moveable_pseudos(), find_reg(), find_reload_regs(), gen_reload(), gen_reload_chain_without_interm_reg_p(), insert_one_insn(), maybe_fix_stack_asms(), print_insn_chain(), reload(), reload_as_needed(), save_call_clobbered_regs(), setup_save_areas(), and skip_consecutive_labels().
unsigned int insn_chain::is_caller_save_insn |
Referenced by delete_caller_save_insns(), insert_one_insn(), new_insn_chain(), and save_call_clobbered_regs().
bitmap_head insn_chain::live_throughout |
int insn_chain::n_reloads |
Referenced by calculate_needs_all_insns(), choose_reload_regs(), copy_reloads(), and find_reload_regs().
unsigned int insn_chain::need_elim |
Referenced by calculate_needs_all_insns(), new_insn_chain(), and reload_as_needed().
unsigned int insn_chain::need_operand_change |
Referenced by calculate_needs_all_insns(), new_insn_chain(), and reload_as_needed().
unsigned int insn_chain::need_reload |
Referenced by calculate_needs_all_insns(), finish_spills(), new_insn_chain(), and reload_as_needed().
struct insn_chain* insn_chain::next |
Referenced by build_insn_chain(), calculate_needs_all_insns(), delete_address_reloads(), delete_caller_save_insns(), emit_output_reload_insns(), finish_spills(), insert_one_insn(), maybe_fix_stack_asms(), new_insn_chain(), print_insn_chains(), reload_as_needed(), save_call_clobbered_regs(), and setup_save_areas().
struct insn_chain* insn_chain::next_need_reload |
Referenced by calculate_needs_all_insns(), finish_spills(), and select_reload_regs().
struct insn_chain * insn_chain::prev |
struct reload* insn_chain::rld |
Referenced by choose_reload_regs(), copy_reloads(), and find_reload_regs().
HARD_REG_SET insn_chain::used_spill_regs |
Referenced by choose_reload_regs_init(), find_reload_regs(), and finish_spills().