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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira-lives.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 213f4b6..cf0d248 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-10-07 Vladimir Makarov <vmakarov@redhat.com> + + PR middle-end/22072 + * ira-lives.c (check_and_make_def_conflict): Process all operands. + 2009-10-06 Jan Hubicka <jh@suse.cz> * cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes 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; |