osprey/kg++fe/gnu/regs.h File Reference

#include "varray.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)   (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 Documentation

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

Definition at line 205 of file regs.h.

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

Definition at line 211 of file regs.h.

#define HARD_REGNO_CALL_PART_CLOBBERED ( REGNO,
MODE   )     0

Definition at line 223 of file regs.h.

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

Definition at line 216 of file regs.h.

#define PSEUDO_REGNO_BYTES (  )     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 (  )     GET_MODE (regno_reg_rtx[N])

#define PSEUDO_REGNO_SIZE (  ) 

Value:

Definition at line 113 of file regs.h.

Referenced by global_alloc(), and reg_is_born().

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

Definition at line 27 of file regs.h.

Referenced by mark_used_dest_regs(), and mark_used_regs().

#define REG_FREQ (  )     (VARRAY_REG (reg_n_info, N)->freq)

#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

Definition at line 83 of file regs.h.

Referenced by allocno_compare(), and regclass().

#define REG_LIVE_LENGTH (  )     (VARRAY_REG (reg_n_info, N)->live_length)

#define REG_N_CALLS_CROSSED (  )     (VARRAY_REG (reg_n_info, N)->calls_crossed)

#define REG_N_DEATHS (  )     (VARRAY_REG (reg_n_info, N)->deaths)

#define REG_N_REFS (  )     (VARRAY_REG (reg_n_info, N)->refs)

#define REG_N_SETS (  )     (VARRAY_REG (reg_n_info, N)->sets)

#define REGMODE_NATURAL_SIZE ( MODE   )     UNITS_PER_WORD

Definition at line 35 of file regs.h.

#define REGNO_FIRST_UID (  )     (VARRAY_REG (reg_n_info, N)->first_uid)

#define REGNO_LAST_NOTE_UID (  )     (VARRAY_REG (reg_n_info, N)->last_note_uid)

Definition at line 189 of file regs.h.

Referenced by copy_src_to_dest(), and reg_scan_mark_refs().

#define REGNO_LAST_UID (  )     (VARRAY_REG (reg_n_info, N)->last_uid)

#define SMALL_REGISTER_CLASSES   0

Definition at line 39 of file regs.h.


Typedef Documentation


Function Documentation

void allocate_reg_info PARAMS ( (size_t, int, int)   ) 


Variable Documentation

Definition at line 254 of file reload1.c.

Referenced by find_free_reg(), find_reg(), prepare_function_start(), and reload().

int max_regno

Definition at line 192 of file flow.c.

Definition at line 196 of file flow.c.

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]

Definition at line 183 of file final.c.

Definition at line 213 of file flow.c.


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