osprey-gcc-4.2.0/gcc/regs.h File Reference

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

Include dependency graph for regs.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)   (VEC_index (reg_info_p, reg_n_info, N)->refs)
#define REG_FREQ(N)   (VEC_index (reg_info_p, reg_n_info, N)->freq)
#define REG_FREQ_MAX   1000
#define REG_FREQ_FROM_BB(bb)
#define REG_N_SETS(N)   (VEC_index (reg_info_p, reg_n_info, N)->sets)
#define REG_N_DEATHS(N)   (VEC_index (reg_info_p, 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)   (VEC_index (reg_info_p, reg_n_info, N)->calls_crossed)
#define REG_N_THROWING_CALLS_CROSSED(N)   (VEC_index (reg_info_p, reg_n_info, N)->throw_calls_crossed)
#define REG_LIVE_LENGTH(N)   (VEC_index (reg_info_p, reg_n_info, N)->live_length)
#define REGNO_FIRST_UID(N)   (VEC_index (reg_info_p, reg_n_info, N)->first_uid)
#define REGNO_LAST_UID(N)   (VEC_index (reg_info_p, reg_n_info, N)->last_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, false)
#define HARD_REGNO_CALL_PART_CLOBBERED(REGNO, MODE)   0

Typedefs

typedef struct reg_info_def reg_info
typedef reg_inforeg_info_p

Functions/Subroutines

 DEF_VEC_P (reg_info_p)
 DEF_VEC_ALLOC_P (reg_info_p, heap)
 VEC (reg_info_p, heap)*reg_n_info
void allocate_reg_info (size_t, int, int)

Variables

int max_regno
short * reg_renumber
char regs_ever_live [FIRST_PSEUDO_REGISTER]
char regs_asm_clobbered [FIRST_PSEUDO_REGISTER]
bool have_regs_of_mode [MAX_MACHINE_MODE]
enum machine_mode reg_raw_mode [FIRST_PSEUDO_REGISTER]
rtx regs_may_share
int caller_save_needed
unsigned char hard_regno_nregs [FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE]


Define Documentation

#define CALLER_SAVE_PROFITABLE ( REFS,
CALLS   )     (4 * (CALLS) < (REFS))

Definition at line 216 of file regs.h.

#define CLASS_LIKELY_SPILLED_P ( CLASS   )     (reg_class_size[(int) (CLASS)] == 1)

Definition at line 222 of file regs.h.

#define HARD_REGNO_CALL_PART_CLOBBERED ( REGNO,
MODE   )     0

Definition at line 234 of file regs.h.

#define HARD_REGNO_CALLER_SAVE_MODE ( REGNO,
NREGS,
MODE   )     choose_hard_reg_mode (REGNO, NREGS, false)

Definition at line 227 of file regs.h.

#define PSEUDO_REGNO_BYTES (  )     GET_MODE_SIZE (PSEUDO_REGNO_MODE (N))

Definition at line 123 of file regs.h.

#define PSEUDO_REGNO_MODE (  )     GET_MODE (regno_reg_rtx[N])

Definition at line 128 of file regs.h.

#define PSEUDO_REGNO_SIZE (  ) 

Value:

Definition at line 117 of file regs.h.

#define REG_BYTES ( R   )     mode_size[(int) GET_MODE (R)]

Definition at line 30 of file regs.h.

#define REG_FREQ (  )     (VEC_index (reg_info_p, reg_n_info, N)->freq)

Definition at line 81 of file regs.h.

#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 93 of file regs.h.

#define REG_FREQ_MAX   1000

Definition at line 87 of file regs.h.

#define REG_LIVE_LENGTH (  )     (VEC_index (reg_info_p, reg_n_info, N)->live_length)

Definition at line 156 of file regs.h.

#define REG_N_CALLS_CROSSED (  )     (VEC_index (reg_info_p, reg_n_info, N)->calls_crossed)

Definition at line 132 of file regs.h.

#define REG_N_DEATHS (  )     (VEC_index (reg_info_p, reg_n_info, N)->deaths)

Definition at line 113 of file regs.h.

#define REG_N_REFS (  )     (VEC_index (reg_info_p, reg_n_info, N)->refs)

Definition at line 77 of file regs.h.

#define REG_N_SETS (  )     (VEC_index (reg_info_p, reg_n_info, N)->sets)

Definition at line 105 of file regs.h.

#define REG_N_THROWING_CALLS_CROSSED (  )     (VEC_index (reg_info_p, reg_n_info, N)->throw_calls_crossed)

Definition at line 138 of file regs.h.

#define REGMODE_NATURAL_SIZE ( MODE   )     UNITS_PER_WORD

Definition at line 38 of file regs.h.

#define REGNO_FIRST_UID (  )     (VEC_index (reg_info_p, reg_n_info, N)->first_uid)

Definition at line 192 of file regs.h.

#define REGNO_LAST_UID (  )     (VEC_index (reg_info_p, reg_n_info, N)->last_uid)

Definition at line 200 of file regs.h.

#define SMALL_REGISTER_CLASSES   0

Definition at line 42 of file regs.h.


Typedef Documentation

typedef reg_info* reg_info_p

Definition at line 68 of file regs.h.


Function Documentation

void allocate_reg_info ( size_t  ,
int  ,
int   
)

DEF_VEC_ALLOC_P ( reg_info_p  ,
heap   
)

DEF_VEC_P ( reg_info_p   ) 

VEC ( reg_info_p  ,
heap   
)


Variable Documentation

Definition at line 254 of file reload1.c.

unsigned char hard_regno_nregs[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE]

Definition at line 267 of file regclass.c.

Referenced by add_stored_regs(), aggregate_value_p(), allocate_reload_reg(), assign_parm_setup_block(), assign_reg_reg_set(), can_change_dest_mode(), choose_reload_regs(), clear_dead_regs(), clear_reload_reg_in_use(), combine_regs(), combine_reloads(), compute_use_by_pseudos(), copy_value(), copyprop_hardreg_forward_1(), count_or_remove_death_notes_bb(), count_pseudo(), count_spilled_pseudo(), covers_regno_no_parallel_p(), cse_insn(), cselib_invalidate_regno(), cselib_lookup(), cselib_record_set(), dead_or_set_p(), decl_conflicts_with_clobbers_p(), decl_overlaps_hard_reg_set_p(), decompose(), delete_output_reload(), delete_prior_computation(), df_insn_refs_record(), df_lr_bb_local_compute(), df_mark_reg(), df_ref_record(), df_urec_mark_reg_change(), distribute_notes(), dump_def_use_chain(), emit_note_insn_var_location(), emit_reload_insns(), exp_equiv_p(), find_btr_reference(), find_dummy_reload(), find_dying_inputs(), find_equiv_reg(), find_free_reg(), find_oldest_value_reg(), find_reg(), find_reg_fusage(), find_regno_fusage(), find_regno_note(), find_reload_regs(), find_reloads(), forget_old_reloads_1(), free_for_value_p(), get_last_value_validate(), global_alloc(), hard_reg_set_here_p(), insert(), insert_one_insn(), insert_restore(), insert_save(), insn_dead_p(), invalidate(), invalidate_for_call(), kill_value(), kill_value_regno(), likely_spilled_retval_1(), likely_spilled_retval_p(), make_decl_rtl(), mark_effect(), mark_flags_life_zones(), mark_home_live(), mark_killed_regs(), mark_life(), mark_referenced_regs(), mark_referenced_resources(), mark_reg(), mark_reg_conflicts(), mark_reg_death(), mark_reg_gr_used_mask(), mark_reg_live_nc(), mark_reg_store(), mark_reload_reg_in_use(), mark_set_1(), mark_set_regs(), mark_set_resources(), mark_target_live_regs(), mark_used_reg(), mark_used_regs_combine(), maybe_mode_change(), mention_regs(), mentions_nonequal_regs(), move2add_note_store(), move_deaths(), note_btr_set(), note_local_live(), note_sets(), operands_match_p(), post_mark_life(), push_reload(), read_complex_part(), record_dead_and_set_regs(), record_set(), record_value_for_reg(), refers_to_regno_p(), reg_becomes_live(), reg_bitfield_target_p(), reg_dead_at_p(), reg_dead_at_p_1(), reg_dies(), reg_fits_class_p(), reg_overlap_mentioned_for_reload_p(), reg_overlap_mentioned_p(), regno_clobbered_p(), regrename_optimize(), reload_adjust_reg_for_mode(), reload_adjust_reg_for_temp(), reload_combine(), reload_combine_note_store(), reload_combine_note_use(), reload_cse_move2add(), reload_inner_reg_of_subreg(), reload_reg_free_for_value_p(), rs6000_memory_move_cost(), rs6000_register_move_cost(), rs6000_split_multireg_move(), rtx_equiv_p(), save_call_clobbered_regs(), scan_rtx_reg(), sched_analyze_1(), sched_analyze_2(), sched_analyze_reg(), set_preference(), set_value_regno(), setup_save_areas(), spill_hard_reg(), subreg_offset_representable_p(), subreg_regno_offset(), update_live_status(), update_table_tick(), use_crosses_set_p(), and write_complex_part().

bool have_regs_of_mode[MAX_MACHINE_MODE]

Definition at line 208 of file regclass.c.

Referenced by init_reg_sets_1(), and layout_type().

int max_regno

enum machine_mode reg_raw_mode[FIRST_PSEUDO_REGISTER]

short* reg_renumber

Definition at line 215 of file local-alloc.c.

char regs_asm_clobbered[FIRST_PSEUDO_REGISTER]

char regs_ever_live[FIRST_PSEUDO_REGISTER]

Definition at line 183 of file final.c.

Definition at line 213 of file flow.c.

Referenced by global_alloc(), loop_optimize(), and move_movables().


Generated on Wed Apr 8 15:42:59 2009 for Open64 by  doxygen 1.5.6