search for: trackingmdnoderef

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