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

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

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.  */


More information about the Gcc-patches mailing list