aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2013-04-05 19:23:17 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2013-04-05 19:23:17 +0000
commit7bca81dc6a2606caeb675fb74afdad5f2a86d44a (patch)
treecc55e3c8d03e775e0ae127a1d61cb22dd0973f7f /gcc/cgraph.c
parent4542a38a21fea54d28d2d2b34ef8e12ebb7ca415 (diff)
downloadgcc-7bca81dc6a2606caeb675fb74afdad5f2a86d44a.zip
gcc-7bca81dc6a2606caeb675fb74afdad5f2a86d44a.tar.gz
gcc-7bca81dc6a2606caeb675fb74afdad5f2a86d44a.tar.bz2
bb-reorder.c (fix_crossing_unconditional_branches): Remove a set-but-unused variable.
* bb-reorder.c (fix_crossing_unconditional_branches): Remove a set-but-unused variable. * cgraph.c (cgraph_release_function_body): Clear cfun->cfg to make basic blocks of released function bodies garbage-collectable. * ree.c (find_and_remove_re): Do not call df_finish_pass here. (struct rtl_opt_pass): Add TODO_df_finish. * rtl.def (DEFINE_SUBST, DEFINE_SUBST_ATTR): Add documentation. From-SVN: r197533
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r--gcc/cgraph.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 930ccd8..693d4db 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -1260,7 +1260,10 @@ cgraph_node_remove_callers (struct cgraph_node *node)
node->callers = NULL;
}
-/* Release memory used to represent body of function NODE. */
+/* Release memory used to represent body of function NODE.
+ Use this only for functions that are released before being translated to
+ target code (i.e. RTL). Functions that are compiled to RTL and beyond
+ are free'd in final.c via free_after_compilation(). */
void
cgraph_release_function_body (struct cgraph_node *node)
@@ -1285,6 +1288,7 @@ cgraph_release_function_body (struct cgraph_node *node)
gcc_assert (dom_computed[0] == DOM_NONE);
gcc_assert (dom_computed[1] == DOM_NONE);
clear_edges ();
+ cfun->cfg = NULL;
}
if (cfun->value_histograms)
free_histograms ();