Added sparse matrix impl. Used by copyopt_ilp
[libfirm] / ir / be / bemain.c
index d7255c5..372e695 100644 (file)
 #include "belistsched.h"
 #include "belive_t.h"
 #include "beutil.h"
-#include "phiclass_t.h"
 #include "bechordal.h"
 #include "bechordal.h"
 #include "bephiopt.h"
 #include "phistat.h"
 
-#define DUMP_ALLOCATED
-#define DUMP_LOCALIZED
+#include "beasm_dump_globals.h"
+#include "beasm_asm_gnu.h"
+
+#undef DUMP_ALLOCATED
+#undef DUMP_LOCALIZED
 
 #define N_PHASES 256
 
@@ -119,15 +121,14 @@ static void be_main_loop(void)
                dump_ir_block_graph(irg, "-local-const");
 #endif
                be_numbering(irg);
-               list_sched(irg, trivial_selector, NULL);
+               list_sched(irg, trivial_selector);
                be_liveness(irg);
                be_ra_chordal(irg);
 
 #ifdef DUMP_ALLOCATED
-               dump_allocated_irg(irg);
+               dump_allocated_irg(irg, "");
 #endif
                be_phi_opt(irg);
-               //??be_phi_destruction(irg);
 
                be_ra_chordal_done(irg);
                be_numbering_done(irg);
@@ -136,5 +137,15 @@ static void be_main_loop(void)
 
 void be_main(int argc, const char *argv[])
 {
+  assembler_t *gnu_assembler;
+  FILE *asm_output_file;
+
        be_main_loop();
+       gnu_assembler = gnuasm_create_assembler();
+       asm_output_file = fopen("asm_output.asm", "w");
+
+       asm_dump_globals ( gnu_assembler );
+       gnuasm_dump ( gnu_assembler, asm_output_file );
+       gnuasm_delete_assembler ( gnu_assembler );
+       fclose(asm_output_file);
 }