Minimum target alignment for a datatype

2005-07-22 Thread Chris Lattner
Hi All, I'm trying to determine (in target-independent code) what the *minimum* target alignment of a type is. For example, on darwin, double's are normally 4-byte aligned, but are 8-byte aligned in some cases (e.g. when they are the first element of a struct). TYPE_ALIGN on a double

Re: Minimum target alignment for a datatype

2005-07-22 Thread Chris Lattner
On Jul 22, 2005, at 12:42 PM, Andrew Pinski wrote: struct X { int A; double B; }; This is modified by things like ADJUST_FIELD_ALIGN and ROUND_TYPE_ALIGN. As such, I don't think there is a way to get this alignment in a target-independent way. Does that sound right? You want the alignment

Re: Minimum target alignment for a datatype

2005-07-22 Thread Chris Lattner
On Jul 22, 2005, at 1:14 PM, Richard Henderson wrote: On Fri, Jul 22, 2005 at 11:30:40AM -0700, Chris Lattner wrote: Understood. I'm just looking for the minimum type alignment without user alignment. It appears that this is impossible to get from the targets, due to the way the targets

Re: Minimum target alignment for a datatype

2005-07-22 Thread Richard Henderson
On Fri, Jul 22, 2005 at 02:13:12PM -0700, Chris Lattner wrote: Anyone have any thoughts or opinions? This may have impact on a number of things, including any pointer alignment analysis. MEM_ALIGN has code to deal with this. There's no reason you can't apply that to TYPE_ALIGN. I suspect