aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2009-10-02 01:20:15 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2009-10-01 23:20:15 +0000
commit03ec7d01e07f3477397874f01ee7da39fc93d023 (patch)
tree851bbe5f7a341f0badf18bf5a177dfbf5e290e5c /gcc/ipa-inline.c
parent0ecdd2aae98b931eb50dff3c8013a1b7adcfaa95 (diff)
downloadgcc-03ec7d01e07f3477397874f01ee7da39fc93d023.zip
gcc-03ec7d01e07f3477397874f01ee7da39fc93d023.tar.gz
gcc-03ec7d01e07f3477397874f01ee7da39fc93d023.tar.bz2
cgraph.c (cgraph_clone_node): Add redirect_callers parameter.
* cgraph.c (cgraph_clone_node): Add redirect_callers parameter. (cgraph_create_virtual_clone): Just pass redirect_callers around. * cgraph.h (cgraph_clone_node): Update prototype. * ipa-pure-const.c (self_recursive_p): New function. (propagate): Use it. * ipa-inline.c (cgraph_clone_inlined_nodes, * cgraph_decide_recursive_inlining): Update. * gcc.dg/tree-ssa/ipa-cp-1.c: New testcase. From-SVN: r152388
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 662e13f..8851d60 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -238,7 +238,7 @@ cgraph_clone_inlined_nodes (struct cgraph_edge *e, bool duplicate,
{
struct cgraph_node *n;
n = cgraph_clone_node (e->callee, e->count, e->frequency, e->loop_nest,
- update_original);
+ update_original, NULL);
cgraph_redirect_edge_callee (e, n);
}
}
@@ -723,7 +723,8 @@ cgraph_decide_recursive_inlining (struct cgraph_node *node,
cgraph_node_name (node));
/* We need original clone to copy around. */
- master_clone = cgraph_clone_node (node, node->count, CGRAPH_FREQ_BASE, 1, false);
+ master_clone = cgraph_clone_node (node, node->count, CGRAPH_FREQ_BASE, 1,
+ false, NULL);
master_clone->needed = true;
for (e = master_clone->callees; e; e = e->next_callee)
if (!e->inline_failed)