summaryrefslogtreecommitdiff
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-02-11 09:11:06 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-02-11 09:11:06 +0000
commitc5e076fc8d0cb2880cef40da85766ccde5d5272b (patch)
treeb7dae2a1fbb3c0a2609733cd211669c59ad0e68b /gcc/cgraph.c
parent09f979b04e8ae7f288b5ba189d51a9e2c0ef71ff (diff)
downloadgcc-c5e076fc8d0cb2880cef40da85766ccde5d5272b.tar.gz
PR ipa/65005
* ipa-visibility.c (cgraph_node::non_local_p): Turn into static function. * symtab.c (symtab_node::verify_base): Remove check that non-definitions have no comdat group. * lto-cgraph.c (lto_output_node): Always output thunk and alias info. (lto_output_varpool_node): Always output alias info. (output_refs): Output refs of boundary aliases, too. (compute_ltrans_boundary): Add alias and thunk target into boundaries. (output_symtab): Output call eges in thunks in boundary. (get_alias_symbol): Remove. (input_node, input_varpool_node): Do not special case weakrefs. * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove alias and thunks targets in the boundary; do not take removed symbols from their comdat groups. * cgraph.c (cgraph_node::local_info): Look through aliases and thunks. (cgraph_node::global_info): Remove. (cgraph_node::rtl_info): Look through aliases and thunks. * cgrpah.h (global_info): Remove. (non_local_p): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220608 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r--gcc/cgraph.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 8ea8ae93714..a71f68ca4e0 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -1846,20 +1846,7 @@ cgraph_node::local_info (tree decl)
cgraph_node *node = get (decl);
if (!node)
return NULL;
- return &node->local;
-}
-
-/* Return global info for the compiled function. */
-
-cgraph_global_info *
-cgraph_node::global_info (tree decl)
-{
- gcc_assert (TREE_CODE (decl) == FUNCTION_DECL
- && symtab->global_info_ready);
- cgraph_node *node = get (decl);
- if (!node)
- return NULL;
- return &node->global;
+ return &node->ultimate_alias_target ()->local;
}
/* Return local info for the compiled function. */
@@ -1869,11 +1856,13 @@ cgraph_node::rtl_info (tree decl)
{
gcc_assert (TREE_CODE (decl) == FUNCTION_DECL);
cgraph_node *node = get (decl);
- if (!node
- || (decl != current_function_decl
- && !TREE_ASM_WRITTEN (node->decl)))
+ if (!node)
+ return NULL;
+ node = node->ultimate_alias_target ();
+ if (node->decl != current_function_decl
+ && !TREE_ASM_WRITTEN (node->decl))
return NULL;
- return &node->rtl;
+ return &node->ultimate_alias_target ()->rtl;
}
/* Return a string describing the failure REASON. */