[llvm-commits] [llvm] r43620 - in /llvm/trunk: include/llvm/Target/ lib/Analysis/ lib/CodeGen/SelectionDAG/ lib/ExecutionEngine/ lib/ExecutionEngine/Interpreter/ lib/ExecutionEngine/JIT/ lib/Target/ lib/Transforms/IPO/ lib/Transforms/Scalar/ lib/Transforms/Utils/

Dale Johannesen dalej at apple.com
Thu Nov 1 14:19:38 PDT 2007


On Nov 1, 2007, at 1:53 PM, Duncan Sands wrote:

> Finally, I made one change which I think wise but others might
> consider pointless and suboptimal: in an unpacked struct the
> amount of space allocated for a field is now given by the ABI
> size rather than getTypeStoreSize.  I did this because every
> other place that reserves memory for a type (eg: alloca) now
> uses getABITypeSize, and I didn't want to make an exception
> for unpacked structs, i.e. I did it to make things more uniform.
> This only effects structs containing long doubles and arbitrary
> precision integers.  If someone wants to pack these types more
> tightly they can always use a packed struct.

Not sure I'm understanding this.  The layout of structs is not  
something we can
change around:   we need to be runtime-compatible with gcc.  (There have
been bugs in this area and perhaps still are, but that's the eventual  
requirement.)
IIRC this was previously achieved by looking at the alignment.  Are you
just achieving the same layout a different way (I have no objection), or
is the layout changing?




More information about the llvm-commits mailing list