summaryrefslogtreecommitdiff
path: root/gcc/c-objc-common.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-12 21:48:59 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-12 21:48:59 +0000
commit833eb72438b0a66929179b0402b48da4632d6af5 (patch)
tree145028e0c53cc6c7857dc24db0335535b3ff24ab /gcc/c-objc-common.c
parent919d789fe70b97397da681856f8269a4e7967b6a (diff)
downloadlinaro-gcc-833eb72438b0a66929179b0402b48da4632d6af5.tar.gz
linaro-gcc-833eb72438b0a66929179b0402b48da4632d6af5.tar.bz2
linaro-gcc-833eb72438b0a66929179b0402b48da4632d6af5.zip
* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
(OBJS): Add callgraph.o (callgraph.o): New. * c-decl.c (expand_body_1): Break out from ... (expand_body): This one; change calling convention (finish_function): Move some of expand_body logic here. (c_expand_deferred_function): Update call of expand_body (c_expand_stmt): Use c_expand_body_1. * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define. * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code. * c-tree.h (c_expand_body): Declare. * callgraph.c: New file. * flags.h (flag_unit_at_a_time): Declare. * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION, LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros. * langhooks.h (struct lang_hooks_for_callgraph): New. (struct lang_hooks): Add callgraph field. * toplev.c (flag_unit_at_a_time): New. (lang_independent_options): Add flag_unit_at_a_time. (process_options): Disable unit-at-a-time mode for frontends not supporting callgraph. * tree-inline.c (typedef struct inline_data): Add "decl" (expand_call_inline): Update callgraph. (optimize_inline_calls): Set id.decl. * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit, cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call cgraph_calls_p): Declare. * invoke.texi (-funit-at-a-time): Document git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62789 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-objc-common.c')
-rw-r--r--gcc/c-objc-common.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c
index c91e635b410..a84ddc8fd70 100644
--- a/gcc/c-objc-common.c
+++ b/gcc/c-objc-common.c
@@ -361,7 +361,13 @@ c_objc_common_finish_file ()
if (pch_file)
c_common_write_pch ();
- expand_deferred_fns ();
+ if (flag_unit_at_a_time)
+ {
+ cgraph_finalize_compilation_unit ();
+ cgraph_optimize ();
+ }
+ else
+ expand_deferred_fns ();
if (static_ctors)
{