Line 227... |
Line 227... |
cuc_func *dup_func (cuc_func *f);
|
cuc_func *dup_func (cuc_func *f);
|
|
|
/* Releases memory allocated by function */
|
/* Releases memory allocated by function */
|
void free_func (cuc_func *f);
|
void free_func (cuc_func *f);
|
|
|
/* Common subexpression elimination */
|
|
void cse (cuc_func *f);
|
|
|
|
/* Common subexpression matching -- resource sharing, analysis pass */
|
/* Common subexpression matching -- resource sharing, analysis pass */
|
void csm (cuc_func *f);
|
void csm (cuc_func *f);
|
|
|
/* Common subexpression matching -- resource sharing, generation pass */
|
/* Common subexpression matching -- resource sharing, generation pass */
|
void csm_gen (cuc_func *f, cuc_func *rf, cuc_shared_item *shared, int nshared);
|
void csm_gen (cuc_func *f, cuc_func *rf, cuc_shared_item *shared, int nshared);
|
|
|
/* Set the BB limits */
|
/* Set the BB limits */
|
void detect_bb (cuc_func *func);
|
void detect_bb (cuc_func *func);
|
|
|
/* Optimize basic blocks */
|
/* Optimize basic blocks */
|
void optimize_bb (cuc_func *func);
|
int optimize_bb (cuc_func *func);
|
|
|
|
/* Search and optimize complex cmov assignments */
|
|
int optimize_cmovs (cuc_func *func);
|
|
|
|
/* Optimizes dataflow tree */
|
|
int optimize_tree (cuc_func *func);
|
|
|
|
/* Remove nop instructions */
|
|
int remove_nops (cuc_func *func);
|
|
|
|
/* Removes dead instruction */
|
|
int remove_dead (cuc_func *func);
|
|
|
|
/* Removes trivial register assignments */
|
|
int remove_trivial_regs (cuc_func *f);
|
|
|
|
/* Determine inputs and outputs */
|
|
void set_io (cuc_func *func);
|
|
|
/* Removes BBs marked as dead */
|
/* Removes BBs marked as dead */
|
void remove_dead_bb (cuc_func *func);
|
int remove_dead_bb (cuc_func *func);
|
|
|
|
/* Common subexpression elimination */
|
|
int cse (cuc_func *f);
|
|
|
/* Detect register dependencies */
|
/* Detect register dependencies */
|
void reg_dep (cuc_func *func);
|
void reg_dep (cuc_func *func);
|
|
|
/* Cuts the tree and marks registers */
|
/* Cuts the tree and marks registers */
|