On Fri, Jun 6, 2008 at 1:44 AM, Daniel Berlin <[EMAIL PROTECTED]> wrote:
> On Thu, Jun 5, 2008 at 5:57 AM, Jan Hubicka <[EMAIL PROTECTED]> wrote:
>>> Jan Hubicka wrote:
>>>
>>> >Sure if it works, we should be lowering the types during gimplification
>>> >so we don't need to store all this in memory...
>>> >But C++ FE still use its local data later in stuff like thunks, but we
>>> >will need to cgraphize them anyway.
>>>
>>> I agree.  The only use of language-specific DECLs and TYPEs after
>>> gimplification should be for generating debug information.  And if
>>> that's already been done, then you shouldn't need it at all.
>>
>> For LTO with debug info we will probably need some frontend neutral
>> debug info representaiton in longer run, since optimization modifying
>> the data types and such will need to compensate.
>>
>> We can translate stuff to in-memory dwarf and update it but that would
>> limit amount of debug info format we will want to support probably.
> DWARF is not exactly memory or space efficient, sadly.
> Then again,  what most other compilers have done is bite the bullet
> and define their own "debug info" data, then transform that to dwarf2
> at the very end.
> I"m not sure we want to do that either :(

What we can do is identify the frontend-specific information that is used
at debug-generation time and simply move them to the middle-end.
OTOH I don't see why debug-information for the modified types need to
be frontend-specific at all...  so I'd be pragmatic and emit debug
information early for all decls and types and for changed types just
re-emit them with middle-end only information.

RIchard.

Reply via email to