Fixed compile error in optimize build.
[libfirm] / ir / be / bemain.c
index 316d0cb..77d5337 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2011 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -83,18 +83,13 @@ static be_options_t be_options = {
        0,                                 /* no opt profile */
        0,                                 /* try to omit frame pointer */
        0,                                 /* create PIC code */
-       0,                                 /* create gprof compatible profiling code */
        BE_VERIFY_WARN,                    /* verification level: warn */
-       "linux",                           /* target OS name */
        "i44pc52.info.uni-karlsruhe.de",   /* ilp server */
        "cplex",                           /* ilp solver */
        0,                                 /* enable statistic event dumping */
        "",                                /* print stat events */
 };
 
-/* config file. */
-static char config_file[256] = { 0 };
-
 /* back end instruction set architecture to use */
 static const arch_isa_if_t *isa_if = NULL;
 
@@ -129,15 +124,12 @@ static lc_opt_enum_int_var_t verify_var = {
 };
 
 static const lc_opt_table_entry_t be_main_options[] = {
-       LC_OPT_ENT_STR      ("config",     "read another config file containing backend options", config_file, sizeof(config_file)),
        LC_OPT_ENT_ENUM_MASK("dump",       "dump irg on several occasions",                       &dump_var),
        LC_OPT_ENT_BOOL     ("omitfp",     "omit frame pointer",                                  &be_options.omit_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",                              &verify_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_STR      ("os",         "specify target operating system",                     &be_options.target_os, sizeof(be_options.target_os)),
 #ifdef FIRM_STATISTICS
        LC_OPT_ENT_BOOL     ("statev",     "dump statistic events",                               &be_options.statev),
        LC_OPT_ENT_STR      ("filtev",     "filter for stat events (regex if support is active",  &be_options.filtev, sizeof(be_options.filtev)),
@@ -477,12 +469,12 @@ ir_timer_t *be_timers[T_LAST+1];
 
 void be_lower_for_target(void)
 {
-       int i;
+       size_t i;
 
        isa_if->lower_for_target();
        /* set the phase to low */
-       for (i = get_irp_n_irgs() - 1; i >= 0; --i) {
-               ir_graph *irg = get_irp_irg(i);
+       for (i = get_irp_n_irgs(); i > 0;) {
+               ir_graph *irg = get_irp_irg(--i);
                set_irg_phase_state(irg, phase_low);
        }
        set_irp_phase_state(phase_low);
@@ -500,7 +492,8 @@ static void be_main_loop(FILE *file_handle, const char *cup_name)
 {
        static const char suffix[] = ".prof";
 
-       int           i, num_birgs, stat_active = 0;
+       size_t        i, num_birgs;
+       int           stat_active = 0;
        be_main_env_t env;
        char          prof_filename[256];
        be_irg_t      *birgs;
@@ -639,6 +632,8 @@ static void be_main_loop(FILE *file_handle, const char *cup_name)
                        assert(be_check_dominance(irg) && "Dominance verification failed");
                }
 
+               dump(DUMP_PREPARED, irg, "code-selection");
+
                be_timer_push(T_EXECFREQ);
                /**
                 * Create execution frequencies from profile data or estimate some
@@ -659,7 +654,7 @@ static void be_main_loop(FILE *file_handle, const char *cup_name)
 
                /* schedule the irg */
                be_timer_push(T_SCHED);
-               list_sched(irg);
+               be_schedule_graph(irg);
                be_timer_pop(T_SCHED);
 
                dump(DUMP_SCHED, irg, "sched");
@@ -816,18 +811,6 @@ void be_main(FILE *file_handle, const char *cup_name)
 {
        ir_timer_t *t = NULL;
 
-       /* The user specified another config file to read. do that now. */
-       if (config_file[0] != '\0') {
-               FILE *f = fopen(config_file, "rt");
-
-               if (f != NULL) {
-                       lc_opt_from_file(config_file, f, NULL);
-                       fclose(f);
-               } else {
-                       fprintf(stderr, "Warning: Cannot open config file '%s'\n", config_file);
-               }
-       }
-
        if (be_options.timing == BE_TIME_ON) {
                t = ir_timer_new();