Go to the source code of this file.
◆ du_head_p
◆ find_rename_reg()
int find_rename_reg |
( |
du_head_p | this_head, |
|
|
enum reg_class | super_class, |
|
|
HARD_REG_SET * | unavailable, |
|
|
int | old_reg, |
|
|
bool | best_rename ) |
|
extern |
◆ regrename_analyze()
void regrename_analyze |
( |
bitmap | bb_mask, |
|
|
bool | include_all_block_p ) |
|
extern |
Analyze the current function and build chains for renaming.
If INCLUDE_ALL_BLOCKS_P is set to true, process all blocks,
ignoring BB_DISABLE_SCHEDULE. The default value is true.
References basic_block_def::aux, BASIC_BLOCK_FOR_FN, bb_rename_info::bb, bitmap_bit_p, bitmap_clear(), bitmap_copy(), bitmap_default_obstack, bitmap_initialize(), build_def_use(), cfun, current_id, df_get_live_in(), df_get_live_out(), dump_def_use_chain(), dump_file, EXECUTE_IF_SET_IN_BITMAP, basic_block_def::flags, FOR_BB_INSNS, FOR_EACH_BB_FN, FOR_EACH_EDGE, free(), i, du_head::id, id_to_chain, bb_rename_info::incoming_open_chains_set, basic_block_def::index, init_rename_info(), insn_rr, INSN_UID(), last_basic_block_for_fn, merge_chains(), n_basic_blocks_for_fn, du_head::nregs, NULL, insn_rr_info::op_info, open_chains, bb_rename_info::open_chains_set, open_chains_set, pre_and_rev_post_order_compute(), basic_block_def::preds, range_overlaps_hard_reg_set_p(), reg_names, REG_SET_TO_HARD_REG_SET, du_head::regno, regrename_chain_from_id(), set_incoming_from_chain(), and basic_block_def::succs.
Referenced by regrename_optimize().
◆ regrename_chain_from_id()
du_head_p regrename_chain_from_id |
( |
unsigned int | id | ) |
|
|
extern |
◆ regrename_do_replace()
◆ regrename_find_superclass()
Iterate over elements in the chain HEAD in order to:
1. Count number of uses, storing it in *PN_USES.
2. Narrow the set of registers we can use for renaming, adding
unavailable registers to *PUNAVAILABLE, which must be
initialized by the caller.
3. Compute the superunion of register classes in this chain
and return it.
References DEBUG_INSN_P, head::first, and reg_class_superunion.
Referenced by rename_chains().
◆ regrename_finish()
void regrename_finish |
( |
void | | ) |
|
|
extern |
◆ regrename_init()
void regrename_init |
( |
bool | insn_info | ) |
|
|
extern |
◆ insn_rr