diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-08-30 15:41:26 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-08-30 15:41:26 +0000 |
commit | 2fe870c52e8c48cf1675840726f03dc5b6ad2ba4 (patch) | |
tree | 3b9154fede0868d904d1f675f33c7c0dbcdfd5e6 /gcc/cgraph.c | |
parent | afc1cf36f4c79a823caff2587a65f9f033d96ea1 (diff) | |
download | gcc-2fe870c52e8c48cf1675840726f03dc5b6ad2ba4.tar.gz |
* cgraph.c (cgraph_function_body_availability): Handle weakref
correctly.
* passes.def: Remove pass_fixup_cfg.
* ipa-inline.c (ipa_inline): When not optimizing, do not inline;
track when we need to remove functions.
(gate_ipa_inline): Execute inlining always; add comment why.
(pass_data_ipa_inline): Remove TODO_remove_functions.
* ipa-inline-analysis.c (inline_generate_summary): When not optimizing
do not produce summaries.
* symtab.c (change_decl_assembler_name): Handle renaming of weakrefs.
(symtab_nonoverwritable_alias): Assert we are not called on weakref.
* varpool.c (cgraph_variable_initializer_availability): Fix weakrefs,
constant pool and vtable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202111 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index feb17bb0dd9..d89522432b3 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -2046,6 +2046,8 @@ cgraph_function_body_availability (struct cgraph_node *node) avail = AVAIL_NOT_AVAILABLE; else if (node->local.local) avail = AVAIL_LOCAL; + else if (node->symbol.alias && node->symbol.weakref) + cgraph_function_or_thunk_node (node, &avail); else if (!node->symbol.externally_visible) avail = AVAIL_AVAILABLE; /* Inline functions are safe to be analyzed even if their symbol can |