This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]