Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] [Debug Info + LTO] Type Uniquing for C types?"
2013 Oct 11
0
[LLVMdev] [Debug Info + LTO] Type Uniquing for C types?
> With C++'s ODR, we are able to unique C++ types by using type identifiers to
> refer to types.
> Type identifiers are generated by C++ mangler. What about languages without
> ODR? Should we unique C types as well?
>
We can, but the identifier will need to be constructed on, likely, a
language dependent basis to ensure uniqueness.
> One solution for C types is to generate
2013 Oct 11
3
[LLVMdev] [Debug Info + LTO] Type Uniquing for C types?
On Fri, Oct 11, 2013 at 11:48 AM, Eric Christopher <echristo at gmail.com>wrote:
> > With C++'s ODR, we are able to unique C++ types by using type
> identifiers to
> > refer to types.
> > Type identifiers are generated by C++ mangler. What about languages
> without
> > ODR? Should we unique C types as well?
> >
>
> We can, but the identifier
2013 Oct 21
1
[LLVMdev] [Debug Info + LTO] Type Uniquing for C types?
On Mon, Oct 14, 2013 at 4:14 PM, Manman Ren <manman.ren at gmail.com> wrote:
>
>
>
> On Mon, Oct 14, 2013 at 1:08 PM, Manman Ren <manman.ren at gmail.com> wrote:
>>
>>
>>
>>
>> On Fri, Oct 11, 2013 at 12:40 PM, Eric Christopher <echristo at gmail.com>
>> wrote:
>>>
>>> >> It depends upon the goals. If the
2013 Oct 11
0
[LLVMdev] [Debug Info + LTO] Type Uniquing for C types?
>
> Since we don't have ODR, we may have macros defined differently for a struct
> in a .h file,
> thus having two versions of the struct from two different CU. It seems that
> we can't assume
> structs with the same name and defined in the same file/line/column are the
> same.
>
Ah right sorry, I remember this. Also, macros are evil, just ask the
modules guys :)
2013 Oct 11
2
[LLVMdev] [Debug Info + LTO] Type Uniquing for C types?
On Fri, Oct 11, 2013 at 12:07 PM, Eric Christopher <echristo at gmail.com>wrote:
> >
> > Since we don't have ODR, we may have macros defined differently for a
> struct
> > in a .h file,
> > thus having two versions of the struct from two different CU. It seems
> that
> > we can't assume
> > structs with the same name and defined in the same
2013 Jun 20
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
Hi Manman,
On Thu, Jun 20, 2013 at 2:51 PM, Manman Ren <mren at apple.com> wrote:
>
> The intent of this proposal is to speedup compilation of "-flto -g" for c++ programs.
> This is based on discussions with Adrian, David and Eric.
>
Thanks for bringing this back to the list. The original thread was
getting quite long.
> ---------------------------
> Problem:
2013 Oct 01
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
On 20 June 2013 17:51, Manman Ren <mren at apple.com> wrote:
>
> The intent of this proposal is to speedup compilation of "-flto -g" for c++ programs.
> This is based on discussions with Adrian, David and Eric.
>
> ---------------------------
> Problem:
> A single class can be used in multiple source files and the DI (Debug Info) class is included in multiple
2013 Jun 20
2
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Jun 20, 2013, at 2:58 PM, Eric Christopher wrote:
> Hi Manman,
>
> On Thu, Jun 20, 2013 at 2:51 PM, Manman Ren <mren at apple.com> wrote:
>>
>> The intent of this proposal is to speedup compilation of "-flto -g" for c++ programs.
>> This is based on discussions with Adrian, David and Eric.
>>
>
> Thanks for bringing this back to the
2013 Jun 20
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Jun 20, 2013, at 3:55 PM, Manman Ren <mren at apple.com> wrote:
>
> On Jun 20, 2013, at 2:58 PM, Eric Christopher wrote:
>
>> Hi Manman,
>>
>> On Thu, Jun 20, 2013 at 2:51 PM, Manman Ren <mren at apple.com> wrote:
>>>
>>> The intent of this proposal is to speedup compilation of "-flto -g" for c++ programs.
>>> This
2013 Jun 21
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Jun 20, 2013, at 5:39 PM, David Blaikie wrote:
> On Thu, Jun 20, 2013 at 5:25 PM, Manman Ren <mren at apple.com> wrote:
>>
>> On Jun 20, 2013, at 5:18 PM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>> On Thu, Jun 20, 2013 at 5:13 PM, Manman Ren <mren at apple.com> wrote:
>>
>>
>> On Jun 20, 2013, at 4:52 PM, David Blaikie
2013 Jun 20
2
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Thu, Jun 20, 2013 at 4:45 PM, Manman Ren <mren at apple.com> wrote:
>
> On Jun 20, 2013, at 3:55 PM, Manman Ren <mren at apple.com> wrote:
>
>
> On Jun 20, 2013, at 2:58 PM, Eric Christopher wrote:
>
> Hi Manman,
>
> On Thu, Jun 20, 2013 at 2:51 PM, Manman Ren <mren at apple.com> wrote:
>
>
> The intent of this proposal is to speedup
2013 Jun 20
9
[LLVMdev] Proposal: type uniquing of debug info for LTO
The intent of this proposal is to speedup compilation of "-flto -g" for c++ programs.
This is based on discussions with Adrian, David and Eric.
---------------------------
Problem:
A single class can be used in multiple source files and the DI (Debug Info) class is included in multiple bc files. The duplication of
class definitions causes blow-up in # of MDNodes, # of DIEs, leading to
2013 Jun 21
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Jun 20, 2013, at 4:52 PM, David Blaikie wrote:
> On Thu, Jun 20, 2013 at 4:45 PM, Manman Ren <mren at apple.com> wrote:
>>
>> On Jun 20, 2013, at 3:55 PM, Manman Ren <mren at apple.com> wrote:
>>
>>
>> On Jun 20, 2013, at 2:58 PM, Eric Christopher wrote:
>>
>> Hi Manman,
>>
>> On Thu, Jun 20, 2013 at 2:51 PM, Manman Ren
2013 Jun 21
2
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Thu, Jun 20, 2013 at 5:13 PM, Manman Ren <mren at apple.com> wrote:
>
> On Jun 20, 2013, at 4:52 PM, David Blaikie wrote:
>
>> On Thu, Jun 20, 2013 at 4:45 PM, Manman Ren <mren at apple.com> wrote:
>>>
>>> On Jun 20, 2013, at 3:55 PM, Manman Ren <mren at apple.com> wrote:
>>>
>>>
>>> On Jun 20, 2013, at 2:58 PM, Eric
2013 Jun 21
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Jun 20, 2013, at 5:18 PM, David Blaikie <dblaikie at gmail.com> wrote:
> On Thu, Jun 20, 2013 at 5:13 PM, Manman Ren <mren at apple.com> wrote:
>>
>> On Jun 20, 2013, at 4:52 PM, David Blaikie wrote:
>>
>>> On Thu, Jun 20, 2013 at 4:45 PM, Manman Ren <mren at apple.com> wrote:
>>>>
>>>> On Jun 20, 2013, at 3:55 PM,
2013 Oct 11
1
[LLVMdev] [Debug Info + LTO] Type Uniquing for C types?
>
> I think the easiest design you'll get for uniquing C types that are
> named the same thing (i.e. type defined in a .h file) is to use the
> name of the struct combined with the file (and possibly line/column)
> as an identifier. If you want to unify by structure then you'll need
> to do something the equivalent to the type hashing that we're
> implementing in
2013 Jun 21
5
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Thu, Jun 20, 2013 at 5:25 PM, Manman Ren <mren at apple.com> wrote:
>
> On Jun 20, 2013, at 5:18 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
> On Thu, Jun 20, 2013 at 5:13 PM, Manman Ren <mren at apple.com> wrote:
>
>
> On Jun 20, 2013, at 4:52 PM, David Blaikie wrote:
>
> On Thu, Jun 20, 2013 at 4:45 PM, Manman Ren <mren at apple.com>
2013 Jun 21
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
A summary of options for issue #3:
3> To actually access the MDNode referenced via the hash value, we need to perform a lookup from the hash value to find the corresponding MDNode.
The questions are where to store this map and how to keep it up-to-date when a MDNode is replaced.
---------------------
Option a) a map in DwarfDebug, AsmWriter and DIBuilder, modify access functions in DI classes
2013 Jun 21
0
[LLVMdev] Proposal: type uniquing of debug info for LTO
On Jun 21, 2013, at 11:35 AM, Eric Christopher wrote:
> On Thu, Jun 20, 2013 at 10:52 PM, Manman Ren <mren at apple.com> wrote:
>>
>> A summary of options for issue #3:
>> 3> To actually access the MDNode referenced via the hash value, we need to perform a lookup from the hash value to find the corresponding MDNode.
>> The questions are where to store this map
2013 Jun 21
2
[LLVMdev] Proposal: type uniquing of debug info for LTO
Wouldn't it be simpler to name the metadata based on the hash of the
content? Then you could use a normal reference to that metadata without
needing to create a new type or teach the rest of llvm how to use it...
On Fri, Jun 21, 2013 at 3:22 PM, Manman Ren <mren at apple.com> wrote:
>
> A summary of options for issue #3:
> 3> To actually access the MDNode referenced via