attempt to workaround input problems on OS/X gdb
[cparser] / driver / firm_codegen.c
index 941f559..300a56c 100644 (file)
@@ -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$
  */
@@ -41,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;
@@ -70,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);
@@ -93,4 +93,4 @@ void do_codegen(FILE *out, const char *file_name) {
 
   if (close_out)
     fclose(close_out);
-} /* do_codegen() */
+}