diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2009-10-07 17:18:38 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2009-10-07 17:18:38 +0000 |
commit | 7ba06dee521e57b113041ef5131b42200f0936ec (patch) | |
tree | 1ee035d86ca759272ba4a1a1727751749dfa5cf0 /gcc/ira-lives.c | |
parent | 3621d5ec1db7d5088320465877cb97082141f8e5 (diff) | |
download | gcc-7ba06dee521e57b113041ef5131b42200f0936ec.zip gcc-7ba06dee521e57b113041ef5131b42200f0936ec.tar.gz gcc-7ba06dee521e57b113041ef5131b42200f0936ec.tar.bz2 |
re PR middle-end/22072 (bizarre code for int*int/2 for -Os)
2009-10-07 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/22072
* ira-lives.c (check_and_make_def_conflict): Process all operands.
From-SVN: r152533
Diffstat (limited to 'gcc/ira-lives.c')
-rw-r--r-- | gcc/ira-lives.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c index 57a953b..822dccb 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; |