start register allocator again, fix typo
[libfirm] / ir / be / mips / mips_emitter.c
index dd4bf04..7bdc531 100644 (file)
@@ -341,11 +341,10 @@ static void mips_emit_IncSP(const ir_node *node, mips_emit_env_t *env)
        FILE *F      = env->out;
        int   offset = be_get_IncSP_offset(node);
 
-       if(offset == 0)
+       if(offset == 0) {
+               fprintf(F, "\t\t\t\t # omitted IncSP with 0\n");
                return;
-
-       if(be_get_IncSP_direction(node) != be_stack_dir_expand)
-               offset = -offset;
+       }
 
        fprintf(F, "\taddi $sp, $sp, %d\n", -offset);
 }
@@ -388,18 +387,18 @@ static void mips_emit_Perm(const ir_node *node, mips_emit_env_t *env)
 
 static void mips_emit_Spill(const ir_node* node, mips_emit_env_t *env)
 {
-       FILE   *F   = env->out;
-       entity *ent = be_get_frame_entity(node);
+       FILE      *F   = env->out;
+       ir_entity *ent = be_get_frame_entity(node);
 
-       lc_efprintf(mips_get_arg_env(), F, "\tsw %1S, %d($fp)\n", node, get_entity_offset_bytes(ent));
+       lc_efprintf(mips_get_arg_env(), F, "\tsw %1S, %d($fp)\n", node, get_entity_offset(ent));
 }
 
 static void mips_emit_Reload(const ir_node* node, mips_emit_env_t *env)
 {
-       FILE   *F   = env->out;
-       entity *ent = be_get_frame_entity(node);
+       FILE      *F   = env->out;
+       ir_entity *ent = be_get_frame_entity(node);
 
-       lc_efprintf(mips_get_arg_env(), F, "\tlw %1D, %d($fp)\n", node, get_entity_offset_bytes(ent));
+       lc_efprintf(mips_get_arg_env(), F, "\tlw %1D, %d($fp)\n", node, get_entity_offset(ent));
 }
 
 /************************************************************************/
@@ -412,7 +411,7 @@ static void mips_emit_Call(ir_node *node, mips_emit_env_t *env)
        const arch_register_t *callee_reg;
 
        // call to imediate value (label)
-       entity *callee = be_Call_get_entity(node);
+       ir_entity *callee = be_Call_get_entity(node);
        if(callee != NULL) {
                fprintf(F, "\tjal %s\n", get_entity_name(callee));
                return;