X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=driver%2Ffirm_codegen.c;h=300a56cea8174e3def902788a0b9f6c30def2482;hb=e0dc840844ae424f37cb00f9a39251cd277edc3a;hp=57f52b3a9007ed25faeaaa946443473564198510;hpb=d9f918c846087ee7fc1b97e83671181c1ecf2fff;p=cparser diff --git a/driver/firm_codegen.c b/driver/firm_codegen.c index 57f52b3..300a56c 100644 --- a/driver/firm_codegen.c +++ b/driver/firm_codegen.c @@ -3,7 +3,7 @@ * * Compile when BACK_END_IS_CP_FIRM_BE is defined * - * (C) 2005 Michael Beck beck@ipd.info.uni-karlsruhe.de + * (C) 2005-2009 Michael Beck beck@ipd.info.uni-karlsruhe.de * * $Id$ */ @@ -23,8 +23,6 @@ #include "firm_opt.h" #include "firm_timing.h" -extern void be_main(FILE *f, const char *asm_file_name); - /** * Substitutes '.c' for '.s'. */ @@ -43,11 +41,9 @@ static char *generate_asm_file_name(const char *file_name) { break; #endif -#ifdef FIRM_BACKEND case BE_FIRM_BE: strncat(asm_file_name, ".s", 4); break; -#endif } return asm_file_name; @@ -72,22 +68,24 @@ void do_codegen(FILE *out, const char *file_name) { switch (firm_be_opt.selection) { #ifdef FIRM2C_BACKEND - case BE_FIRM2C: - timer_push(TV_FIRM2C_BE); - cbackend_set_debug_retrieve(dbg_retrieve); - generate_code_file(out); - timer_pop(); + case BE_FIRM2C: { + ir_timer_t *timer = ir_timer_new(); + timer_register(timer, "Firm: C-generating backend"); + timer_start(timer); + generate_code_file(out); + timer_stop(timer); break; + } #endif -#ifdef FIRM_BACKEND - case BE_FIRM_BE: - timer_push(TV_FIRM_BE); - ir_set_debug_retrieve(dbg_retrieve); - be_main(out, file_name); - timer_pop(); + case BE_FIRM_BE: { + ir_timer_t *timer = ir_timer_new(); + timer_register(timer, "Firm: backend"); + timer_start(timer); + be_main(out, file_name); + timer_stop(timer); break; -#endif + } default: fprintf(stderr, "Fatal: Unknown backend %d\n", firm_be_opt.selection); @@ -95,4 +93,4 @@ void do_codegen(FILE *out, const char *file_name) { if (close_out) fclose(close_out); -} /* do_codegen() */ +}