aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ipa-inline-transform.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/ipa-inline-transform.c')
-rw-r--r--gcc-4.9/gcc/ipa-inline-transform.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/ipa-inline-transform.c b/gcc-4.9/gcc/ipa-inline-transform.c
index 69598b3c8..f221eecac 100644
--- a/gcc-4.9/gcc/ipa-inline-transform.c
+++ b/gcc-4.9/gcc/ipa-inline-transform.c
@@ -94,7 +94,6 @@ can_remove_node_now_p_1 (struct cgraph_node *node)
the callgraph so references can point to it. */
return (!node->address_taken
&& !ipa_ref_has_aliases_p (&node->ref_list)
- && !node->used_as_abstract_origin
&& cgraph_can_remove_if_no_direct_calls_p (node)
/* Inlining might enable more devirtualizing, so we want to remove
those only after all devirtualizable virtual calls are processed.
@@ -207,6 +206,7 @@ clone_inlined_nodes (struct cgraph_edge *e, bool duplicate,
MIN(e->count, e->callee->count), freq_scale,
update_original, vNULL, true, inlining_into,
NULL);
+ n->used_as_abstract_origin = e->callee->used_as_abstract_origin;
cgraph_redirect_edge_callee (e, n);
}
}