*
* 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$
*/
#include "firm_opt.h"
#include "firm_timing.h"
-extern void be_main(FILE *f, const char *asm_file_name);
-
/**
* Substitutes '.c' for '.s'.
*/
break;
#endif
-#ifdef FIRM_BACKEND
case BE_FIRM_BE:
strncat(asm_file_name, ".s", 4);
break;
-#endif
}
return asm_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);
if (close_out)
fclose(close_out);
-} /* do_codegen() */
+}