Displaying 8 results from an estimated 8 matches for "mdsubprogram".
2014 Oct 16
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...syntax pulls the tag out of the current header-string, calls
>> the rest of the header "fields", and includes the metadata operands
>> in "operands".
>>
>> 5. Incrementally create subclasses of `DebugMDNode`, such as
>> `MDCompileUnit` and `MDSubprogram`. Sub-classed nodes replace the
>> "fields" and "operands" catch-alls with explicit names for each
>> operand.
>>
>> Proposed assembly syntax:
>>
>> !7 = metadata !MDSubprogram(line: 45, name: "foo", displayName: &qu...
2014 Oct 13
9
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...handle: i32* @global_var)
This syntax pulls the tag out of the current header-string, calls
the rest of the header "fields", and includes the metadata operands
in "operands".
5. Incrementally create subclasses of `DebugMDNode`, such as
`MDCompileUnit` and `MDSubprogram`. Sub-classed nodes replace the
"fields" and "operands" catch-alls with explicit names for each
operand.
Proposed assembly syntax:
!7 = metadata !MDSubprogram(line: 45, name: "foo", displayName: "foo",...
2014 Oct 15
3
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...he current header-string, calls
> >> the rest of the header "fields", and includes the metadata operands
> >> in "operands".
> >>
> >> 5. Incrementally create subclasses of `DebugMDNode`, such as
> >> `MDCompileUnit` and `MDSubprogram`. Sub-classed nodes replace the
> >> "fields" and "operands" catch-alls with explicit names for each
> >> operand.
> >>
> >> Proposed assembly syntax:
> >>
> >> !7 = metadata !MDSubprogram(line: 45, name:...
2015 Apr 18
2
[LLVMdev] RFC: Metadata attachments to function definitions
...) and it's
> >> expensive to compute and maintain. Attaching it directly to the
> >> `Function` designs away the problem.
> >>
> >> define void @foo() !dbg !0 {
> >> unreachable
> >> }
> >> !0 = !MDSubprogram(name: "foo", function: void ()* @foo)
> >>
> >> Thoughts?
> >>
> >> Moving onto implementation, I'd provide the same generic API that
> >> `Instruction` has, and wouldn't bother with the "fast path" API for
> >> `!dbg...
2014 Oct 14
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...;
> This syntax pulls the tag out of the current header-string, calls
> the rest of the header "fields", and includes the metadata operands
> in "operands".
>
> 5. Incrementally create subclasses of `DebugMDNode`, such as
> `MDCompileUnit` and `MDSubprogram`. Sub-classed nodes replace the
> "fields" and "operands" catch-alls with explicit names for each
> operand.
>
> Proposed assembly syntax:
>
> !7 = metadata !MDSubprogram(line: 45, name: "foo", displayName:
> "foo",
&...
2015 Apr 15
4
[LLVMdev] RFC: Metadata attachments to function definitions
...`lib/Linker` (see PR21910/PR22792) and it's
>> expensive to compute and maintain. Attaching it directly to the
>> `Function` designs away the problem.
>>
>> define void @foo() !dbg !0 {
>> unreachable
>> }
>> !0 = !MDSubprogram(name: "foo", function: void ()* @foo)
>>
>> Thoughts?
>>
>> Moving onto implementation, I'd provide the same generic API that
>> `Instruction` has, and wouldn't bother with the "fast path" API for
>> `!dbg`. Moreover, the generic pa...
2015 Apr 15
3
[LLVMdev] RFC: Metadata attachments to function definitions
...gt; subtle logic in `lib/Linker` (see PR21910/PR22792) and it's
> expensive to compute and maintain. Attaching it directly to the
> `Function` designs away the problem.
>
> define void @foo() !dbg !0 {
> unreachable
> }
> !0 = !MDSubprogram(name: "foo", function: void ()* @foo)
>
> Thoughts?
>
> Moving onto implementation, I'd provide the same generic API that
> `Instruction` has, and wouldn't bother with the "fast path" API for
> `!dbg`. Moreover, the generic path wouldn't be slow....
2015 Apr 15
2
[LLVMdev] RFC: Metadata attachments to function definitions
...l a custom type anyway, I might as well go
full hog:
- Make the "large" vector `std::pair<unsigned, TrackingMDNodeRef>`.
- Reserve the "small" vector for the `!dbg` tag.
- Add custom hooks for `MetadataTracking` for the "small" version,
allowing a raw `MDSubprogram*` instead of a `TrackingMDNodeRef`.
This would squeeze it all into 8B, but require the "large" vector
whenever we have a non-`!dbg` attachment (even if there's just one
attachment).
Another possible opportunity here: bringing it down to pointer size
means we could share the impleme...