osprey-gcc/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)   (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_N_THROWING_CALLS_CROSSED(N)   (VARRAY_REG (reg_n_info, N)->throw_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 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

Functions/Subroutines

void allocate_reg_info (size_t, int, int)

Variables

int max_regno
varray_type reg_n_info
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 209 of file regs.h.

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

Definition at line 215 of file regs.h.

#define HARD_REGNO_CALL_PART_CLOBBERED ( REGNO,
MODE   )     0

Definition at line 227 of file regs.h.

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

Definition at line 220 of file regs.h.

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

Definition at line 118 of file regs.h.

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

Definition at line 123 of file regs.h.

#define PSEUDO_REGNO_SIZE (  ) 

Value:

Definition at line 112 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 (  )     (VARRAY_REG (reg_n_info, N)->freq)

Definition at line 76 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 88 of file regs.h.

#define REG_FREQ_MAX   1000

Definition at line 82 of file regs.h.

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

Definition at line 150 of file regs.h.

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

Definition at line 127 of file regs.h.

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

Definition at line 108 of file regs.h.

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

Definition at line 72 of file regs.h.

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

Definition at line 100 of file regs.h.

#define REG_N_THROWING_CALLS_CROSSED (  )     (VARRAY_REG (reg_n_info, N)->throw_calls_crossed)

#define REGMODE_NATURAL_SIZE ( MODE   )     UNITS_PER_WORD

Definition at line 38 of file regs.h.

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

Definition at line 185 of file regs.h.

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

Definition at line 193 of file regs.h.

#define SMALL_REGISTER_CLASSES   0

Definition at line 42 of file regs.h.


Typedef Documentation


Function Documentation

void allocate_reg_info ( size_t  ,
int  ,
int   
)

Definition at line 2176 of file regclass.c.


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.

bool have_regs_of_mode[MAX_MACHINE_MODE]

Definition at line 208 of file regclass.c.

int max_regno

Definition at line 192 of file flow.c.

Definition at line 196 of file flow.c.

Referenced by allocate_reg_info(), dump_flow_info(), and free_reg_info().

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_asm_clobbered[FIRST_PSEUDO_REGISTER]

Definition at line 183 of file final.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