This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]