This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: LTO inhibiting dwarf lexical blocks output
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Aldy Hernandez <aldyh at redhat dot com>, GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Wed, 20 Aug 2014 18:18:17 +0200
- Subject: Re: LTO inhibiting dwarf lexical blocks output
- Authentication-results: sourceware.org; auth=none
- References: <53EE66B1 dot 7040105 at redhat dot com> <CAFiYyc0LUx1XQ8FJ8CMxhCP_DwNqQP3fVeAbxLB2NNts9bU_=g at mail dot gmail dot com> <CAFiYyc1JLabNVGhXZC10+U8gbgAAmk9i_4C29KX_sp3moeWy-w at mail dot gmail dot com> <20140818184559 dot GC4245 at atrey dot karlin dot mff dot cuni dot cz> <bd8240a6-6720-4d51-af78-676f91d12529 at email dot android dot com>
> On August 18, 2014 8:46:00 PM CEST, Jan Hubicka <hubicka@ucw.cz> wrote:
> >>
> >> The following seems to fix it. In testing now.
> >
> >Will streaming as non-reference prevent DECL from being merged and
> >tails of BLOCK_VAR chains
> >to be corrupted?
>
> Yes, the decl ends up in the function section then, not the global types and decls one.
Hmm, breaking one decl rule. tree-inliner used to do that years ago, too. When function declaring
extern in local scope got inlined, we duplicated the node. I fixed that by pushing these to
nonlocalized_list instead.
Perhaps we could do that earlier, in FE (or fixup in free lang data), for all EXTERn decls
avoiding those duplications.
Honza
>
> Richard.
>
> >
> >Honza
> >>
> >> Richard.
> >>
> >> > Richard.
> >> >
> >> >> Thanks.
> >> >> Aldy
>