Displaying 4 results from an estimated 4 matches for "constant_alignment".
2007 Nov 07
7
[LLVMdev] RFC: llvm-convert.cpp Patch
...plifier was generating the correct
alignment, but it was being overridden in assemble_variable():
/* On some machines, it is good to increase alignment sometimes. */
if (! DECL_USER_ALIGN (decl))
{
#ifdef DATA_ALIGNMENT
align = DATA_ALIGNMENT (TREE_TYPE (decl), align);
#endif
#ifdef CONSTANT_ALIGNMENT
=> if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) != error_mark_node)
align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align);
#endif
}
By setting the DECL_USER_ALIGN field, we can get the correct alignment.
Comments?
-bw
Index: gimplify.c
========================...
2007 Nov 07
0
[LLVMdev] RFC: llvm-convert.cpp Patch
...nment, but it was being overridden in assemble_variable():
>
> /* On some machines, it is good to increase alignment sometimes. */
> if (! DECL_USER_ALIGN (decl))
> {
> #ifdef DATA_ALIGNMENT
> align = DATA_ALIGNMENT (TREE_TYPE (decl), align);
> #endif
> #ifdef CONSTANT_ALIGNMENT
> => if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) !=
> error_mark_node)
> align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align);
> #endif
> }
Not sure I'm getting it, is this Bar itself or the constructed C.0
that's getting realigned?...
2007 Nov 07
0
[LLVMdev] RFC: llvm-convert.cpp Patch
...alignment, but it was being overridden in assemble_variable():
>
> /* On some machines, it is good to increase alignment sometimes. */
> if (! DECL_USER_ALIGN (decl))
> {
> #ifdef DATA_ALIGNMENT
> align = DATA_ALIGNMENT (TREE_TYPE (decl), align);
> #endif
> #ifdef CONSTANT_ALIGNMENT
> => if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) !=
> error_mark_node)
> align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align);
> #endif
> }
>
> By setting the DECL_USER_ALIGN field, we can get the correct
> alignment.
I don't get i...
2007 Nov 07
3
[LLVMdev] RFC: llvm-convert.cpp Patch
...ble_variable():
>>
>> /* On some machines, it is good to increase alignment
>> sometimes. */
>> if (! DECL_USER_ALIGN (decl))
>> {
>> #ifdef DATA_ALIGNMENT
>> align = DATA_ALIGNMENT (TREE_TYPE (decl), align);
>> #endif
>> #ifdef CONSTANT_ALIGNMENT
>> => if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) !=
>> error_mark_node)
>> align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align);
>> #endif
>> }
>
> Not sure I'm getting it, is this Bar itself or the constructed C.0
> t...