X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbemain.c;h=c476f88b4c8589f7593a4df2afa917476985504a;hb=4ed245f5007168dab7850942a7ee6b6b29a19817;hp=ca848c6542e66f8c91a0c84998a3fac36422f634;hpb=471325a164f6aa9eab2cea87ec58edf3194130e7;p=libfirm diff --git a/ir/be/bemain.c b/ir/be/bemain.c index ca848c654..c476f88b4 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -28,6 +28,7 @@ #include "iredges_t.h" #include "irloop_t.h" #include "irtools.h" +#include "irvrfy.h" #include "return.h" #include "firmstat.h" @@ -560,8 +561,19 @@ static void be_main_loop(FILE *file_handle) /* check schedule and register allocation */ BE_TIMER_PUSH(t_verify); - be_sched_vrfy(birg.irg, vrfy_option); - be_verify_register_allocation(env.arch_env, birg.irg); + if (vrfy_option == BE_VRFY_WARN) { + //irg_verify(birg.irg, VRFY_ENFORCE_SSA); + be_check_dominance(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_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) + && "register allocation verification failed"); + } BE_TIMER_POP(t_verify); /* emit assembler code */