diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-04 19:44:51 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-04 19:44:51 +0000 |
commit | 9817f2cd9c046f100f7d6b59a24cab4de9f4b8d2 (patch) | |
tree | ad227d417e6731c387197201d9fbbd5439ef5d3d /gcc/ipa-inline.c | |
parent | 60b34f301b8b9216bae1c95b68459b44044fc593 (diff) | |
download | gcc-9817f2cd9c046f100f7d6b59a24cab4de9f4b8d2.tar.gz |
* gcc.dg/tree-ssa/attr-alias.c: New testcase.
* ipa-inline.c (update_caller_keys): Fix availability test.
(update_callee_keys): Likewise.
* symtab.c (symtab_alias_ultimate_target): Make availaiblity logic
to follow ELF standard.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199670 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index a378c08f42f..283e517c6dc 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1101,7 +1101,6 @@ update_caller_keys (fibheap_t heap, struct cgraph_node *node, struct ipa_ref *ref; if ((!node->symbol.alias && !inline_summary (node)->inlinable) - || cgraph_function_body_availability (node) <= AVAIL_OVERWRITABLE || node->global.inlined_to) return; if (!bitmap_set_bit (updated_nodes, node->uid)) @@ -1162,7 +1161,7 @@ update_callee_keys (fibheap_t heap, struct cgraph_node *node, if (e->inline_failed && (callee = cgraph_function_or_thunk_node (e->callee, &avail)) && inline_summary (callee)->inlinable - && cgraph_function_body_availability (callee) >= AVAIL_AVAILABLE + && avail >= AVAIL_AVAILABLE && !bitmap_bit_p (updated_nodes, callee->uid)) { if (can_inline_edge_p (e, false) |