case MODE_BINOP:
printf(" ");
print_ident(p, &(expr->dest));
- printf(" = \n");
+ printf(" = %s ", binop_name(expr));
+ emit_type(expr->type);
+ printf(" ");
+ print_ident(p, &(expr->left.var));
+ printf(", ");
+ print_ident(p, &(expr->right.var));
+ printf("\n");
break;
case MODE_BINOP_LC:
printf("\n");
break;
- case MODE_CONST:
- printf(" ");
- print_ident(p, &(expr->dest));
- printf(" = \n");
- break;
-
case MODE_VAR:
- printf(" ");
- print_ident(p, &(expr->dest));
- printf(" = \n");
- break;
-
+ case MODE_CONST:
default:
printf("OP ????\n");
assert(!"not implemented");
}
}
-
void codegen_block(Parser* p, SsaBlock* block)
{
/* perform a topological sort of the nodes */