From 2add1b3fd3482658d2d70ff58fa069db3de53454 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Fri, 19 May 2006 15:13:50 +0000 Subject: [PATCH] added statistic calls --- ir/be/bemain.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ir/be/bemain.c b/ir/be/bemain.c index 5414b734c..9ca04bc47 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -314,6 +314,9 @@ static void be_main_loop(FILE *file_handle) DBG((env.dbg, LEVEL_2, "====> IRG: %F\n", irg)); dump(DUMP_INITIAL, irg, "-begin", dump_ir_block_graph); + be_stat_init_irg(env.arch_env, irg); + be_do_stat_nodes(irg, "01 Begin"); + /* set the current graph (this is important for several firm functions) */ current_ir_graph = birg.irg; @@ -333,9 +336,13 @@ static void be_main_loop(FILE *file_handle) birg.abi = be_abi_introduce(&birg); dump(DUMP_ABI, irg, "-abi", dump_ir_block_graph); + be_do_stat_nodes(irg, "02 Abi"); + /* generate code */ arch_code_generator_prepare_graph(birg.cg); + be_do_stat_nodes(irg, "03 Prepare"); + /* * Since the code generator made a lot of new nodes and skipped * a lot of old ones, we should do dead node elimination here. @@ -355,11 +362,15 @@ static void be_main_loop(FILE *file_handle) list_sched(&birg, be_disable_mris); dump(DUMP_SCHED, irg, "-sched", dump_ir_block_graph_sched); + be_do_stat_nodes(irg, "04 Schedule"); + /* add Keeps for should_be_different constrained nodes */ /* beware: needs schedule due to usage of be_ssa_constr */ assure_constraints(&birg); dump(DUMP_SCHED, irg, "-assured", dump_ir_block_graph_sched); + be_do_stat_nodes(irg, "05 Constraints"); + /* connect all stack modifying nodes together (see beabi.c) */ be_abi_fix_stack_nodes(birg.abi); dump(DUMP_SCHED, irg, "-fix_stack", dump_ir_block_graph_sched); @@ -375,6 +386,8 @@ static void be_main_loop(FILE *file_handle) ra->allocate(&birg); dump(DUMP_RA, irg, "-ra", dump_ir_block_graph_sched); + be_do_stat_nodes(irg, "06 Register Allocation"); + arch_code_generator_after_ra(birg.cg); be_abi_fix_stack_bias(birg.abi); @@ -382,6 +395,8 @@ static void be_main_loop(FILE *file_handle) dump(DUMP_FINAL, irg, "-end", dump_ir_extblock_graph_sched); be_abi_free(birg.abi); + be_do_stat_nodes(irg, "07 Final"); + // free_ir_graph(irg); } be_done_env(&env); -- 2.20.1