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