X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_optimize.c;h=555d8f78854aa7c43e49b97cf36d95fd27f1099a;hb=04f68446f4064c3f1ebcf94920bb1db8235fe485;hp=5b65a061a837345ac0fea907f11b91eb5f562d85;hpb=49dfddf0454cb4902ef9801463da25a7556054fc;p=libfirm diff --git a/ir/be/ia32/ia32_optimize.c b/ir/be/ia32/ia32_optimize.c index 5b65a061a..555d8f788 100644 --- a/ir/be/ia32/ia32_optimize.c +++ b/ir/be/ia32/ia32_optimize.c @@ -1289,8 +1289,6 @@ static void optimize_am(ir_node *irn, void *env) { am_support = get_ia32_am_support(irn); block = get_nodes_block(irn); - DBG((dbg, LEVEL_1, "checking for AM\n")); - /* fold following patterns: */ /* - op -> Load into AMop with am_Source */ /* conditions: */ @@ -1355,7 +1353,8 @@ static void optimize_am(ir_node *irn, void *env) { /* normalize nodes, we need the interesting load on the left side */ if (cand & IA32_AM_CAND_RIGHT) { load = get_Proj_pred(right); - if (load_store_addr_is_equal(load, store, addr_b, addr_i)) { + if (load_store_addr_is_equal(load, store, addr_b, addr_i) + && node_is_ia32_comm(irn)) { DBG((dbg, LEVEL_2, "\texchanging left/right\n")); exchange_left_right(irn, &left, &right, 3, 2); need_exchange_on_fail ^= 1;