optimization/10024 [3.3 regression] [HP-PA] inline optimization ICE
Sun Apr 6 19:38:00 GMT 2003
Jan Hubicka <email@example.com> 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