Age | Commit message (Collapse) | Author | Files | Lines |
|
We need to take type alignment padding into account whe computing physical
layouts.
The layout must be compatible with the input layout, offsets are defined in
terms of offsets within a packed struct which are computed in terms of the alloc
size of a type.
Usingthe store size we would insert padding for the following type for example:
struct {
int3 v;
long long l;
} __attribute((packed))
On x86-64 int3 is padded to int4 alignment. The swiftcc type would be
<{ <3 x float>, [4 x i8], i64 }> which is not compatible with <{ <3 x float>,
i64 }>.
The latter has i64 at offset 16 and the former at offset 20.
rdar://32618125
llvm-svn: 305956
|
|
register
llvm-svn: 288394
|
|
Use iterator instead of address of element in vector
It is not valid to access one after the last element.
rdar://28759508
llvm-svn: 284150
|
|
This is usefull for determining whether components overlap.
llvm-svn: 283932
|
|
llvm-svn: 265782
|
|
llvm-svn: 265355
|
|
it was supposed to have been used.
llvm-svn: 265344
|
|
llvm-svn: 265324
|