From: Vladimir Makarov Date: Wed, 7 Oct 2009 17:18:38 +0000 (+0000) Subject: re PR middle-end/22072 (bizarre code for int*int/2 for -Os) X-Git-Tag: releases/gcc-4.5.0~3057 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7ba06dee521e57b113041ef5131b42200f0936ec;p=thirdparty%2Fgcc.git re PR middle-end/22072 (bizarre code for int*int/2 for -Os) 2009-10-07 Vladimir Makarov PR middle-end/22072 * ira-lives.c (check_and_make_def_conflict): Process all operands. From-SVN: r152533 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 213f4b613680..cf0d248f258d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-10-07 Vladimir Makarov + + PR middle-end/22072 + * ira-lives.c (check_and_make_def_conflict): Process all operands. + 2009-10-06 Jan Hubicka * cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c index 57a953bad59f..822dccb18d5c 100644 --- a/gcc/ira-lives.c +++ b/gcc/ira-lives.c @@ -500,7 +500,7 @@ check_and_make_def_conflict (int alt, int def, enum reg_class def_cl) for (use = 0; use < recog_data.n_operands; use++) { if (use == def || recog_data.operand_type[use] == OP_OUT) - return; + continue; if (recog_op_alt[use][alt].anything_ok) use_cl = ALL_REGS; @@ -513,7 +513,7 @@ check_and_make_def_conflict (int alt, int def, enum reg_class def_cl) if ((use_match = recog_op_alt[use][alt].matches) >= 0) { if (use_match == def) - return; + continue; if (recog_op_alt[use_match][alt].anything_ok) use_cl = ALL_REGS;