Commit 5406184c by Nathan Sidwell Committed by Nathan Sidwell

lto-partition.c (promote_symbol): Write to dump file sooner, include alias promoting too.

	* lto-partition.c (promote_symbol): Write to dump file sooner,
	include alias promoting too.

From-SVN: r244159
parent 24d3f325
2017-01-06 Nathan Sidwell <nathan@acm.org> 2017-01-06 Nathan Sidwell <nathan@acm.org>
* lto-partition.c (promote_symbol): Write to dump file sooner,
include alias promoting too.
* lto-partition.c (lto_balanced_map): Reformat/respell comment. * lto-partition.c (lto_balanced_map): Reformat/respell comment.
(may_need_named_section_p): Likewise. (may_need_named_section_p): Likewise.
(rename_statics): Likewise. (rename_statics): Likewise.
......
...@@ -987,11 +987,15 @@ promote_symbol (symtab_node *node) ...@@ -987,11 +987,15 @@ promote_symbol (symtab_node *node)
TREE_PUBLIC (node->decl) = 1; TREE_PUBLIC (node->decl) = 1;
DECL_VISIBILITY (node->decl) = VISIBILITY_HIDDEN; DECL_VISIBILITY (node->decl) = VISIBILITY_HIDDEN;
DECL_VISIBILITY_SPECIFIED (node->decl) = true; DECL_VISIBILITY_SPECIFIED (node->decl) = true;
ipa_ref *ref; if (symtab->dump_file)
fprintf (symtab->dump_file,
"Promoting as hidden: %s (%s)\n", node->name (),
IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (node->decl)));
/* Promoting a symbol also promotes all trasparent aliases with exception /* Promoting a symbol also promotes all transparent aliases with exception
of weakref where the visibility flags are always wrong and set to of weakref where the visibility flags are always wrong and set to
!PUBLIC. */ !PUBLIC. */
ipa_ref *ref;
for (unsigned i = 0; node->iterate_direct_aliases (i, ref); i++) for (unsigned i = 0; node->iterate_direct_aliases (i, ref); i++)
{ {
struct symtab_node *alias = ref->referring; struct symtab_node *alias = ref->referring;
...@@ -1000,13 +1004,13 @@ promote_symbol (symtab_node *node) ...@@ -1000,13 +1004,13 @@ promote_symbol (symtab_node *node)
TREE_PUBLIC (alias->decl) = 1; TREE_PUBLIC (alias->decl) = 1;
DECL_VISIBILITY (alias->decl) = VISIBILITY_HIDDEN; DECL_VISIBILITY (alias->decl) = VISIBILITY_HIDDEN;
DECL_VISIBILITY_SPECIFIED (alias->decl) = true; DECL_VISIBILITY_SPECIFIED (alias->decl) = true;
if (symtab->dump_file)
fprintf (symtab->dump_file,
"Promoting alias as hidden: %s\n",
IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (node->decl)));
} }
gcc_assert (!alias->weakref || TREE_PUBLIC (alias->decl)); gcc_assert (!alias->weakref || TREE_PUBLIC (alias->decl));
} }
if (symtab->dump_file)
fprintf (symtab->dump_file,
"Promoting as hidden: %s\n", node->name ());
} }
/* Return true if NODE needs named section even if it won't land in /* Return true if NODE needs named section even if it won't land in
......
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