diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-12 21:48:59 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-12 21:48:59 +0000 |
commit | 833eb72438b0a66929179b0402b48da4632d6af5 (patch) | |
tree | 145028e0c53cc6c7857dc24db0335535b3ff24ab /gcc/c-objc-common.c | |
parent | 919d789fe70b97397da681856f8269a4e7967b6a (diff) | |
download | linaro-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.c | 8 |
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) { |