X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbemain.c;h=0b4f639000c77fc58575f11374e060484c1dcea0;hb=f8133875ddf70372c10a52b7266f3d04e8129486;hp=20d86fc8b27f6a0f292604f2c1de28d0168e7d7e;hpb=1ec30d95387eb392ba5a1adc7958ebd91383d59c;p=libfirm diff --git a/ir/be/bemain.c b/ir/be/bemain.c index 20d86fc8b..0b4f63900 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -204,14 +204,14 @@ int be_parse_arg(const char *arg) { /** The be parameters returned by default, all off. */ const static backend_params be_params = { - 0, - 0, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + 0, /* need dword lowering */ + 0, /* don't support inlien assembler yet */ + 0, /* no different calling conventions */ + NULL, /* no additional opcodes */ + NULL, /* will be set later */ + NULL, /* but yet no creator function */ + NULL, /* context for create_intrinsic_fkt */ + NULL, /* no if conversion settings */ }; /* Perform schedule verification if requested. */ @@ -314,8 +314,8 @@ static void initialize_birg(be_irg_t *birg, ir_graph *irg, be_main_env_t *env) /* Normalize proj nodes. */ normalize_proj_nodes(irg); - /* create multiple return nodes */ - /* TODO: find out why this does nothing */ + /* we do this before critical edge split. As this produces less returns, + because sometimes (= 164.gzip) multiple returns are slower */ normalize_n_returns(irg); /* Remove critical edges */ @@ -328,6 +328,8 @@ static void initialize_birg(be_irg_t *birg, ir_graph *irg, be_main_env_t *env) be_phi_handler_reset(env->phi_handler); set_irg_phase_state(irg, phase_backend); + + dump(DUMP_INITIAL, irg, "-prepared", dump_ir_block_graph); } #define BE_TIMER_PUSH(timer) \