remove $Id$, it doesn't work with git anyway
[libfirm] / ir / be / sparc / bearch_sparc.c
index aca94f0..9224f72 100644 (file)
@@ -21,7 +21,6 @@
  * @file
  * @brief    The main sparc backend driver file.
  * @author   Hannes Rapp, Matthias Braun
- * @version  $Id$
  */
 #include "config.h"
 
@@ -352,7 +351,7 @@ static void sparc_handle_intrinsics(void)
 /**
  * Initializes the backend ISA
  */
-static arch_env_t *sparc_init(FILE *outfile)
+static arch_env_t *sparc_init(const be_main_env_t *env)
 {
        sparc_isa_t *isa = XMALLOC(sparc_isa_t);
        *isa = sparc_isa_template;
@@ -362,13 +361,14 @@ static arch_env_t *sparc_init(FILE *outfile)
        be_gas_object_file_format = OBJECT_FILE_FORMAT_ELF;
        be_gas_elf_variant        = ELF_VARIANT_SPARC;
 
-       be_emit_init(outfile);
-
        sparc_register_init();
        sparc_create_opcodes(&sparc_irn_ops);
        sparc_handle_intrinsics();
        sparc_cconv_init();
 
+       be_emit_init(env->file_handle);
+       be_gas_begin_compilation_unit(env);
+
        return &isa->base;
 }
 
@@ -380,7 +380,7 @@ static void sparc_done(void *self)
        sparc_isa_t *isa = (sparc_isa_t*)self;
 
        /* emit now all global declarations */
-       be_gas_emit_decls(isa->base.main_env);
+       be_gas_end_compilation_unit(isa->base.main_env);
 
        pmap_destroy(isa->constants);
        be_emit_exit();
@@ -435,7 +435,7 @@ static void sparc_lower_for_target(void)
                ir_graph *irg = get_irp_irg(i);
                ir_lower_mode_b(irg, mode_Iu);
                lower_switch(irg, 4, 256, false);
-               lower_alloc(irg, SPARC_STACK_ALIGNMENT, false, -SPARC_MIN_STACKSIZE);
+               lower_alloc(irg, SPARC_STACK_ALIGNMENT, false, SPARC_MIN_STACKSIZE);
        }
 }