X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbemain.c;h=0b4f639000c77fc58575f11374e060484c1dcea0;hb=f8133875ddf70372c10a52b7266f3d04e8129486;hp=e4af781dcf9d8b014f9d848d918e4118433ea090;hpb=ae7f623b2e0c67b625f49fc0e7d1215a3b940e3e;p=libfirm diff --git a/ir/be/bemain.c b/ir/be/bemain.c index e4af781dc..0b4f63900 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -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) \