X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_finish.c;h=03c97572b58469af9417e92cbad80c98926e37e2;hb=66767b28a2e892aea789fdd8f97d8a5d8d51af21;hp=fbb1e6c268359ff9d982d5a07f73b12e9f92dd48;hpb=a824d376c1c37f80c7e1ebd6304665380d28fc5f;p=libfirm diff --git a/ir/be/ia32/ia32_finish.c b/ir/be/ia32/ia32_finish.c index fbb1e6c26..03c97572b 100644 --- a/ir/be/ia32/ia32_finish.c +++ b/ir/be/ia32/ia32_finish.c @@ -68,7 +68,7 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg) noreg = ia32_new_NoReg_gp(cg); noreg_fp = ia32_new_NoReg_xmm(cg); - nomem = new_rd_NoMem(cg->irg); + nomem = new_NoMem(); in1 = get_irn_n(irn, n_ia32_binary_left); in2 = get_irn_n(irn, n_ia32_binary_right); in1_reg = arch_get_irn_register(in1); @@ -92,7 +92,7 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg) assert(get_irn_mode(irn) != mode_T); - res = new_rd_ia32_xXor(dbg, irg, block, noreg, noreg, nomem, in2, noreg_fp); + res = new_bd_ia32_xXor(dbg, block, noreg, noreg, nomem, in2, noreg_fp); size = get_mode_size_bits(op_mode); entity = ia32_gen_fp_known_const(size == 32 ? ia32_SSIGN : ia32_DSIGN); set_ia32_am_sc(res, entity); @@ -105,7 +105,7 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg) sched_add_before(irn, res); /* generate the add */ - res = new_rd_ia32_xAdd(dbg, irg, block, noreg, noreg, nomem, res, in1); + res = new_bd_ia32_xAdd(dbg, block, noreg, noreg, nomem, res, in1); set_ia32_ls_mode(res, get_ia32_ls_mode(irn)); /* exchange the add and the sub */ @@ -135,14 +135,14 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg) } if (flags_proj == NULL) { - res = new_rd_ia32_Neg(dbg, irg, block, in2); + res = new_bd_ia32_Neg(dbg, block, in2); arch_set_irn_register(res, in2_reg); /* add to schedule */ sched_add_before(irn, res); /* generate the add */ - res = new_rd_ia32_Add(dbg, irg, block, noreg, noreg, nomem, res, in1); + res = new_bd_ia32_Add(dbg, block, noreg, noreg, nomem, res, in1); arch_set_irn_register(res, out_reg); set_ia32_commutative(res); @@ -164,16 +164,15 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg) * * a + -b = a + (~b + 1) would set the carry flag IF a == b ... */ - not = new_rd_ia32_Not(dbg, irg, block, in2); + not = new_bd_ia32_Not(dbg, block, in2); arch_set_irn_register(not, in2_reg); sched_add_before(irn, not); - stc = new_rd_ia32_Stc(dbg, irg, block); + stc = new_bd_ia32_Stc(dbg, block); arch_set_irn_register(stc, &ia32_flags_regs[REG_EFLAGS]); sched_add_before(irn, stc); - adc = new_rd_ia32_Adc(dbg, irg, block, noreg, noreg, nomem, not, - in1, stc); + adc = new_bd_ia32_Adc(dbg, block, noreg, noreg, nomem, not, in1, stc); arch_set_irn_register(adc, out_reg); sched_add_before(irn, adc); @@ -181,7 +180,7 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg) adc_flags = new_r_Proj(irg, block, adc, mode_Iu, pn_ia32_Adc_flags); arch_set_irn_register(adc_flags, &ia32_flags_regs[REG_EFLAGS]); - cmc = new_rd_ia32_Cmc(dbg, irg, block, adc_flags); + cmc = new_bd_ia32_Cmc(dbg, block, adc_flags); arch_set_irn_register(cmc, &ia32_flags_regs[REG_EFLAGS]); sched_add_before(irn, cmc); @@ -197,7 +196,7 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg) set_irn_mode(res, get_irn_mode(irn)); - SET_IA32_ORIG_NODE(res, ia32_get_old_node_name(cg, irn)); + SET_IA32_ORIG_NODE(res, irn); /* remove the old sub */ sched_remove(irn);