X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbemain.c;h=924d203ad8095f2b34e40a2d5e53cfd3eb0f970c;hb=c221526a38e632139bb36afb3e059b429e76c2d7;hp=c5b235f5af2efbde4d6f83a7486d3bae57b57e55;hpb=39cb52264857d7c21c7141ba82bb55adaa78064d;p=libfirm diff --git a/ir/be/bemain.c b/ir/be/bemain.c index c5b235f5a..924d203ad 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -154,7 +154,7 @@ static const lc_opt_table_entry_t be_main_options[] = { LC_OPT_ENT_BOOL ("omitleaffp", "omit frame pointer in leaf routines", &be_options.omit_leaf_fp), LC_OPT_ENT_BOOL ("pic", "create PIC code", &be_options.pic), LC_OPT_ENT_BOOL ("gprof", "create gprof profiling code", &be_options.gprof), - LC_OPT_ENT_ENUM_PTR ("verify", "verify the backend irg", &vrfy_var), + LC_OPT_ENT_ENUM_PTR ("verify", "verify the backend irg", &vrfy_var), LC_OPT_ENT_BOOL ("time", "get backend timing statistics", &be_options.timing), LC_OPT_ENT_BOOL ("profile", "instrument the code for execution count profiling", &be_options.opt_profile), LC_OPT_ENT_ENUM_PTR ("sched", "select a scheduler", &sched_var), @@ -445,6 +445,8 @@ static void dump(int mask, ir_graph *irg, const char *suffix, */ static void initialize_birg(be_irg_t *birg, ir_graph *irg, be_main_env_t *env) { + irg->be_data = birg; + memset(birg, 0, sizeof(*birg)); birg->irg = irg; birg->main_env = env; @@ -574,7 +576,6 @@ static void be_main_loop(FILE *file_handle, const char *cup_name) /* First: initialize all birgs */ for(i = 0; i < num_birgs; ++i) { ir_graph *irg = backend_irg_list ? backend_irg_list[i] : get_irp_irg(i); - irg->be_data = &birgs[i]; initialize_birg(&birgs[i], irg, &env); } arch_env_handle_intrinsics(arch_env); @@ -841,7 +842,7 @@ static void be_main_loop(FILE *file_handle, const char *cup_name) #define LC_EMIT(timer) \ stat_ev_if { \ - stat_ev_dbl(ir_timer_get_name(timer), ir_timer_elapsed_msec(timer)); \ + stat_ev_dbl(ir_timer_get_name(timer), ir_timer_elapsed_usec(timer)); \ } else { \ printf("%-20s: %8.3lf msec\n", ir_timer_get_description(timer), (double)ir_timer_elapsed_usec(timer) / 1000.0); \ } \