aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-07-05 16:59:42 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-07-05 16:59:42 -0400
commit5af9117152b00cbffcaff7b74c2a98536d8de1e6 (patch)
tree983bed6d2a29bea8db31203c9917a55c62505808 /gcc
parent99d3d26e534e11e036364f22ba5614370a4c5f77 (diff)
downloadgcc-5af9117152b00cbffcaff7b74c2a98536d8de1e6.zip
gcc-5af9117152b00cbffcaff7b74c2a98536d8de1e6.tar.gz
gcc-5af9117152b00cbffcaff7b74c2a98536d8de1e6.tar.bz2
(try_combine): If I2DEST was used in I2SRC, it isn't unused just
because there is no SET for I2 anymore. From-SVN: r7653
Diffstat (limited to 'gcc')
-rw-r--r--gcc/combine.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 38dca46..0cd1ee8 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -2262,7 +2262,7 @@ try_combine (i3, i2, i1)
/* If the reg formerly set in I2 died only once and that was in I3,
zero its use count so it won't make `reload' do any work. */
- if (! added_sets_2 && newi2pat == 0)
+ if (! added_sets_2 && newi2pat == 0 && ! i2dest_in_i2src)
{
regno = REGNO (i2dest);
reg_n_sets[regno]--;
@@ -2286,7 +2286,7 @@ try_combine (i3, i2, i1)
record_value_for_reg (i1dest, i1_insn, i1_val);
regno = REGNO (i1dest);
- if (! added_sets_1)
+ if (! added_sets_1 && ! i1dest_in_i1src)
{
reg_n_sets[regno]--;
if (reg_n_sets[regno] == 0