X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_optimize.c;h=631f6e6c7b98f04481ab90be5120c08e321d11ae;hb=8694468860fe14808c20e9e246fe1368c097b322;hp=d70f8b99772c9099a19aca0586b5e00c2e86db22;hpb=bb0a0d711b614d65419cef6c7d9140186e4c9b12;p=libfirm diff --git a/ir/be/ia32/ia32_optimize.c b/ir/be/ia32/ia32_optimize.c index d70f8b997..631f6e6c7 100644 --- a/ir/be/ia32/ia32_optimize.c +++ b/ir/be/ia32/ia32_optimize.c @@ -1522,6 +1522,8 @@ static void optimize_am(ir_node *irn, void *env) { DBG_OPT_AM_D(load, store, irn); DB((mod, LEVEL_1, "merged with %+F and %+F into dest AM\n", load, store)); + + need_exchange_on_fail = 0; } } /* if (store) */ else if (get_ia32_am_support(irn) & ia32_am_Source) { @@ -1535,7 +1537,7 @@ static void optimize_am(ir_node *irn, void *env) { } /* was exchanged but optimize failed: exchange back */ - if (check_am_src && need_exchange_on_fail) { + if (need_exchange_on_fail) { exchange_left_right(irn, &left, &right, 3, 2); cand = orig_cand; }