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: [RFC] PR 12389


> On Tue, 21 Oct 2003 10:38:11 +0200, Jan Hubicka <jh@suse.cz> wrote:
> 
> > Now it is not clear for me at all how it is suefull there.  If we emit
> > DW_INL_declared_not_inlined it will surely not be shared with any other
> > compilation unit where the function really has been inlined.
> 
> True.  Never mind.
Good, this makes things easier.  So we need abstract DIE either with

cgraph_function_possibly_inlined_p (decl)

or in the case we want to emit unreferenced abstract die for each function
declared inline but never actually inlined as seems to be implied by the
dwarf2 standard we can use:

(DECL_DECLARED_INLINE_P (decl) || cgraph_function_possibly_inlined_p (decl))

My last patch does the first.  Would it be OK together with removal of
the flag_dwarf2_elliminate_dups?

Hmm, last idea I can come with is to emit DW_INL_declared_inlined
abstract DIE with -felliminate-dwarf2-dups just to make it possibly used
by other compilation unit that actually inline the function in
question...  This would assume that emitting unreferenced abstract die
is harmless and that it will result in shorter debug sections (with
current scheme we will emit different section for each unit using
different functions from given header).
This can be dealt with by followup patch in case we really want to walk down this
crazy path.

Honza
> 
> Jason


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