#include "varray.h"#include "hard-reg-set.h"#include "basic-block.h"

Go to the source code of this file.
Data Types | |
| type | reg_info_def |
Defines | |
| #define | REG_BYTES(R) mode_size[(int) GET_MODE (R)] |
| #define | REGMODE_NATURAL_SIZE(MODE) UNITS_PER_WORD |
| #define | SMALL_REGISTER_CLASSES 0 |
| #define | REG_N_REFS(N) (VARRAY_REG (reg_n_info, N)->refs) |
| #define | REG_FREQ(N) (VARRAY_REG (reg_n_info, N)->freq) |
| #define | REG_FREQ_MAX 1000 |
| #define | REG_FREQ_FROM_BB(bb) |
| #define | REG_N_SETS(N) (VARRAY_REG (reg_n_info, N)->sets) |
| #define | REG_N_DEATHS(N) (VARRAY_REG (reg_n_info, N)->deaths) |
| #define | PSEUDO_REGNO_SIZE(N) |
| #define | PSEUDO_REGNO_BYTES(N) GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) |
| #define | PSEUDO_REGNO_MODE(N) GET_MODE (regno_reg_rtx[N]) |
| #define | REG_N_CALLS_CROSSED(N) (VARRAY_REG (reg_n_info, N)->calls_crossed) |
| #define | REG_LIVE_LENGTH(N) (VARRAY_REG (reg_n_info, N)->live_length) |
| #define | REGNO_FIRST_UID(N) (VARRAY_REG (reg_n_info, N)->first_uid) |
| #define | REGNO_LAST_UID(N) (VARRAY_REG (reg_n_info, N)->last_uid) |
| #define | REGNO_LAST_NOTE_UID(N) (VARRAY_REG (reg_n_info, N)->last_note_uid) |
| #define | CALLER_SAVE_PROFITABLE(REFS, CALLS) (4 * (CALLS) < (REFS)) |
| #define | CLASS_LIKELY_SPILLED_P(CLASS) (reg_class_size[(int) (CLASS)] == 1) |
| #define | HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) choose_hard_reg_mode (REGNO, NREGS) |
| #define | HARD_REGNO_CALL_PART_CLOBBERED(REGNO, MODE) 0 |
Typedefs | |
| typedef struct reg_info_def | reg_info |
Functions/Subroutines | |
| void allocate_reg_info | PARAMS ((size_t, int, int)) |
Variables | |
| int | max_regno |
| varray_type | reg_n_info |
| bitmap_head | subregs_of_mode |
| short * | reg_renumber |
| char | regs_ever_live [FIRST_PSEUDO_REGISTER] |
| const char * | reg_names [FIRST_PSEUDO_REGISTER] |
| enum machine_mode | reg_raw_mode [FIRST_PSEUDO_REGISTER] |
| rtx | regs_may_share |
| int | caller_save_needed |
| #define CALLER_SAVE_PROFITABLE | ( | REFS, | |||
| CALLS | ) | (4 * (CALLS) < (REFS)) |
| #define CLASS_LIKELY_SPILLED_P | ( | CLASS | ) | (reg_class_size[(int) (CLASS)] == 1) |
| #define HARD_REGNO_CALLER_SAVE_MODE | ( | REGNO, | |||
| NREGS, | |||||
| MODE | ) | choose_hard_reg_mode (REGNO, NREGS) |
| #define PSEUDO_REGNO_BYTES | ( | N | ) | GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) |
Definition at line 119 of file regs.h.
Referenced by alter_reg(), dump_flow_info(), and emit_colors().
| #define PSEUDO_REGNO_MODE | ( | N | ) | GET_MODE (regno_reg_rtx[N]) |
Definition at line 124 of file regs.h.
Referenced by allocate_spill_web(), choose_spill_colors(), colorize_one_web(), compute_use_by_pseudos(), count_pseudo(), count_spilled_pseudo(), dump_regclass(), emit_colors(), find_reg(), global_alloc(), global_conflicts(), init_one_web_common(), mark_home_live(), mark_target_live_regs(), regclass(), remember_web_was_spilled(), save_call_clobbered_regs(), spill_hard_reg(), spill_is_free(), and spill_same_color_p().
| #define PSEUDO_REGNO_SIZE | ( | N | ) |
Value:
((GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) + UNITS_PER_WORD - 1) \ / UNITS_PER_WORD)
Definition at line 113 of file regs.h.
Referenced by global_alloc(), and reg_is_born().
| #define REG_FREQ | ( | N | ) | (VARRAY_REG (reg_n_info, N)->freq) |
Definition at line 77 of file regs.h.
Referenced by alloc_qty(), allocate_reg_life_data(), combine_regs(), count_pseudo(), count_spilled_pseudo(), df_create_unused_note(), df_ri_alloc(), df_ri_bb_compute(), global_alloc(), mark_set_1(), mark_used_reg(), scan_one_insn(), and update_equiv_regs().
| #define REG_FREQ_FROM_BB | ( | bb | ) |
Value:
(optimize_size \ || (flag_branch_probabilities \ && !ENTRY_BLOCK_PTR->count) \ ? REG_FREQ_MAX \ : ((bb)->frequency * REG_FREQ_MAX / BB_FREQ_MAX)\ ? ((bb)->frequency * REG_FREQ_MAX / BB_FREQ_MAX)\ : 1)
Definition at line 89 of file regs.h.
Referenced by df_create_unused_note(), df_ri_bb_compute(), mark_set_1(), mark_used_reg(), and regclass().
| #define REG_FREQ_MAX 1000 |
| #define REG_LIVE_LENGTH | ( | N | ) | (VARRAY_REG (reg_n_info, N)->live_length) |
Definition at line 145 of file regs.h.
Referenced by allocate_reg_life_data(), copy_src_to_dest(), df_create_unused_note(), df_ri_alloc(), df_ri_bb_compute(), df_ri_compute(), df_set_unused_notes_for_mw(), dump_flow_info(), fixup_match_1(), fixup_match_2(), free_propagate_block_info(), global_alloc(), high_pressure(), mark_set_1(), optimize_reg_copy_1(), regmove_optimize(), replacement_quality(), update_equiv_regs(), and update_life_info().
| #define REG_N_CALLS_CROSSED | ( | N | ) | (VARRAY_REG (reg_n_info, N)->calls_crossed) |
Definition at line 128 of file regs.h.
Referenced by alloc_qty(), allocate_reg_life_data(), combine_regs(), df_ri_alloc(), df_ri_bb_compute(), dump_flow_info(), fixup_match_1(), fixup_match_2(), global_alloc(), optimize_reg_copy_1(), optimize_reg_copy_2(), propagate_one_insn(), regmove_optimize(), sched_analyze_1(), sched_analyze_2(), sched_analyze_reg(), setup_save_areas(), and update_equiv_regs().
| #define REG_N_DEATHS | ( | N | ) | (VARRAY_REG (reg_n_info, N)->deaths) |
Definition at line 109 of file regs.h.
Referenced by allocate_reg_life_data(), delete_output_reload(), df_create_unused_note(), df_kill_notes(), df_ri_alloc(), df_ri_bb_compute(), df_set_dead_notes_for_mw(), df_set_unused_notes_for_mw(), distribute_notes(), dump_flow_info(), emit_input_reload_insns(), high_pressure(), local_alloc(), mark_set_1(), mark_used_reg(), move_deaths(), optimize_reg_copy_2(), optimize_reg_copy_3(), remove_death(), and try_combine().
| #define REG_N_REFS | ( | N | ) | (VARRAY_REG (reg_n_info, N)->refs) |
Definition at line 73 of file regs.h.
Referenced by alloc_qty(), allocate_reg_life_data(), alter_reg(), combine_regs(), df_ri_alloc(), dump_flow_info(), dump_regclass(), global_alloc(), mark_set_1(), mark_used_reg(), reg_scan_mark_refs(), regclass(), scan_one_insn(), and update_equiv_regs().
| #define REG_N_SETS | ( | N | ) | (VARRAY_REG (reg_n_info, N)->sets) |
Definition at line 101 of file regs.h.
Referenced by allocate_initial_values(), allocate_reg_life_data(), can_change_dest_mode(), copy_src_to_dest(), delete_output_reload(), df_ri_alloc(), dump_flow_info(), emit_input_reload_insns(), find_base_value(), fixup_match_1(), get_last_value(), get_last_value_validate(), high_pressure(), init_alias_analysis(), mark_set_1(), nonzero_bits1(), num_sign_bit_copies1(), optimize_reg_copy_3(), reg_is_remote_constant_p(), reg_nonzero_bits_for_combine(), reg_num_sign_bit_copies_for_combine(), reg_scan_mark_refs(), regclass(), regmove_optimize(), regno_clobbered_at_setjmp(), scan_one_insn(), sh_pr_n_sets(), simplify_set(), sparc_check_64(), try_combine(), and update_equiv_regs().
| #define REGNO_FIRST_UID | ( | N | ) | (VARRAY_REG (reg_n_info, N)->first_uid) |
Definition at line 177 of file regs.h.
Referenced by check_dbra_loop(), copy_src_to_dest(), duplicate_loop_exit_test(), find_splittable_givs(), initialize_uninitialized_subregs(), loop_biv_eliminable_p(), loop_givs_dead_check(), make_regs_eqv(), move_movables(), record_giv(), reg_in_basic_block_p(), reg_scan_mark_refs(), scan_loop(), try_copy_prop(), try_swap_copy_prop(), and unroll_loop().
| #define REGNO_LAST_NOTE_UID | ( | N | ) | (VARRAY_REG (reg_n_info, N)->last_note_uid) |
| #define REGNO_LAST_UID | ( | N | ) | (VARRAY_REG (reg_n_info, N)->last_uid) |
Definition at line 185 of file regs.h.
Referenced by check_dbra_loop(), copy_src_to_dest(), duplicate_loop_exit_test(), force_movables(), last_use_this_basic_block(), load_mems(), loop_biv_eliminable_p(), loop_givs_dead_check(), loop_givs_reduce(), make_regs_eqv(), move_movables(), reg_in_basic_block_p(), reg_scan_mark_refs(), scan_loop(), try_copy_prop(), unroll_loop(), and update_reg_last_use().
| typedef struct reg_info_def reg_info |
Definition at line 254 of file reload1.c.
Referenced by find_free_reg(), find_reg(), prepare_function_start(), and reload().
| const char* reg_names[FIRST_PSEUDO_REGISTER] |
Definition at line 50 of file print-rtl1.c.
| enum machine_mode reg_raw_mode[FIRST_PSEUDO_REGISTER] |
Definition at line 204 of file regclass.c.
| short* reg_renumber |
Definition at line 215 of file local-alloc.c.
| char regs_ever_live[FIRST_PSEUDO_REGISTER] |
Referenced by gen_lowpart_for_combine(), life_analysis(), and mark_used_regs().
1.5.6