#include "varray.h"#include "obstack.h"#include "hard-reg-set.h"#include "basic-block.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 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 PSEUDO_REGNO_BYTES | ( | N | ) | GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) |
| #define PSEUDO_REGNO_SIZE | ( | N | ) |
Value:
((GET_MODE_SIZE (PSEUDO_REGNO_MODE (N)) + UNITS_PER_WORD - 1) \ / UNITS_PER_WORD)
| #define REG_FREQ | ( | N | ) | (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)
| #define REG_LIVE_LENGTH | ( | N | ) | (VARRAY_REG (reg_n_info, N)->live_length) |
| #define REG_N_CALLS_CROSSED | ( | N | ) | (VARRAY_REG (reg_n_info, N)->calls_crossed) |
| #define REG_N_DEATHS | ( | N | ) | (VARRAY_REG (reg_n_info, N)->deaths) |
| #define REG_N_REFS | ( | N | ) | (VARRAY_REG (reg_n_info, N)->refs) |
| #define REG_N_SETS | ( | N | ) | (VARRAY_REG (reg_n_info, N)->sets) |
| #define REG_N_THROWING_CALLS_CROSSED | ( | N | ) | (VARRAY_REG (reg_n_info, N)->throw_calls_crossed) |
Definition at line 132 of file regs.h.
Referenced by alloc_qty(), allocate_reg_life_data(), combine_regs(), df_ri_alloc(), df_ri_bb_compute(), global_alloc(), propagate_one_insn(), and update_equiv_regs().
| #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) |
| typedef struct reg_info_def reg_info |
Definition at line 2176 of file regclass.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.
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] |
| char regs_ever_live[FIRST_PSEUDO_REGISTER] |
1.5.6