search for: smallmd

Displaying 3 results from an estimated 3 matches for "smallmd".

2015 Apr 15
4
[LLVMdev] RFC: Metadata attachments to function definitions
...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) == sizeof(void *) + sizeof(unsigned) * 2, "Wrong size"); Two advantages over `SmallVector<value_type, 1>`: - 32-bits each for size and capacity (instead of 64-bits). - Domain knowledge of `value_type...
2015 Apr 18
2
[LLVMdev] RFC: Metadata attachments to function definitions
...ingMDNodeRef MD; > }; > > unsigned Capacity; > union { > unsigned LargeSize; > unsigned SmallTag; > } Unsigned; > > AlignedCharArrayUnion< > value_type *, // LargeArray > TrackingMDNodeRef // SmallMD > > Pointer; > }; > static_assert(sizeof(Data) == sizeof(void *) + sizeof(unsigned) * 2, > "Wrong size"); > > Two advantages over `SmallVector<value_type, 1>`: > > - 32-bits each for size and capacity (instead of 64-bi...
2015 Apr 15
2
[LLVMdev] RFC: Metadata attachments to function definitions
...ingMDNodeRef MD; > }; > > unsigned Capacity; > union { > unsigned LargeSize; > unsigned SmallTag; > } Unsigned; > > AlignedCharArrayUnion< > value_type *, // LargeArray > TrackingMDNodeRef // SmallMD > > Pointer; > }; > static_assert(sizeof(Data) == sizeof(void *) + sizeof(unsigned) * 2, > "Wrong size"); > > Two advantages over `SmallVector<value_type, 1>`: > > - 32-bits each for size and capacity (instead of 64-bi...