Displaying 4 results from an estimated 4 matches for "decl_initial".
2007 Nov 07
7
[LLVMdev] RFC: llvm-convert.cpp Patch
...ct
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
...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?
> By setting the DECL_USER_A...
2007 Nov 07
0
[LLVMdev] RFC: llvm-convert.cpp Patch
...n 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 it Bill. llvm should be making...
2007 Nov 07
3
[LLVMdev] RFC: llvm-convert.cpp Patch
...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?
>
I...