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 |
The basic block this insn is in.
bitmap_head insn_chain::dead_or_set |
Referenced by insert_restore(), print_insn_chains(), replace_reg_with_saved_mem(), and setup_reg_equiv().
rtx insn_chain::insn |
The rtx of the insn.
Referenced by do_output_reload(), maybe_fix_stack_asms(), and saved_hard_reg_compare_func().
unsigned int insn_chain::is_caller_save_insn |
Nonzero if this insn was inserted by perform_caller_saves.
bitmap_head insn_chain::live_throughout |
Register life information: record all live hard registers, and all live pseudos that have a hard register. This set also contains pseudos spilled by IRA.
Referenced by save_call_clobbered_regs(), and saved_hard_reg_compare_func().
int insn_chain::n_reloads |
Referenced by maybe_fix_stack_asms().
unsigned int insn_chain::need_elim |
Nonzero if eliminate_regs_in_insn said it requires eliminations.
Referenced by maybe_fix_stack_asms(), and spill_hard_reg().
unsigned int insn_chain::need_operand_change |
Nonzero if find_reloads needs to be run during reload_as_needed to perform modifications on any operands.
Referenced by maybe_fix_stack_asms().
unsigned int insn_chain::need_reload |
Nonzero if find_reloads said the insn requires reloading.
Referenced by maybe_fix_stack_asms().
struct insn_chain* insn_chain::next |
Links to the neighbor instructions.
Referenced by maybe_fix_stack_asms(), and saved_hard_reg_compare_func().
struct insn_chain* insn_chain::next_need_reload |
Link through a chains set up by calculate_needs_all_insns, containing all insns that need reloading.
Referenced by maybe_fix_stack_asms().
struct insn_chain * insn_chain::prev |
Referenced by maybe_fix_stack_asms().
struct reload* insn_chain::rld |
Copies of the global variables computed by find_reloads.
HARD_REG_SET insn_chain::used_spill_regs |
Indicates which registers have already been used for spills.
Referenced by elimination_target_reg_p().