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: [PATCH] Re: scheduling vs lexical scopes


> On Fri, Dec 28, 2001 at 03:15:29PM -0800, Richard Henderson wrote:
> > On Fri, Dec 28, 2001 at 09:52:11PM +0000, Jason Merrill wrote:
> > > The fix for this is to emit the abstract function before any optimization
> > > is done.  That's what debug_hooks->outlining_inline_function is for.  I
> > > suppose we need to add such a call to expand_body if the function is
> > > inline.  Does the attached untested patch do the trick?
> > 
> > Yes, it fixes Jakub's debug-3.c test.  His debug-4.c test is
> > still failing.  Any ideas about that one?
> 
> Actually, I have traced debug-3.c (and debug-5.c lossage) to be a bug in
> cfglayout.c where it reinserts only block notes for lexical blocks which
> span multiple basic blocks, blocks which contain them and their child blocks
> which don't occupy any bbs, but forgets to emit them for sibling blocks, ie.
> if one has:
> bbx:
> NOTE_INSN_BLOCK_BEG 1
> NOTE_INSN_BLOCK_END 1
> NOTE_INSN_BLOCK_BEG 2
> ...
> bbx+1:
> ...
> NOTE_INSN_BLOCK_BEG 2
> only block notes 2 were reinserted, while with:
> bbx:
> NOTE_INSN_BLOCK_BEG 1
> NOTE_INSN_BLOCK_BEG 2
> NOTE_INSN_BLOCK_END 2
> ...
> bbx+1:
> ...
> NOTE_INSN_BLOCK_END 1
> both were reinserted.
This is one of manifestation of bugs in the cfglayout notes.  WHat do you think
about my new code (at cfg branch) that does handle sope notes at insn basis?

It can be used for haifa scheduler to to make it handle the notes more correctly
(but it will cause many fragments to be created)

Honza


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