gcc/gcc callgraph.c
hubicka@gcc.gnu.org
hubicka@gcc.gnu.org
Wed Feb 5 10:10:00 GMT 2003
CVSROOT: /cvs/gcc
Module name: gcc
Branch: hammer-3_3-branch
Changes by: hubicka@gcc.gnu.org 2003-02-05 10:10:22
Added files:
gcc : callgraph.c
Log message:
* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-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_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_time): New.
(lang_independent_options): Add flag_unit_at_time.
(parse_options_and_default_flags): Set flag_unit_at_time for -O2.
(process_options): Disable unit-at-time mode for frontends not
supporting callgraph.
* tree-inline.c (typedef struct inline_data): Add "decl"
(inlinable_function_p): New argument nolimit.
(tree_inlinable_function_p): Likewise.
(expand_call_inline): Update callgraph.
(optimize_inline_calls): Set id.decl.
* tree-inline.h (tree_inlinable_function_p): Update prototype./
* tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
cgraph_calls_p): Declare.
* i386.c (x86_optimize_local_function,
TARGET_CGRAPH_OPTIMIZE_LOCAL_FUNCTION): New.
* target-def.h (TARGET_CGRAPH_OPTIMIZE_LOCAL_FUNCTION, TARGET_CGRAPH):
New.
* target.h (struct gcc_target): Add new cgraph familly.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/callgraph.c.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=NONE&r2=1.1.4.1
More information about the Gcc-cvs
mailing list