diff options
author | Jan Hubicka <jh@suse.cz> | 2001-09-09 10:45:21 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-09-09 08:45:21 +0000 |
commit | 5bb08c847fa53bc7d6e4c835f4ba4fcf4ca1fdf3 (patch) | |
tree | 0a5c30ced0389a2e395fdf18fe927e3da06fdbe9 /gcc | |
parent | 1eb356b98df2a898b6650c7641d629fcf3db0c30 (diff) | |
download | gcc-5bb08c847fa53bc7d6e4c835f4ba4fcf4ca1fdf3.zip gcc-5bb08c847fa53bc7d6e4c835f4ba4fcf4ca1fdf3.tar.gz gcc-5bb08c847fa53bc7d6e4c835f4ba4fcf4ca1fdf3.tar.bz2 |
* loop.c (combine_givs): Fix computing of benefit once giv is combined.
From-SVN: r45494
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/loop.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fddbac3..dbf705c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz> + + * loop.c (combine_givs): Fix computing of benefit once giv is combined. + 2001-09-09 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (alpha_next_sequence_number): New. @@ -6851,6 +6851,13 @@ restart: g2->new_reg = can_combine[i * giv_count + j]; g2->same = g1; + /* For destination, we now may replace by mem expression instead + of register. This changes the costs considerably, so add the + compensation. */ + if (g2->giv_type == DEST_ADDR) + g2->benefit = (g2->benefit + reg_address_cost + - address_cost (g2->new_reg, + GET_MODE (g2->mem))); g1->combined_with++; g1->lifetime += g2->lifetime; |