This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PowerPC shrink-wrap support 3 of 3
On Tue, Sep 27, 2011 at 12:39:36AM +0200, Bernd Schmidt wrote:
> On 09/27/11 00:32, Alan Modra wrote:
> > On Mon, Sep 26, 2011 at 11:22:54PM +0930, Alan Modra wrote:
> >> Two regressions appeared due to a problem in the shrink-wrap code.
> >
> > These two.
> > +FAIL: g++.dg/torture/pr46111.C -O1 (internal compiler error)
> > +FAIL: gcc.dg/autopar/pr46099.c (internal compiler error)
> >
> > Both "internal compiler error: in maybe_record_trace_start, at
> > dwarf2cfi.c:2243", caused by disjoint blocks in the set of blocks that
> > needs no prologue. ie. thread_prologue_and_epilogue_insns gives
> >
> > ====
> > code needing no prologue
> > ==== <- prologue inserted here
> > code needing prologue
> > ====
> > more no prologue code
> > ====
> > more code needing prologue
> > ====
> > epilogue
> >
> > That second block needing no prologue now wrongly tries to use unwind
> > info from the prologue.
>
> What's the actual CFG structure here?
Immediately after thread_prologue_and_epilogue_insns
bb2 -> simple_ret
|
bb3
/\
/ \
bb4 bb5
(pro) |
| |<--|
bb7 | |
(epi) bb6--|
| |
bb8<-| |
(s ret)| |
|-bb9
--
Alan Modra
Australia Development Lab, IBM