diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-11 09:11:06 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-11 09:11:06 +0000 |
commit | c5e076fc8d0cb2880cef40da85766ccde5d5272b (patch) | |
tree | b7dae2a1fbb3c0a2609733cd211669c59ad0e68b /gcc/cgraph.c | |
parent | 09f979b04e8ae7f288b5ba189d51a9e2c0ef71ff (diff) | |
download | gcc-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.c | 25 |
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. */ |