if (mode_needs_gp_reg(mode))
mode = mode_Iu;
res = new_rd_arm_Mov_i(dbg, irg, block, mode, value);
- /* ensure the const is scheduled AFTER the stack frame */
- add_irn_dep(res, get_irg_frame(irg));
+ be_dep_on_frame(res);
return res;
}
if (mode_needs_gp_reg(mode))
mode = mode_Iu;
res = new_rd_arm_Mvn_i(dbg, irg, block, mode, value);
- /* ensure the const is scheduled AFTER the stack frame */
- add_irn_dep(res, get_irg_frame(irg));
+ be_dep_on_frame(res);
return res;
}
if (be_get_Proj_for_pn(node, pn_Load_res) == NULL) {
/* add a result proj and a Keep to produce a pseudo use */
ir_node *proj = new_r_Proj(irg, block, new_load, mode_Iu, pn_arm_Load_res);
- be_new_Keep(arch_get_irn_reg_class(env_cg->arch_env, proj, -1), irg, block, 1, &proj);
+ be_new_Keep(arch_get_irn_reg_class(proj, -1), irg, block, 1, &proj);
}
return new_load;
} else {
node = new_rd_arm_fpaConst(dbg, irg, block, tv);
}
- /* ensure the const is scheduled AFTER the stack frame */
- add_irn_dep(node, get_irg_frame(irg));
+ be_dep_on_frame(node);
return node;
}
else if (USE_VFP(env_cg->isa)) {
ir_node *res;
res = new_rd_arm_SymConst(dbg, irg, block, mode, get_sc_ident(node));
- /* ensure the const is scheduled AFTER the stack frame */
- add_irn_dep(res, get_irg_frame(irg));
+ be_dep_on_frame(res);
return res;
}
if (proj == pn_be_AddSP_sp) {
ir_node *res = new_rd_Proj(dbgi, irg, block, new_pred, mode_Iu,
pn_arm_SubSPandCopy_stack);
- arch_set_irn_register(env_cg->arch_env, res, &arm_gp_regs[REG_SP]);
+ arch_set_irn_register(res, &arm_gp_regs[REG_SP]);
return res;
} else if(proj == pn_be_AddSP_res) {
return new_rd_Proj(dbgi, irg, block, new_pred, mode_Iu,
if (proj == pn_be_SubSP_sp) {
ir_node *res = new_rd_Proj(dbgi, irg, block, new_pred, mode_Iu,
pn_arm_AddSP_stack);
- arch_set_irn_register(env_cg->arch_env, res, &arm_gp_regs[REG_SP]);
+ arch_set_irn_register(res, &arm_gp_regs[REG_SP]);
return res;
} else if (proj == pn_be_SubSP_M) {
return new_rd_Proj(dbgi, irg, block, new_pred, mode_M, pn_arm_AddSP_M);
block = get_irg_start_block(env_cg->irg);
res = func(NULL, env_cg->irg, block);
- arch_set_irn_register(env_cg->arch_env, res, reg);
+ arch_set_irn_register(res, reg);
*place = res;
add_irn_dep(get_irg_end(env_cg->irg), res);
copy_node_attr(node, phi);
be_duplicate_deps(node, phi);
- be_set_transformed_node(node, phi);
be_enqueue_preds(node);
return phi;
/**
* Pre-transform all unknown nodes.
*/
-static void arm_pretransform_node(void *arch_cg) {
- arm_code_gen_t *cg = arch_cg;
+static void arm_pretransform_node(void)
+{
+ arm_code_gen_t *cg = env_cg;
cg->unknown_gp = be_pre_transform_node(cg->unknown_gp);
cg->unknown_fpa = be_pre_transform_node(cg->unknown_fpa);
}
arm_register_transformers();
env_cg = cg;
- be_transform_graph(cg->birg, arm_pretransform_node, cg);
+ be_transform_graph(cg->birg, arm_pretransform_node);
}
void arm_init_transform(void) {