return new_rd_mips_##mips_nodetype(env->dbg, env->irg, env->block, op1, op2, env->mode);\
}
-MIPS_GENBINFUNC(add);
-MIPS_GENBINFUNC(sub);
-MIPS_GENBINFUNC(div);
-MIPS_GENBINFUNC(and);
-MIPS_GENBINFUNC(or);
-MIPS_GENBINFUNC(xor);
-MIPS_GENBINFUNC(sl);
-MIPS_GENBINFUNC(sr);
-MIPS_GENBINFUNC(sra);
+MIPS_GENBINFUNC(add)
+MIPS_GENBINFUNC(sub)
+MIPS_GENBINFUNC(and)
+MIPS_GENBINFUNC(or)
+MIPS_GENBINFUNC(xor)
+MIPS_GENBINFUNC(sl)
+MIPS_GENBINFUNC(sr)
+MIPS_GENBINFUNC(sra)
#define MIPS_GENUNFUNC(mips_nodetype) \
static ir_node *mips_gen_##mips_nodetype(mips_transform_env_t *env, ir_node *op) { \
return new_rd_mips_##mips_nodetype(env->dbg, env->irg, env->block, op, env->mode); \
}
-MIPS_GENUNFUNC(not);
+MIPS_GENUNFUNC(not)
static ir_node* mips_get_reg_node(mips_transform_env_t *env, const arch_register_t *reg) {
return be_abi_get_callee_save_irn(env->cg->birg->abi, reg);
static ir_node* gen_zero_node(mips_transform_env_t *env, dbg_info *ebg, ir_graph *irg, ir_node *block)
{
- ir_node *zero = be_abi_get_callee_save_irn(env->cg->birg->abi, &mips_general_purpose_regs[REG_ZERO]);
+ ir_node *zero = be_abi_get_callee_save_irn(env->cg->birg->abi, &mips_gp_regs[REG_ZERO]);
// TODO make zero nodes work
//ir_node *unknown = new_rd_mips_zero(dbg, irg, block, mode);
ir_node *node = env->irn;
dbg_info *dbg = get_irn_dbg_info(pred);
ir_graph *irg = get_irn_irg(node);
- ir_mode* mode = get_irn_mode(pred);
ir_node *block;
if(get_irn_opcode(node) == iro_Phi) {
// replaced by a mips_ compare node
ir_node *proj = get_Cond_selector(node);
ir_node *original_cmp = get_irn_n(proj, 0);
- ir_node *result = NULL;
ir_node *cmp;
ir_node *condjmp;
ir_node *op1, *op2;
assert(get_mode_size_bits(selector_mode) == 32);
+ defaultproj = NULL;
defaultprojn = get_Cond_defaultProj(node);
// go over all projs to find min-&maxval of the switch
static ir_node *create_conv_store_load(mips_transform_env_t *env, ir_mode* srcmode, ir_mode* dstmode) {
ir_node *nomem, *store, *mem_proj, *value_proj, *load;
- entity *mem_entity;
+ ir_entity *mem_entity;
ir_node *node = env->irn;
ir_node *pred = get_Conv_op(node);
ir_node *sp;
ptr_i32type = new_d_type_pointer(id, i32type, mode_P, env->dbg);
mem_entity = new_d_entity(get_irg_frame_type(env->irg), id, ptr_i32type, env->dbg);
- sp = mips_get_reg_node(env, &mips_general_purpose_regs[REG_SP]);
+ sp = mips_get_reg_node(env, &mips_gp_regs[REG_SP]);
nomem = new_ir_node(env->dbg, env->irg, env->block, op_NoMem, mode_M, 0, NULL);
store = new_rd_mips_store_r(env->dbg, env->irg, env->block, nomem, sp, pred, mode_T);
}
static void mips_transform_Spill(mips_transform_env_t* env) {
- ir_node *node = env->irn;
- ir_node *sched_point = NULL;
- ir_node *store, *proj;
- ir_node *nomem = new_rd_NoMem(env->irg);
- ir_node *ptr = get_irn_n(node, 0);
- ir_node *val = get_irn_n(node, 1);
- entity *ent = be_get_frame_entity(node);
+ ir_node *node = env->irn;
+ ir_node *sched_point = NULL;
+ ir_node *store, *proj;
+ ir_node *nomem = new_rd_NoMem(env->irg);
+ ir_node *ptr = get_irn_n(node, 0);
+ ir_node *val = get_irn_n(node, 1);
+ ir_entity *ent = be_get_frame_entity(node);
mips_attr_t *attr;
if(sched_is_scheduled(node)) {
}
static void mips_transform_Reload(mips_transform_env_t* env) {
- ir_node *node = env->irn;
- ir_node *sched_point = NULL;
- ir_node *load, *proj;
- ir_node *nomem = new_rd_NoMem(env->irg);
- ir_node *ptr = get_irn_n(node, 0);
- ir_node *mem = get_irn_n(node, 1);
- ir_mode *mode = get_irn_mode(node);
- entity *ent = be_get_frame_entity(node);
+ ir_node *node = env->irn;
+ ir_node *sched_point = NULL;
+ ir_node *load, *proj;
+ ir_node *ptr = get_irn_n(node, 0);
+ ir_node *mem = get_irn_n(node, 1);
+ ir_mode *mode = get_irn_mode(node);
+ ir_entity *ent = be_get_frame_entity(node);
const arch_register_t* reg;
mips_attr_t *attr;
tenv.dbg = get_irn_dbg_info(node);
tenv.irg = current_ir_graph;
tenv.irn = node;
- tenv.mod = cgenv->mod;
+ DEBUG_ONLY(tenv.mod = cgenv->mod;)
tenv.mode = get_irn_mode(node);
tenv.cg = cgenv;
tenv.dbg = get_irn_dbg_info(node);
tenv.irg = current_ir_graph;
tenv.irn = node;
- tenv.mod = cgenv->mod;
+ DEBUG_ONLY(tenv.mod = cgenv->mod;)
tenv.mode = get_irn_mode(node);
tenv.cg = cgenv;
tenv.dbg = get_irn_dbg_info(node);
tenv.irg = current_ir_graph;
tenv.irn = node;
- tenv.mod = cg->mod;
+ DEBUG_ONLY(tenv.mod = cg->mod;)
tenv.mode = get_irn_mode(node);
tenv.cg = cg;