Commit 85fac79c by Uros Bizjak

elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object type if available.

	* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
	type if available.

From-SVN: r158834
parent 902a51a1
2010-04-28 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
type if available.
2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/22224
......@@ -144,8 +149,7 @@
* config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
(SUB_LINK_ENTRY32): New.
(SUB_LINK_ENTRY64): New.
(LINK_SPEC): Replace entry point spec by
SUB_LINK_ENTRY.
(LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
* config/i386/mingw32 (SUB_LINK_ENTRY32): New.
(SUB_LINK_ENTRY64): New.
(SUB_LINK_ENTRY): New.
......@@ -225,7 +229,7 @@
(estimate_num_insns): Special case more builtins.
2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
PR c/32207
* c-typeck.c (build_binary_op): Move forward check for comparison
pointer with null pointer constant and adjust the diagnostic message.
......@@ -375,25 +379,22 @@
2010-04-26 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.h (struct _stmt_vec_info): Add new field to
determine if the statement is vectorizable, and a macro to
access it.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Skip statements that can't be vectorized. If the analysis
fails, mark the statement as unvectorizable if vectorizing
basic block.
* tree-vectorizer.h (struct _stmt_vec_info): Add new field to
determine if the statement is vectorizable, and a macro to access it.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Skip statements that can't be vectorized. If the analysis fails,
mark the statement as unvectorizable if vectorizing basic block.
(vect_compute_data_refs_alignment): Likewise.
(vect_verify_datarefs_alignment): Skip statements marked as
(vect_verify_datarefs_alignment): Skip statements marked as
unvectorizable. Add print.
(vect_analyze_group_access): Skip statements that can't be
vectorized. If the analysis fails, mark the statement as
(vect_analyze_group_access): Skip statements that can't be
vectorized. If the analysis fails, mark the statement as
unvectorizable if vectorizing basic block.
(vect_analyze_data_ref_accesses, vect_analyze_data_refs):
Likewise.
* tree-vect-stmts.c (vectorizable_store): Fix the number of
(vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
* tree-vect-stmts.c (vectorizable_store): Fix the number of
generated stmts for SLP.
(new_stmt_vec_info): Initialize the new field.
* tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
* tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
statements marked as unvectorizable.
2010-04-25 Joseph Myers <joseph@codesourcery.com>
......
......@@ -272,20 +272,36 @@ do { \
/* Write the extra assembler code needed to declare an object properly. */
#ifdef HAVE_GAS_GNU_UNIQUE_OBJECT
#define USE_GNU_UNIQUE_OBJECT 1
#else
#define USE_GNU_UNIQUE_OBJECT 0
#endif
#undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
do { \
HOST_WIDE_INT size; \
ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
size_directive_output = 0; \
if (!flag_inhibit_size_directive \
&& DECL_SIZE (DECL) \
&& (size = int_size_in_bytes (TREE_TYPE (DECL))) > 0) \
{ \
size_directive_output = 1; \
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
} \
ASM_OUTPUT_LABEL(FILE, NAME); \
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
do { \
HOST_WIDE_INT size; \
\
/* For template static data member instantiations or \
inline fn local statics, use gnu_unique_object so that \
they will be combined even under RTLD_LOCAL. */ \
if (USE_GNU_UNIQUE_OBJECT \
&& !DECL_ARTIFICIAL (DECL) && DECL_ONE_ONLY (DECL)) \
ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "gnu_unique_object"); \
else \
ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
\
size_directive_output = 0; \
if (!flag_inhibit_size_directive \
&& (DECL) && DECL_SIZE (DECL)) \
{ \
size_directive_output = 1; \
size = int_size_in_bytes (TREE_TYPE (DECL)); \
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
} \
\
ASM_OUTPUT_LABEL (FILE, NAME); \
} while (0)
/* Output the size directive for a decl in rest_of_decl_compilation
......
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