This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r141891 - in /branches/pretty-ipa/gcc: ChangeLo...
- From: hubicka at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Sat, 15 Nov 2008 18:16:46 -0000
- Subject: r141891 - in /branches/pretty-ipa/gcc: ChangeLo...
Author: hubicka
Date: Sat Nov 15 18:16:45 2008
New Revision: 141891
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141891
Log:
* gcc.dg/ipa/ipa-4.c: Add -fno-early-inlining.
* gcc.dg/sibcall-1.c: Add noinline.
* gcc.target/i386/align-main-2.c: Add noinline.
* gcc.target/i386/align-main-1.c: Add noinline.
* gcc.c-torture/compile/pr22379.c: Add noinline.
* doc/invoke.texi (inline-call-cost): Remove.
(early-inlining-insns): Update.
* cgraphbuild.c (compute_call_stmt_bb_frequency): Add function argument;
behave sanely without profile info computed.
(build_cgraph_edges, rebuild_cgraph_edges): Update.
* cgraph.c (dump_cgraph_node): Update dumps.
* cgraph.h (cgraph_local_info): Remove self_insns;
add self_size, size_inlining_benefit, self_time, time_inlining_benefit.
(cgraph_global_info): Add time, size field; remove insns field.
(compute_call_stmt_bb_frequency): Update prototype.
* ipa-cp.c (ipcp_cloning_candidate_p): Use size instead of insns.
(ipcp_estimate_growth): Likewise.
(ipcp_estimate_cloning_cost): Likewise.
(ipcp_insert_stage): Likewise.
* ipa-inline.c (MAX_TIME): Add.
(overall_insns): Remove.
(overall_size): New static var.
(cgraph_estimate_time_after_inlining): New function.
(cgraph_estimate_size_after_inlining): Rewrite to size metrics.
(cgraph_clone_inlined_nodes): Use size instead of insns.
(cgraph_mark_inline_edge): Update size and time instead of insns.
(cgraph_estimate_growth): Use size instead of isnsn.
(cgraph_check_inline_limits): Use size instead of insns.
(cgraph_edge_badness): Compute badness based on self time and size.
(cgraph_decide_recursive_inlining): Use time and size.
(cgraph_decide_inlining_of_small_function): Bookkeep time and size.
(cgraph_decide_inlining): Likewise.
(cgraph_decide_inlining_incrementally): Likewise; handle
PARAM_EARLY_INLINING_INSNS.
(likely_eliminated_by_inlining_p): New predicate.
(estimate_function_body_sizes): New function.
(compute_inline_parameters): Update.
(pass_inline_param): Add it a name parameter.
(cgraph_maybe_hot_edge_p): Return false when optimizing size.
* ipa-prop.c (ipa_note_param_call): Use compute_call_stmt_bb_frequency.
* tree-inline.c (eni_inlining_weights): Remove.
(estimate_num_insns): Recognize loads and stores; be more sane on switch
statement times; builtin_expect is always free; estimate return value cost.
(init_inline_once): Kill inlining weights.
* tree-inline.h (eni_inlining_weights): Remove.
(eni_weights): Add time_based flag.
* parms.def (PARAM_INLINE_CALL_COST): Remove.
(PARAM_EARLY_INLINING_INSNS): Add.
Modified:
branches/pretty-ipa/gcc/ChangeLog.pretty-ipa
branches/pretty-ipa/gcc/cgraph.c
branches/pretty-ipa/gcc/cgraph.h
branches/pretty-ipa/gcc/cgraphbuild.c
branches/pretty-ipa/gcc/doc/invoke.texi
branches/pretty-ipa/gcc/ipa-cp.c
branches/pretty-ipa/gcc/ipa-inline.c
branches/pretty-ipa/gcc/ipa-prop.c
branches/pretty-ipa/gcc/params.def
branches/pretty-ipa/gcc/predict.c
branches/pretty-ipa/gcc/testsuite/ChangeLog.prety-ipa
branches/pretty-ipa/gcc/testsuite/gcc.c-torture/compile/pr22379.c
branches/pretty-ipa/gcc/testsuite/gcc.dg/ipa/ipa-4.c
branches/pretty-ipa/gcc/testsuite/gcc.dg/sibcall-1.c
branches/pretty-ipa/gcc/testsuite/gcc.target/i386/align-main-1.c
branches/pretty-ipa/gcc/testsuite/gcc.target/i386/align-main-2.c
branches/pretty-ipa/gcc/tree-inline.c
branches/pretty-ipa/gcc/tree-inline.h