[PATCH] Re: reg_dead_notes!=0: New abort in haifa schedulerin latest CVS
Franz Sirl
Franz.Sirl-kernel@lauterbach.com
Sun May 10 16:07:00 GMT 1998
At 7:12 Uhr -0000 06.05.1998, Jeffrey A Law wrote:
> In message < 199805050248.TAA18515@rtl.cygnus.com >you write:
> > - if (num_succs[j] == 0)
> > + if (out_edges[j] == 0)
> >
> > Yes, this is a problem. Rather than revert Jeff's change, I believe this
> > fixes the problem the way he intended it to work. This works for your
> > testcase.
> >
> > A block with no out_edges is a block with one successor which is the
> > EXIT_BLOCK.
> >
> > Mon May 4 19:43:08 1998 Jim Wilson <wilson@cygnus.com>
> >
> > * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
> > blocks. Check for 1 successor which is the EXIT_BLOCK.
>Jim's patch is correct. I got slightly confused -- we do not put
>edges from blocks to the exit in the edge table, but those edges
>do show up in num_succs. Something to remember as I convert more
>code to use the pred/succ lists instead of the edge table.
>
>I've checked in Jim's patch as well as a patch to detect unreachable
>loops which have more than a single basic block.
>
>Onward to fixing rth's haifa problem :-)
Ahem ;-) Sorry to bother you again, but your integration of Jim's patch
does no longer solve the original problem with
< http://homepages.munich.netsurf.de/Franz.Sirl/misc/super.i > (gcc -O2).
Please recheck your solution.
Bye,
Franz.
More information about the Gcc-bugs
mailing list