goto error;
}
- callinstr = ir_block_create_call(func->curblock, ast_function_label(func, "call"), funval, funval->outtype);
+ callinstr = ir_block_create_call(func->curblock, ast_function_label(func, "call"), funval);
if (!callinstr)
goto error;
}
/* call related code */
-ir_instr* ir_block_create_call(ir_block *self, const char *label, ir_value *func, int ot)
+ir_instr* ir_block_create_call(ir_block *self, const char *label, ir_value *func)
{
ir_value *out;
ir_instr *in;
in = ir_instr_new(self, INSTR_CALL0);
if (!in)
return NULL;
- out = ir_value_out(self->owner, label, store_value, ot);
+ out = ir_value_out(self->owner, label, store_value, func->outtype);
if (!out) {
ir_instr_delete(in);
return NULL;
ir_instr* ir_block_create_phi(ir_block*, const char *label, int vtype);
ir_value* ir_phi_value(ir_instr*);
bool GMQCC_WARN ir_phi_add(ir_instr*, ir_block *b, ir_value *v);
-ir_instr* ir_block_create_call(ir_block*, const char *label, ir_value *func, int otype);
+ir_instr* ir_block_create_call(ir_block*, const char *label, ir_value *func);
ir_value* ir_call_value(ir_instr*);
bool GMQCC_WARN ir_call_param(ir_instr*, ir_value*);