aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-09-11 12:39:53 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2007-09-11 10:39:53 +0000
commite89d6010089634063adfeeec679ac7fbf6afa4e6 (patch)
treea9c246259502c55141f2c727f2747541fd04e58b /gcc/cgraphunit.c
parent8ce4afa36d051920c2a67e54340e2a72fa33cbdd (diff)
downloadgcc-e89d6010089634063adfeeec679ac7fbf6afa4e6.zip
gcc-e89d6010089634063adfeeec679ac7fbf6afa4e6.tar.gz
gcc-e89d6010089634063adfeeec679ac7fbf6afa4e6.tar.bz2
decl.c (java_expand_body): Kill.
* decl.c (java_expand_body): Kill. (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. * toplev.c (process_options): all frontends now do unit-at-a-time. * cgraphunit.c: update comments. (cgraph_expand_function): call passmanager dirrectly; emit thunks. * c-decl.c (finish_function): use cgraph_add_new_function. * method.c (use_thunk): Use tree_rest_of_compilation * cp-objecp-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Define. * cp-tree.h (expand_body): Kill. (emit_associated_thunks): Declare. * semantics.c (emit_associated_thunks): Export. (expand_body): Kill. * misc.c (gnat_expand_body): Kill. (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. * f95-lang.c (gfc_expand_function): Kill. (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. * function.c (expand_function_end): We are always unit-at-a-time. From-SVN: r128367
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 61d834d..0218d26 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -76,15 +76,6 @@ along with GCC; see the file COPYING3. If not see
??? On the tree-ssa genericizing should take place here and we will avoid
need for these hooks (replacing them by genericizing hook)
- - expand_function callback
-
- This function is used to expand function and pass it into RTL back-end.
- Front-end should not make any assumptions about when this function can be
- called. In particular cgraph_assemble_pending_functions,
- varpool_assemble_pending_variables, cgraph_finalize_function,
- varpool_finalize_function, cgraph_optimize can cause arbitrarily
- previously finalized functions to be expanded.
-
We implement two compilation modes.
- unit-at-a-time: In this mode analyzing of all functions is deferred
@@ -1074,7 +1065,9 @@ cgraph_expand_function (struct cgraph_node *node)
}
/* Generate RTL for the body of DECL. */
- lang_hooks.callgraph.expand_function (decl);
+ if (lang_hooks.callgraph.emit_associated_thunks)
+ lang_hooks.callgraph.emit_associated_thunks (decl);
+ tree_rest_of_compilation (decl);
/* Make sure that BE didn't give up on compiling. */
/* ??? Can happen with nested function of extern inline. */