search for: largearray

Displaying 5 results from an estimated 5 matches for "largearray".

2019 May 05
2
How to get CLang array alloca alignments to be smaller than 16 bytes?
Hi Tim, I appreciate your reply, but I can’t still find any relation with “LargeArrayMinWidth” and x86 target. This variable is only in the TargetInfo.cpp and TargetInfo.h files and it’s not even in any x86 related file. I think there should be something else that causes my issue. I have my backend very advanced and already producing good assembly code, but this supposedly simple th...
2015 Apr 15
4
[LLVMdev] RFC: Metadata attachments to function definitions
...torage 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) == sizeof(void *) + sizeof(unsigned) * 2, "Wrong size"); Two advantages over `SmallVector<value_type, 1>`: - 32-bits each for size and capacity (instead of 64-bit...
2015 Apr 18
2
[LLVMdev] RFC: Metadata attachments to function definitions
...{ > 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...
2019 May 05
2
How to get CLang array alloca alignments to be smaller than 16 bytes?
> Are you looking in Clang's source, and that from the same 7.0 version? Yes, I am, and it’s the same version (7.0.1). “LargeArrayMinWidth” is only on the following files: TargetInfo.cpp TargetInfo.h So I still think there’s something else that makes the difference on the x86 target. Anyway, I will now investigate other targets as my temporary frontend. It is right that other targets do not create such big alignments. Tha...
2015 Apr 15
2
[LLVMdev] RFC: Metadata attachments to function definitions
...{ > 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...