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);
}
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));
}
/************************************************************************/
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;