X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_optimize.c;h=4cdcb472d98d5dd46025d110557ce27f13235048;hb=41eca21e7add2e4f30f14c46600a23839852b3fc;hp=3ffd9c4d35fbacd97fa377fca1c1dd52f08a4304;hpb=b970c1e92d69012f76091aa1d9d2d2e2d3f6221b;p=libfirm diff --git a/ir/be/ia32/ia32_optimize.c b/ir/be/ia32/ia32_optimize.c index 3ffd9c4d3..4cdcb472d 100644 --- a/ir/be/ia32/ia32_optimize.c +++ b/ir/be/ia32/ia32_optimize.c @@ -318,15 +318,15 @@ static void peephole_ia32_Test(ir_node *node) if ((offset & 0xFFFFFF00) == 0) { /* attr->am_offs += 0; */ } else if ((offset & 0xFFFF00FF) == 0) { - ir_node *imm = create_Immediate(NULL, 0, offset >> 8); + ir_node *imm = ia32_create_Immediate(NULL, 0, offset >> 8); set_irn_n(node, n_ia32_Test_right, imm); attr->am_offs += 1; } else if ((offset & 0xFF00FFFF) == 0) { - ir_node *imm = create_Immediate(NULL, 0, offset >> 16); + ir_node *imm = ia32_create_Immediate(NULL, 0, offset >> 16); set_irn_n(node, n_ia32_Test_right, imm); attr->am_offs += 2; } else if ((offset & 0x00FFFFFF) == 0) { - ir_node *imm = create_Immediate(NULL, 0, offset >> 24); + ir_node *imm = ia32_create_Immediate(NULL, 0, offset >> 24); set_irn_n(node, n_ia32_Test_right, imm); attr->am_offs += 3; } else { @@ -947,9 +947,7 @@ static void peephole_ia32_Const(ir_node *node) const arch_register_t *reg; ir_node *block; dbg_info *dbgi; - ir_node *produceval; ir_node *xor; - ir_node *noreg; /* try to transform a mov 0, reg to xor reg reg */ if (attr->offset != 0 || attr->symconst != NULL) @@ -964,17 +962,11 @@ static void peephole_ia32_Const(ir_node *node) assert(be_peephole_get_reg_value(reg) == NULL); /* create xor(produceval, produceval) */ - block = get_nodes_block(node); - dbgi = get_irn_dbg_info(node); - produceval = new_bd_ia32_ProduceVal(dbgi, block); - arch_set_irn_register(produceval, reg); - - noreg = ia32_new_NoReg_gp(cg); - xor = new_bd_ia32_Xor(dbgi, block, noreg, noreg, new_NoMem(), produceval, - produceval); + block = get_nodes_block(node); + dbgi = get_irn_dbg_info(node); + xor = new_bd_ia32_Xor0(dbgi, block); arch_set_irn_register(xor, reg); - sched_add_before(node, produceval); sched_add_before(node, xor); copy_mark(node, xor); @@ -1048,7 +1040,7 @@ static void peephole_ia32_Lea(ir_node *node) assert(is_ia32_Lea(node)); - /* we can only do this if are allowed to globber the flags */ + /* we can only do this if it is allowed to clobber the flags */ if(be_peephole_get_value(CLASS_ia32_flags, REG_EFLAGS) != NULL) return;