Displaying 4 results from an estimated 4 matches for "assemble_variable".
2007 Nov 07
7
[LLVMdev] RFC: llvm-convert.cpp Patch
...'s being placed into the "redzone". The
generic code for the function is:
$ more testcase.c.t03.generic
Qux ()
{
static char C.0[11] = {0};
char Bar[11];
Bar = C.0;
}
Anyway, it turns out that the gimplifier 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) != err...
2007 Nov 07
0
[LLVMdev] RFC: llvm-convert.cpp Patch
...7, at 5:45 PM, Bill Wendling wrote:
> $ more testcase.c.t03.generic
> Qux ()
> {
> static char C.0[11] = {0};
> char Bar[11];
>
> Bar = C.0;
> }
>
> Anyway, it turns out that the gimplifier 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...
2007 Nov 07
0
[LLVMdev] RFC: llvm-convert.cpp Patch
...generic code for the function is:
>
> $ more testcase.c.t03.generic
> Qux ()
> {
> static char C.0[11] = {0};
> char Bar[11];
>
> Bar = C.0;
> }
>
> Anyway, it turns out that the gimplifier 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) !=...
2007 Nov 07
3
[LLVMdev] RFC: llvm-convert.cpp Patch
...$ more testcase.c.t03.generic
>> Qux ()
>> {
>> static char C.0[11] = {0};
>> char Bar[11];
>>
>> Bar = C.0;
>> }
>>
>> Anyway, it turns out that the gimplifier 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_ALI...