Commit 52d53754 by Jakub Jelinek Committed by Jakub Jelinek

varasm.c (align_variable): Don't increase alignment for DECL_THREAD_LOCAL_P…

varasm.c (align_variable): Don't increase alignment for DECL_THREAD_LOCAL_P variables above BITS_PER_WORD...

	* varasm.c (align_variable): Don't increase alignment for
	DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through
	DATA_ALIGNMENT or CONSTANT_ALIGNMENT.

From-SVN: r124442
parent 134b4010
2007-05-04 Jakub Jelinek <jakub@redhat.com>
* varasm.c (align_variable): Don't increase alignment for
DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through
DATA_ALIGNMENT or CONSTANT_ALIGNMENT.
2007-05-04 Josh Conner <jconner@apple.com> 2007-05-04 Josh Conner <jconner@apple.com>
* basic-block.h (cdi_direction): Assign values to all enumeration * basic-block.h (cdi_direction): Assign values to all enumeration
......
...@@ -1097,11 +1097,22 @@ align_variable (tree decl, bool dont_output_data) ...@@ -1097,11 +1097,22 @@ align_variable (tree decl, bool dont_output_data)
if (! DECL_USER_ALIGN (decl)) if (! DECL_USER_ALIGN (decl))
{ {
#ifdef DATA_ALIGNMENT #ifdef DATA_ALIGNMENT
align = DATA_ALIGNMENT (TREE_TYPE (decl), align); unsigned int data_align = DATA_ALIGNMENT (TREE_TYPE (decl), align);
/* Don't increase alignment too much for TLS variables - TLS space
is too precious. */
if (! DECL_THREAD_LOCAL_P (decl) || data_align <= BITS_PER_WORD)
align = data_align;
#endif #endif
#ifdef CONSTANT_ALIGNMENT #ifdef CONSTANT_ALIGNMENT
if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) != error_mark_node) if (DECL_INITIAL (decl) != 0 && DECL_INITIAL (decl) != error_mark_node)
align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl), align); {
unsigned int const_align = CONSTANT_ALIGNMENT (DECL_INITIAL (decl),
align);
/* Don't increase alignment too much for TLS variables - TLS space
is too precious. */
if (! DECL_THREAD_LOCAL_P (decl) || const_align <= BITS_PER_WORD)
align = const_align;
}
#endif #endif
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment