diff options
author | Jan Hubicka <jh@suse.cz> | 2004-09-08 11:28:06 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-09-08 09:28:06 +0000 |
commit | 89480522221ee99f08da1abd7197b5b7c978d5c0 (patch) | |
tree | 29b2c1082d2d4dda08ca1f0a6b2e0aa510db37c2 /gcc/tree-optimize.c | |
parent | 323e3709b9ccdd514ac4ce2e2ba7e934984591b1 (diff) | |
download | gcc-89480522221ee99f08da1abd7197b5b7c978d5c0.zip gcc-89480522221ee99f08da1abd7197b5b7c978d5c0.tar.gz gcc-89480522221ee99f08da1abd7197b5b7c978d5c0.tar.bz2 |
cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
* cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
* cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
(cgraph_expand_function): Remove stale cgraph edges of currently
compiled function; fix non-unit-at-a-time code copying function
node for later reuse.
From-SVN: r87181
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r-- | gcc/tree-optimize.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c index 701b104..d081fe0 100644 --- a/gcc/tree-optimize.c +++ b/gcc/tree-optimize.c @@ -604,6 +604,11 @@ tree_rest_of_compilation (tree fndecl, bool nested_p) } } + /* We are not going to maintain the cgraph edges up to date. + Kill it so it won't confuse us. */ + while (node->callees) + cgraph_remove_edge (node->callees); + if (!vars_to_rename) vars_to_rename = BITMAP_XMALLOC (); @@ -632,8 +637,12 @@ tree_rest_of_compilation (tree fndecl, bool nested_p) cgraph_remove_edge (node->callees); node->callees = saved_node->callees; saved_node->callees = NULL; - for (e = saved_node->callees; e; e = e->next_callee) - e->caller = node; + for (e = node->callees; e; e = e->next_callee) + { + if (e->callee->global.inlined_to) + e->callee->global.inlined_to = node; + e->caller = node; + } cgraph_remove_node (saved_node); } } |