Displaying 5 results from an estimated 5 matches for "mdlinetable".
2014 Oct 16
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...ld64's
>> -save-temps option) that currently peaks at 15.3GB.
>>
>> 1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s
>> must all be metadata. The cost per operand is 1 pointer, vs. 4
>> pointers in an `MDNode`.
>>
>> 2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal
>> fields (not `Value`s) for the line and column, and use `Use`
>> operands for the metadata operands.
>>
>> On x86-64, this will save 104B / line table entry. Linking
>> `llvm-lto` uses ~7M line-table entrie...
2014 Oct 13
9
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...vm-lto.lto.bc`, an already-linked bitcode file dumped by ld64's
-save-temps option) that currently peaks at 15.3GB.
1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s
must all be metadata. The cost per operand is 1 pointer, vs. 4
pointers in an `MDNode`.
2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal
fields (not `Value`s) for the line and column, and use `Use`
operands for the metadata operands.
On x86-64, this will save 104B / line table entry. Linking
`llvm-lto` uses ~7M line-table entries, so this on its own saves
~700MB....
2014 Oct 15
3
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...ur?
> >
> >
> >>
> >>
> >> 1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s
> >> must all be metadata. The cost per operand is 1 pointer, vs. 4
> >> pointers in an `MDNode`.
> >>
> >> 2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal
> >> fields (not `Value`s) for the line and column, and use `Use`
> >> operands for the metadata operands.
> >>
> >> On x86-64, this will save 104B / line table entry. Linking
> >> `llvm-lt...
2014 Oct 14
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...really like saying "peak" here. Is there a definite peak?
When does it occur?
>
> 1. Introduce `MDUser`, which inherits from `User`, and whose `Use`s
> must all be metadata. The cost per operand is 1 pointer, vs. 4
> pointers in an `MDNode`.
>
> 2. Create `MDLineTable` as the first subclass of `MDUser`. Use normal
> fields (not `Value`s) for the line and column, and use `Use`
> operands for the metadata operands.
>
> On x86-64, this will save 104B / line table entry. Linking
> `llvm-lto` uses ~7M line-table entries, so this on it...
2014 Oct 24
8
[LLVMdev] First-class debug info IR: MDLocation
...scope: !4)
!7 = metadata MDLocation(scope: !5, line: 67, inlinedAt: !6)
The fields can be listed in any order. The `scope:` field is required,
but the others are optional (`line:` and `column:` default to `0`,
`inlinedAt:` defaults to `null`).
(Note that in the RFC I referred to this as an `MDLineTable`, but
`MDLocation` is a better name. If/when this work supersedes the
`DIDescriptor` hierarchy, it'll likely get renamed to `DILocation`, but
for now there's a name clash.)
Where this is heading
=====================
Let's look at a concrete example. Here's some simple C++ code:...