27 #define REG_BYTES(R) mode_size[(int) GET_MODE (R)]
34 #ifndef REGMODE_NATURAL_SIZE
35 #define REGMODE_NATURAL_SIZE(MODE) UNITS_PER_WORD
74 return regstat_n_sets_and_refs[regno].
refs;
78 #define SET_REG_N_REFS(N,V) (regstat_n_sets_and_refs[N].refs = V)
79 #define INC_REG_N_REFS(N,V) (regstat_n_sets_and_refs[N].refs += V)
85 return regstat_n_sets_and_refs[regno].
sets;
89 #define SET_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets = V)
90 #define INC_REG_N_SETS(N,V) (regstat_n_sets_and_refs[N].sets += V)
126 #define REG_FREQ(N) (reg_info_p[N].freq)
132 #define REG_FREQ_MAX 1000
138 #define REG_FREQ_FROM_BB(bb) (optimize_size \
139 || (flag_branch_probabilities \
140 && !ENTRY_BLOCK_PTR->count) \
142 : ((bb)->frequency * REG_FREQ_MAX / BB_FREQ_MAX)\
143 ? ((bb)->frequency * REG_FREQ_MAX / BB_FREQ_MAX)\
152 #define REG_N_DEATHS(N) (reg_info_p[N].deaths)
156 #define PSEUDO_REGNO_SIZE(N) \
157 ((GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) + UNITS_PER_WORD - 1) \
162 #define PSEUDO_REGNO_BYTES(N) \
163 GET_MODE_SIZE (PSEUDO_REGNO_MODE (N))
167 #define PSEUDO_REGNO_MODE(N) GET_MODE (regno_reg_rtx[N])
171 #define REG_N_CALLS_CROSSED(N) (reg_info_p[N].calls_crossed)
172 #define REG_FREQ_CALLS_CROSSED(N) (reg_info_p[N].freq_calls_crossed)
177 #define REG_N_THROWING_CALLS_CROSSED(N) (reg_info_p[N].throw_calls_crossed)
191 #define REG_LIVE_LENGTH(N) (reg_info_p[N].live_length)
200 #define REG_BLOCK_UNKNOWN 0
201 #define REG_BLOCK_GLOBAL -1
203 #define REG_BASIC_BLOCK(N) (reg_info_p[N].basic_block)
223 #ifndef CALLER_SAVE_PROFITABLE
224 #define CALLER_SAVE_PROFITABLE(REFS, CALLS) (4 * (CALLS) < (REFS))
228 #ifndef HARD_REGNO_CALLER_SAVE_MODE
229 #define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
230 choose_hard_reg_mode (REGNO, NREGS, false)
235 #ifndef HARD_REGNO_CALL_PART_CLOBBERED
236 #define HARD_REGNO_CALL_PART_CLOBBERED(REGNO, MODE) 0
269 #if SWITCHABLE_TARGET
272 #define this_target_regs (&default_target_regs)
275 #define hard_regno_nregs \
276 (this_target_regs->x_hard_regno_nregs)
277 #define reg_raw_mode \
278 (this_target_regs->x_reg_raw_mode)
279 #define have_regs_of_mode \
280 (this_target_regs->x_have_regs_of_mode)
281 #define contains_reg_of_mode \
282 (this_target_regs->x_contains_reg_of_mode)
283 #define direct_load \
284 (this_target_regs->x_direct_load)
285 #define direct_store \
286 (this_target_regs->x_direct_store)
287 #define float_extend_from_mem \
288 (this_target_regs->x_float_extend_from_mem)
293 static inline unsigned int
296 return regno + hard_regno_nregs[regno][(int) mode];
301 #define END_HARD_REGNO(X) end_hard_regno (GET_MODE (X), REGNO (X))
305 #define END_REGNO(X) (HARD_REGISTER_P (X) ? END_HARD_REGNO (X) : REGNO (X) + 1)
314 unsigned int end_regno;
318 SET_HARD_REG_BIT (*regs, regno);
319 while (++regno < end_regno);
328 unsigned int end_regno;
332 CLEAR_HARD_REG_BIT (*regs, regno);
333 while (++regno < end_regno);
342 unsigned int end_regno;
344 gcc_assert (HARD_REGISTER_NUM_P (regno));
346 if (!TEST_HARD_REG_BIT (regs, regno))
351 if (!HARD_REGISTER_NUM_P (end_regno - 1))
354 while (++regno < end_regno)
355 if (!TEST_HARD_REG_BIT (regs, regno))
367 unsigned int end_regno;
369 if (TEST_HARD_REG_BIT (regs, regno))
373 while (++regno < end_regno)
374 if (TEST_HARD_REG_BIT (regs, regno))
388 SET_HARD_REG_BIT (*regs, regno + nregs);
398 CLEAR_HARD_REG_BIT (*regs, regno + nregs);
408 if (TEST_HARD_REG_BIT (
set, regno + nregs))
419 if (!TEST_HARD_REG_BIT (
set, regno + nregs))