GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | du_head |
struct | du_chain |
struct | operand_rr_info |
struct | insn_rr_info |
Typedefs | |
typedef struct du_head * | du_head_p |
Functions | |
void | regrename_init (bool) |
void | regrename_finish (void) |
void | regrename_analyze (bitmap) |
du_head_p | regrename_chain_from_id (unsigned int) |
int | find_best_rename_reg (du_head_p, enum reg_class, HARD_REG_SET *, int) |
void | regrename_do_replace (du_head_p, int) |
Variables | |
vec< insn_rr_info > | insn_rr |
int find_best_rename_reg | ( | du_head_p | this_head, |
enum reg_class | super_class, | ||
HARD_REG_SET * | unavailable, | ||
int | old_reg | ||
) |
For the chain THIS_HEAD, compute and return the best register to rename to. SUPER_CLASS is the superunion of register classes in the chain. UNAVAILABLE is a set of registers that cannot be used. OLD_REG is the register currently used for the chain.
References check_new_reg_p(), merge_overlapping_regs(), du_head::need_caller_save_reg, targetm, and tick.
Referenced by rename_chains().
void regrename_analyze | ( | bitmap | ) |
du_head_p regrename_chain_from_id | ( | unsigned | int | ) |
void regrename_do_replace | ( | du_head_p | , |
int | |||
) |
void regrename_finish | ( | void | ) |
Free all global data used by the register renamer.
References free_chain_data(), and rename_obstack.
Referenced by regrename_optimize().
void regrename_init | ( | bool | ) |
vec<insn_rr_info> insn_rr |
If nonnull, the code calling into the register renamer requested information about insn operands, and we store it here.