optimization/10024 [3.3 regression] [HP-PA] inline optimization ICE

Zack Weinberg zack@codesourcery.com
Sun Apr 6 19:46:00 GMT 2003


The following reply was made to PR optimization/10024; it has been noted by GNATS.

From: Zack Weinberg <zack@codesourcery.com>
To: Jan Hubicka <jh@suse.cz>
Cc: Richard Henderson <rth@redhat.com>,  gcc-patches@gcc.gnu.org,
	  gcc-gnats@gcc.gnu.org,  tausq@debian.org
Subject: Re: optimization/10024 [3.3 regression] [HP-PA] inline optimization
 ICE
Date: Sun, 06 Apr 2003 12:38:00 -0700

 Jan Hubicka <jh@suse.cz> writes:
 
 >> On Wed, Mar 26, 2003 at 10:27:54AM -0800, Zack Weinberg wrote:
 >> >         * cfgrtl.c (force_nonfallthru_and_redirect): If e is the edge
 >> >         we want, use it.
 >> 
 >> Yes, this is ok for 3.3.
 > I am attaching the fix I sent some time ago.  It fixes the checking
 > failure as well and fixes force_nonfallthru_and_redirect slightly
 > differently - it just bypass the code when redirection is noop.  I
 > beleive it is slightly more safe as still we may have instruction with
 > multiple outgoing edges where Zacks code would result in misscompilation
 > (mine would die, not much better)
 
 Dying is definitely better than silently miscompiling.  I say go ahead
 and back out my change and apply yours on both mainline and branch
 (but don't bother with the test case, I already applied it).
 
 ...
 > 	PR opt/10024
 > 	* cfglayout.c (cfg_layout_redirect_edge):  Update the jump.
 
 This changelog entry means nothing to me.   Better to say what you say
 in the comment below.
 
 > 	* cfgrtl.c (force_nonfallthru_and_redirect):  Do not special
 > 	case the fallthru edges when called via cfglayout.c
 
 There should be no "the" in this sentence.
 
 > +       /* Redirect also the branch edges unified with the fallthru one.  */
 
 Better to say "Redirect any branch edges ..."
 
 > +       /* We may be called from cfglayout when the fallthru edges can go
 > +          arbitarily.  */
 > +       && e->src->next_bb == e->dest
 
   /* When called from cfglayout, fallthru edges do not necessarily go
      to the next block.  */
 
 zw



More information about the Gcc-prs mailing list