struct _be_main_env_t *main_env;
struct _be_abi_irg_t *abi;
struct _arch_code_generator_t *cg;
- exec_freq_t *execfreqs;
+ ir_exec_freq *execfreqs;
};
/**
dom_front_info_t *dom_front; /**< Dominance frontiers. */
ir_graph *irg; /**< The graph under examination. */
const arch_register_class_t *cls; /**< The current register class. */
- exec_freq_t *exec_freq; /**< Adam's execution frequencies. */
+ ir_exec_freq *exec_freq; /**< Adam's execution frequencies. */
be_lv_t *lv; /**< Liveness information. */
pmap *border_heads; /**< Maps blocks to border heads. */
be_ifg_t *ifg; /**< The interference graph. */
typedef struct _intialize_execfreq_env_t {
ir_graph *irg;
- exec_freq_t *execfreqs;
+ ir_exec_freq *execfreqs;
double freq_factor;
} initialize_execfreq_env_t;
set_execfreq(env->execfreqs, block, freq);
}
-exec_freq_t *be_create_execfreqs_from_profile(ir_graph *irg)
+ir_exec_freq *be_create_execfreqs_from_profile(ir_graph *irg)
{
ir_node *block2 = NULL;
ir_node *start_block;
/**
* Initializes exec_freq structure for an irg based on profile data
*/
-exec_freq_t *be_create_execfreqs_from_profile(ir_graph *irg);
+ir_exec_freq *be_create_execfreqs_from_profile(ir_graph *irg);
/**
* Tells whether profile module has acquired data
}
}
-void compute_extbb_execfreqs(ir_graph *irg, exec_freq_t *execfreqs);
+void compute_extbb_execfreqs(ir_graph *irg, ir_exec_freq *execfreqs);
/*
* Calculates a block schedule. The schedule is stored as a linked
* list starting at the start_block of the irg.
*/
-ir_node **sched_create_block_schedule(ir_graph *irg, exec_freq_t *execfreqs)
+ir_node **sched_create_block_schedule(ir_graph *irg, ir_exec_freq *execfreqs)
{
anchor list;
ir_node **blk_list, *b, *n;
*
* This function implements a simple extended block scheduling algorithm.
*/
-ir_node **sched_create_block_schedule(ir_graph *irg, exec_freq_t *execfreqs);
+ir_node **sched_create_block_schedule(ir_graph *irg, ir_exec_freq *execfreqs);
/**
* Removes dead nodes from schedule
struct _be_uses_t {
set *uses;
ir_graph *irg;
- const exec_freq_t *execfreqs;
+ const ir_exec_freq *execfreqs;
const be_lv_t *lv;
DEBUG_ONLY(firm_dbg_module_t *dbg;)
};
#endif
}
-be_uses_t *be_begin_uses(ir_graph *irg, const exec_freq_t *execfreqs, const be_lv_t *lv)
+be_uses_t *be_begin_uses(ir_graph *irg, const ir_exec_freq *execfreqs, const be_lv_t *lv)
{
be_uses_t *uses = xmalloc(sizeof(uses[0]));
unsigned from_step, const ir_node *def,
int skip_from_uses);
-be_uses_t *be_begin_uses(ir_graph *irg, const exec_freq_t *execfreqs,
+be_uses_t *be_begin_uses(ir_graph *irg, const ir_exec_freq *execfreqs,
const be_lv_t *lv);
void be_end_uses(be_uses_t *uses);