From: Jeff Law Date: Mon, 3 Nov 1997 21:57:49 +0000 (-0700) Subject: Remove last combine patch. rth & jim are working on a better one. X-Git-Tag: releases/egcs-1.0.0~167 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c82d0d1fdc2de3747e3f9ca61b796b528cf41ba;p=thirdparty%2Fgcc.git Remove last combine patch. rth & jim are working on a better one. From-SVN: r16305 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9fa896f4e8ee..81aad33be286 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -8,15 +8,6 @@ Sun Nov 2 23:30:31 1997 Manfred Hollstein 14 char length. * configure: Rebuild. -Sun Nov 2 23:21:36 1997 Richard Henderson - Jim Wilson - - * combine.c (try_combine): Don't elim_i1 when it is used in i2src. - - * combine.c (try_combine): When setting elim_i2, check whether newi2pat - sets i2dest. When calling distribute_notes for i3dest_killed, pass - elim_i2 and elim_i1. - Sun Nov 2 22:53:16 1997 Richard Earnshaw (rearnsha@arm.com) * arm.c (load_multiple_sequence): Support SUBREG of MEM. diff --git a/gcc/combine.c b/gcc/combine.c index 451bbe614d36..3626e48e9757 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -1246,7 +1246,6 @@ try_combine (i3, i2, i1) rtx i2pat; /* Indicates if I2DEST or I1DEST is in I2SRC or I1_SRC. */ int i2dest_in_i2src = 0, i1dest_in_i1src = 0, i2dest_in_i1src = 0; - int i1dest_in_i2src = 0; int i1_feeds_i3 = 0; /* Notes that must be added to REG_NOTES in I3 and I2. */ rtx new_i3_notes, new_i2_notes; @@ -1432,7 +1431,6 @@ try_combine (i3, i2, i1) i2dest_in_i2src = reg_overlap_mentioned_p (i2dest, i2src); i1dest_in_i1src = i1 && reg_overlap_mentioned_p (i1dest, i1src); i2dest_in_i1src = i1 && reg_overlap_mentioned_p (i2dest, i1src); - i1dest_in_i2src = i1 && reg_overlap_mentioned_p (i1dest, i2src); /* See if I1 directly feeds into I3. It does if I1DEST is not used in I2SRC. */ @@ -2143,12 +2141,10 @@ try_combine (i3, i2, i1) rtx i3links, i2links, i1links = 0; rtx midnotes = 0; register int regno; - /* Compute which registers we expect to eliminate. newi2pat may be setting - either i3dest or i2dest, so we must check it. */ - rtx elim_i2 = ((newi2pat && reg_set_p (i2dest, newi2pat)) - || i2dest_in_i2src || i2dest_in_i1src + /* Compute which registers we expect to eliminate. */ + rtx elim_i2 = (newi2pat || i2dest_in_i2src || i2dest_in_i1src ? 0 : i2dest); - rtx elim_i1 = i1 == 0 || i1dest_in_i1src || i1dest_in_i2src ? 0 : i1dest; + rtx elim_i1 = i1 == 0 || i1dest_in_i1src ? 0 : i1dest; /* Get the old REG_NOTES and LOG_LINKS from all our insns and clear them. */ @@ -2309,7 +2305,7 @@ try_combine (i3, i2, i1) distribute_notes (gen_rtx (EXPR_LIST, REG_DEAD, i3dest_killed, NULL_RTX), NULL_RTX, i3, newi2pat ? i2 : NULL_RTX, - elim_i2, elim_i1); + NULL_RTX, NULL_RTX); } /* For I2 and I1, we have to be careful. If NEWI2PAT exists and sets