23#define REG_BYTES(R) mode_size[(int) GET_MODE (R)]
30#ifndef REGMODE_NATURAL_SIZE
31#define REGMODE_NATURAL_SIZE(MODE) UNITS_PER_WORD
74#define SET_REG_N_REFS(N,V) (regstat_n_sets_and_refs[N].refs = V)
75#define INC_REG_N_REFS(N,V) (regstat_n_sets_and_refs[N].refs += V)
85#define SET_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets = V)
86#define INC_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets += V)
119#define REG_FREQ(N) (reg_info_p[N].freq)
125#define REG_FREQ_MAX 1000
131#define REG_FREQ_FROM_BB(bb) ((optimize_function_for_size_p (cfun) \
132 || !cfun->cfg->count_max.initialized_p ()) \
134 : ((bb)->count.to_frequency (cfun) \
135 * REG_FREQ_MAX / BB_FREQ_MAX) \
136 ? ((bb)->count.to_frequency (cfun) \
137 * REG_FREQ_MAX / BB_FREQ_MAX) \
146#define REG_N_DEATHS(N) (reg_info_p[N].deaths)
150#define PSEUDO_REGNO_SIZE(N) \
151 ((GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) + UNITS_PER_WORD - 1) \
156#define PSEUDO_REGNO_BYTES(N) \
157 GET_MODE_SIZE (PSEUDO_REGNO_MODE (N))
161#define PSEUDO_REGNO_MODE(N) GET_MODE (regno_reg_rtx[N])
165#define REG_N_CALLS_CROSSED(N) (reg_info_p[N].calls_crossed)
174#define REG_BLOCK_UNKNOWN 0
175#define REG_BLOCK_GLOBAL -1
177#define REG_BASIC_BLOCK(N) (reg_info_p[N].basic_block)
194#ifndef HARD_REGNO_CALLER_SAVE_MODE
195#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
196 choose_hard_reg_mode (REGNO, NREGS, NULL)
239#define this_target_regs (&default_target_regs)
241#define hard_regno_max_nregs \
242 (this_target_regs->x_hard_regno_max_nregs)
243#define reg_raw_mode \
244 (this_target_regs->x_reg_raw_mode)
245#define have_regs_of_mode \
246 (this_target_regs->x_have_regs_of_mode)
247#define contains_reg_of_mode \
248 (this_target_regs->x_contains_reg_of_mode)
249#define contains_allocatable_reg_of_mode \
250 (this_target_regs->x_contains_allocatable_reg_of_mode)
252 (this_target_regs->x_direct_load)
253#define direct_store \
254 (this_target_regs->x_direct_store)
255#define float_extend_from_mem \
256 (this_target_regs->x_float_extend_from_mem)
282 unsigned int end_regno;
287 while (++regno < end_regno);
296 unsigned int end_regno;
301 while (++regno < end_regno);
310 unsigned int end_regno;
322 while (++regno < end_regno)
335 unsigned int end_regno;
341 while (++regno < end_regno)
class bitmap_head * bitmap
Definition coretypes.h:51
#define TEST_HARD_REG_BIT(SET, BIT)
Definition hard-reg-set.h:170
#define CLEAR_HARD_REG_BIT(SET, BIT)
Definition hard-reg-set.h:168
HARD_REG_ELT_TYPE HARD_REG_SET
Definition hard-reg-set.h:47
#define SET_HARD_REG_BIT(SET, BIT)
Definition hard-reg-set.h:166
const HARD_REG_SET const_hard_reg_set
Definition hard-reg-set.h:48
#define this_target_regs
Definition regs.h:239
void regstat_compute_calls_crossed(void)
Definition regstat.cc:365
bool range_in_hard_reg_set_p(const_hard_reg_set set, unsigned regno, int nregs)
Definition regs.h:384
void regstat_init_n_sets_and_refs(void)
Definition regstat.cc:46
void regstat_free_n_sets_and_refs(void)
Definition regstat.cc:86
void regstat_free_calls_crossed(void)
Definition regstat.cc:391
void regstat_compute_ri(void)
Definition regstat.cc:234
int REG_N_REFS(int regno)
Definition regs.h:68
struct regstat_n_sets_and_refs_t * regstat_n_sets_and_refs
Definition regstat.cc:32
struct reg_info_t * reg_info_p
Definition regstat.cc:102
bool overlaps_hard_reg_set_p(const_hard_reg_set regs, machine_mode mode, unsigned int regno)
Definition regs.h:332
size_t reg_info_p_size
Definition regstat.cc:105
bool reg_is_parm_p(rtx)
Definition emit-rtl.cc:1248
bool range_overlaps_hard_reg_set_p(const_hard_reg_set set, unsigned regno, int nregs)
Definition regs.h:372
short * reg_renumber
Definition ira.cc:2478
bool in_hard_reg_set_p(const_hard_reg_set regs, machine_mode mode, unsigned int regno)
Definition regs.h:307
int REG_N_SETS(int regno)
Definition regs.h:79
void add_to_hard_reg_set(HARD_REG_SET *regs, machine_mode mode, unsigned int regno)
Definition regs.h:279
void remove_range_from_hard_reg_set(HARD_REG_SET *regs, unsigned int regno, int nregs)
Definition regs.h:362
int max_regno
Definition reginfo.cc:50
void add_range_to_hard_reg_set(HARD_REG_SET *regs, unsigned int regno, int nregs)
Definition regs.h:352
bitmap regstat_get_setjmp_crosses(void)
Definition regstat.cc:286
struct target_regs default_target_regs
Definition reginfo.cc:64
void regstat_free_ri(void)
Definition regstat.cc:271
ALWAYS_INLINE unsigned char hard_regno_nregs(unsigned int regno, machine_mode mode)
Definition regs.h:261
void remove_from_hard_reg_set(HARD_REG_SET *regs, machine_mode mode, unsigned int regno)
Definition regs.h:293
int caller_save_needed
Definition reload1.cc:217
void dump_reg_info(FILE *)
Definition regstat.cc:402
unsigned int end_hard_regno(machine_mode mode, unsigned int regno)
Definition regs.h:270
#define HARD_REGISTER_NUM_P(REG_NO)
Definition rtl.h:1973
int freq
Definition regs.h:106
int basic_block
Definition regs.h:109
int deaths
Definition regs.h:107
int calls_crossed
Definition regs.h:108
int sets
Definition regs.h:60
int refs
Definition regs.h:61
char x_contains_allocatable_reg_of_mode[N_REG_CLASSES][MAX_MACHINE_MODE]
Definition regs.h:223
bool x_float_extend_from_mem[NUM_MACHINE_MODES][NUM_MACHINE_MODES]
Definition regs.h:232
unsigned char x_hard_regno_nregs[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE]
Definition regs.h:203
char x_direct_load[NUM_MACHINE_MODES]
Definition regs.h:228
machine_mode x_reg_raw_mode[FIRST_PSEUDO_REGISTER]
Definition regs.h:212
bool x_have_regs_of_mode[MAX_MACHINE_MODE]
Definition regs.h:216
char x_direct_store[NUM_MACHINE_MODES]
Definition regs.h:229
char x_contains_reg_of_mode[N_REG_CLASSES][MAX_MACHINE_MODE]
Definition regs.h:219
unsigned char x_hard_regno_max_nregs
Definition regs.h:206
#define gcc_assert(EXPR)
Definition system.h:821
#define ALWAYS_INLINE
Definition system.h:834