summaryrefslogtreecommitdiffstats
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-20 20:38:29 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-20 20:38:29 +0000
commit9d95b2b0274da8229a9c7961422e0f7d44d714fd (patch)
tree25c6e4482c10189121acfa2bf0f54130a9876b63 /gcc/cgraph.c
parentb71b0310532ccb4edefc4326ed8ff7d945b57df4 (diff)
downloadppe42-gcc-9d95b2b0274da8229a9c7961422e0f7d44d714fd.tar.gz
ppe42-gcc-9d95b2b0274da8229a9c7961422e0f7d44d714fd.zip
PR middle-end/16460
* cgraph.c (cgraph_unnest_node): New function. (c_finalize): Rename to .... (c_warn_unused_result_recursivly): ... this one; do only the warning (finish_function): Finalize the toplevel function; do not lower nested tree. * cgraph.h (cgraph_unnest_node): Declare. * cgraphunit.c (decide_is_function_needed): Do not use cgraph nestedness datastructure. * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs. * reload1.c (set_label_offsets): Fix call of set_label_offsets. * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code. * utils.c (gnat_finalize): Remove. (end_subprog_body): Directly call cgraph_finalize_function; do not lower the nested functions. * trans-decl.c (build_entry_thunks): Finalize the function; do not lower tree. (gfc_generate_function_code): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87770 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r--gcc/cgraph.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index f8f0b7cd52a..7206251ac54 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -693,4 +693,17 @@ cgraph_clone_node (struct cgraph_node *n)
return new;
}
+
+/* NODE is no longer nested function; update cgraph accordingly. */
+void
+cgraph_unnest_node (struct cgraph_node *node)
+{
+ struct cgraph_node **node2 = &node->origin->nested;
+ gcc_assert (node->origin);
+
+ while (*node2 != node)
+ node2 = &(*node2)->next_nested;
+ *node2 = node->next_nested;
+ node->origin = NULL;
+}
#include "gt-cgraph.h"
OpenPOWER on IntegriCloud