From 5f2f5d8c57a6639fd16450b29d4f8e9f86788558 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Sun, 3 Sep 2006 21:29:36 +0000 Subject: [PATCH] verifier to check that no out edges point to dead/removed nodes --- ir/be/bemain.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ir/be/bemain.c b/ir/be/bemain.c index c954cd433..d29d7b80f 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -560,7 +560,7 @@ static void be_main_loop(FILE *file_handle) /* Do register allocation */ BE_TIMER_PUSH(t_regalloc); ra_timer = ra->allocate(&birg); - BE_TIMER_PUSH(t_regalloc); + BE_TIMER_POP(t_regalloc); dump(DUMP_RA, irg, "-ra", dump_ir_block_graph_sched); be_do_stat_nodes(irg, "06 Register Allocation"); @@ -588,11 +588,13 @@ static void be_main_loop(FILE *file_handle) if (vrfy_option == BE_VRFY_WARN) { //irg_verify(birg.irg, VRFY_ENFORCE_SSA); be_check_dominance(birg.irg); + be_verify_out_edges(birg.irg); be_verify_schedule(birg.irg); be_verify_register_allocation(env.arch_env, birg.irg); } else if (vrfy_option == BE_VRFY_ASSERT) { //assert(irg_verify(birg.irg, VRFY_ENFORCE_SSA) && "irg verification failed"); + assert(be_verify_out_edges(birg.irg)); assert(be_check_dominance(birg.irg) && "Dominance verification failed"); assert(be_verify_schedule(birg.irg) && "Schedule verification failed"); assert(be_verify_register_allocation(env.arch_env, birg.irg) -- 2.20.1