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