diff options
author | Bingfeng Mei <bmei@broadcom.com> | 2010-06-28 10:39:38 +0000 |
---|---|---|
committer | Bingfeng Mei <meibf@gcc.gnu.org> | 2010-06-28 10:39:38 +0000 |
commit | 6d41cd02387ab457b69206742af9edb8977f725d (patch) | |
tree | fcb4698113cc298ba8c467ab738e7c19bf245308 /gcc/cgraph.c | |
parent | 7802ca7cfd7f45af71b05ae3857be516d9a9d558 (diff) | |
download | gcc-6d41cd02387ab457b69206742af9edb8977f725d.zip gcc-6d41cd02387ab457b69206742af9edb8977f725d.tar.gz gcc-6d41cd02387ab457b69206742af9edb8977f725d.tar.bz2 |
cgraph.h (struct varpool_node): new used_from_object_file flag.
2010-06-28 Bingfeng Mei <bmei@broadcom.com>
* cgraph.h (struct varpool_node): new used_from_object_file flag.
(struct cgraph_local_info): new used_from_object_file flag.
* cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
(cgraph_clone_node): initialize used_from_object_file.
(cgraph_create_virtual_clone): initialize used_from_object_file.
* lto-symbtab.c (lto_symtab_merge_decls_1): Set
used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
when compiling with -fwhole-program.
(lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
internal resolver.
* ipa.c (function_and_variable_visibility): Set externally_visible
flag of varpool_node if used_from_object_file flag is set.
(cgraph_externally_visible_p): check used_from_object_file flag.
* doc/invoke.texi (-fwhole-program option): Change description of
externally_visible attribute accordingly.
* doc/extend.texi (externally_visible): Ditto.
From-SVN: r161483
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 557c205..b63bf31 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -1825,6 +1825,8 @@ dump_cgraph_node (FILE *f, struct cgraph_node *node) fprintf (f, " local"); if (node->local.externally_visible) fprintf (f, " externally_visible"); + if (node->local.used_from_object_file) + fprintf (f, " used_from_object_file"); if (node->local.finalized) fprintf (f, " finalized"); if (node->local.disregard_inline_limits) @@ -2075,6 +2077,7 @@ cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq, new_node->analyzed = n->analyzed; new_node->local = n->local; new_node->local.externally_visible = false; + new_node->local.used_from_object_file = false; new_node->local.local = true; new_node->local.vtable_method = false; new_node->global = n->global; @@ -2266,6 +2269,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node, else new_node->clone.combined_args_to_skip = args_to_skip; new_node->local.externally_visible = 0; + new_node->local.used_from_object_file = 0; new_node->local.local = 1; new_node->lowered = true; new_node->reachable = true; |