#include "../be_dbgout.h"
#include "../beblocksched.h"
#include "../bemachine.h"
+#include "../beilpsched.h"
#include "bearch_ia32_t.h"
*/
static void ia32_prepare_graph(void *self) {
ia32_code_gen_t *cg = self;
- dom_front_info_t *dom;
DEBUG_ONLY(firm_dbg_module_t *old_mod = cg->mod;)
FIRM_DBG_REGISTER(cg->mod, "firm.be.ia32.transform");
/* 2nd: transform all remaining nodes */
ia32_register_transformers();
- dom = be_compute_dominance_frontiers(cg->irg);
cg->kill_conv = new_nodeset(5);
transform_tls(cg->irg);
ia32_kill_convs(cg);
del_nodeset(cg->kill_conv);
- be_free_dominance_frontiers(dom);
-
if (cg->dump)
be_dump(cg->irg, "-transformed", dump_ir_block_graph_sched);
ir_graph *irg = cg->irg;
//be_remove_empty_blocks(irg);
- cg->blk_sched = be_create_block_schedule(irg, cg->birg->execfreqs);
-
- //cg->blk_sched = sched_create_block_schedule(cg->irg, cg->birg->execfreqs);
+ cg->blk_sched = be_create_block_schedule(irg, cg->birg->exec_freq);
/* if we do x87 code generation, rewrite all the virtual instructions and registers */
if (cg->used_fp == fp_x87 || cg->force_sim) {
return &ia32_sched_selector;
}
+static const ilp_sched_selector_t *ia32_get_ilp_sched_selector(const void *self) {
+ return NULL;
+}
+
/**
* Returns the necessary byte alignment for storing a register of given class.
*/
ia32_get_irn_handler,
ia32_get_code_generator_if,
ia32_get_list_sched_selector,
+ ia32_get_ilp_sched_selector,
ia32_get_reg_class_alignment,
ia32_get_libfirm_params,
ia32_get_allowed_execution_units,