Displaying 5 results from an estimated 5 matches for "trackingmdnoderef".
2015 Apr 15
4
[LLVMdev] RFC: Metadata attachments to function definitions
...the
>> "small string" optimization.
>
> Not important, but I'm missing something: what're you picturing that
> would be different from/better than SmallVector?
>
Data storage would be:
struct Data {
struct value_type {
unsigned Tag;
TrackingMDNodeRef MD;
};
unsigned Capacity;
union {
unsigned LargeSize;
unsigned SmallTag;
} Unsigned;
AlignedCharArrayUnion<
value_type *, // LargeArray
TrackingMDNodeRef // SmallMD
> Pointer;
};
static_assert(sizeof(Data)...
2015 Apr 15
2
[LLVMdev] RFC: Metadata attachments to function definitions
...have `MetadataTracking` support so that
LLParser, BitcodeReader, and DIBuilder can assign a temporary
attachment that later gets RAUW'ed.
However, if I'm going to roll 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
wheneve...
2015 Apr 18
2
[LLVMdev] RFC: Metadata attachments to function definitions
...> >
> > Not important, but I'm missing something: what're you picturing that
> > would be different from/better than SmallVector?
> >
>
> Data storage would be:
>
> struct Data {
> struct value_type {
> unsigned Tag;
> TrackingMDNodeRef MD;
> };
>
> unsigned Capacity;
> union {
> unsigned LargeSize;
> unsigned SmallTag;
> } Unsigned;
>
> AlignedCharArrayUnion<
> value_type *, // LargeArray
> TrackingMDNodeRef // SmallMD
>...
2016 Jul 27
1
'invalid subroutine type ref' when linking custom metadata
...constant "void ()* @a”.
>
> Duncan: can you confirm that this analysis makes sense to you?
> Is it an oversight of your commit in r266579?
This sounds correct to me :(. Unfortunately the shared map is quite important for performance.
Once possible fix is to make the mapped-value a TrackingMDNodeRef, but that seems like a hack. Is there a way to invalidate just the right parts of the cache?
Another possible solution, that starts with a history lesson: before I split Metadata from the Value hierarchy, when an MDNode operand changed to null, the MDNode would drop uniquing. I didn't unders...
2016 Jul 26
4
'invalid subroutine type ref' when linking custom metadata
With 3.9, llvm-link tells me 'invalid subroutine type ref' when
linking the two code pieces below, and I don't quite understand why.
It looks like it merges the debug information with the custom
metadata. I've filed a ticket already [1] but as I'm not sure if this
is indeed a bug or if I'm misunderstanding something, I thought I'd
ask here.
Any ideas? Thanks,
Robin