gcc/gcc ChangeLog.profiling basic-block.h cgra ...

hubicka@gcc.gnu.org hubicka@gcc.gnu.org
Tue Dec 7 18:58:00 GMT 2004


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-profiling-branch
Changes by:	hubicka@gcc.gnu.org	2004-12-07 18:58:57

Modified files:
	gcc            : ChangeLog.profiling basic-block.h cgraph.c 
	                 cgraph.h cgraphunit.c ipa-inline.c rtl.h 
	                 timevar.def tree-inline.c tree-optimize.c 

Log message:
	* basic-block.h (REG_BR_PROB_BASE): Define here.
	* cgraph.c (cgraph_create_node): Set estimated_growth.
	(dump_cgraph_node): Print profile.
	(cgraph_clone_edge): Add count argument.
	(cgraph_clone_node): Likewise; update profile.
	* cgraph.h (cgraph_global_info): Add estimated_growth.
	(cgraph_node): Add count; kill most_desirable.
	(cgraph_edge): Kill desirability and undesirable fields.
	(cgraph_clone_edge, cgraph_clone_node): Update prototypes.
	* cgraphunit.c (cgraph_reset_node): Requeue nodes to reanalyze.
	(cgraph_analyze_function): Initialize profile, do not perform IPA.
	(cgraph_finalize_compilation_unit): Update comment; avoid
	redundant work when called multiple times; do not dump cgraph
	to avoid quadratic dumping on IMA; prettier -Q output.
	(cgraph_optimize): Prettier -Q output; analyze functions.
	* ipa-inline.c: Change heuristics to work per edge, not per inline
	candidate, replace previous profile driven heuristics by common
	implementation.
	(max_insns): change into int.
	(max_count): New static variable.
	(cgraph_clone_inlined_nodes, cgraph_clone_inlined_nodes_1,
	cgraph_mark_inline_edge): Rever the changes from cfginliner patch;
	update profile.
	(cgraph_estimate_growth): Cache result.
	(update_caller_keys): Likewise
	(update_callee_keys): Use update_caller_keys.
	(lookup_recursive_calls): Use priority heap.
	(cgraph_decide_recursive_inlining): Reorganize to use priority heap.
	(cgraph_edge_badness): New function.
	(cgraph_decide_inlining_of_small_functions): Reorganize to work per
	edge instead of per inline candidate.
	(cgraph_decide_inlining): Add TV_INLINE_HEURISTICS timevar;
	do not call cgraph_profile_driven_inlining.
	(cgraph_profile_driven_inlining, cgraph_pick_most_desirable_edge,
	cgraph_desirability): Kill.
	* rtl.h (REG_BR_PROB_BASE): Move definition to basic-block.h.
	* timevar.def (TV_INLINE_HEURISTICS): New TV.
	* tree-inline.c (copy_cfg_body, copy_body): New count argument;
	update profile.
	(copy_body_r, expand_call_inline): Update profiling.
	* tree-optimize.c (tree_rest_of_compilation): Update.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.profiling.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.1.2.92&r2=1.1.2.93
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/basic-block.h.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.153.2.46.2.16&r2=1.153.2.46.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraph.c.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.4.4.18.2.20&r2=1.4.4.18.2.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraph.h.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.1.4.16.2.19&r2=1.1.4.16.2.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraphunit.c.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.1.4.35.2.34&r2=1.1.4.35.2.35
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ipa-inline.c.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.362.2.34.2.15&r2=1.362.2.34.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/timevar.def.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.14.2.35.2.9&r2=1.14.2.35.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.26.2.83.2.19&r2=1.26.2.83.2.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-optimize.c.diff?cvsroot=gcc&only_with_tag=tree-profiling-branch&r1=1.1.4.122.2.27&r2=1.1.4.122.2.28



More information about the Gcc-cvs mailing list