GCC Middle and Back End API Reference
regrename.h File 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_headdu_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_infoinsn_rr

Typedef Documentation

typedef struct du_head* du_head_p

Function Documentation

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  )

Variable Documentation

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.