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...