aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-06-04 21:44:51 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-06-04 19:44:51 +0000
commitaaae719df3df968a3a5cf5a03a8fb9d1889f1a50 (patch)
treead227d417e6731c387197201d9fbbd5439ef5d3d /gcc/ipa-inline.c
parent107eea2ca48ec70e64787340d3e07c8b59ab0e79 (diff)
downloadgcc-aaae719df3df968a3a5cf5a03a8fb9d1889f1a50.zip
gcc-aaae719df3df968a3a5cf5a03a8fb9d1889f1a50.tar.gz
gcc-aaae719df3df968a3a5cf5a03a8fb9d1889f1a50.tar.bz2
attr-alias.c: New testcase.
* 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. From-SVN: r199670
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index a378c08..283e517 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)