ipa-inline.c (compute_uninlined_call_time, [...]): New functions.
commitd59171daa764fc59764a7538e48460ffcdae3f9b
authorJan Hubicka <jh@suse.cz>
Mon, 5 Nov 2012 14:00:46 +0000 (5 15:00 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 5 Nov 2012 14:00:46 +0000 (5 14:00 +0000)
tree75c6f6529140bc6332176723a9911440e6cf9481
parent0450d718804aac79ea618dcdfc74bfbda0a7e66e
ipa-inline.c (compute_uninlined_call_time, [...]): New functions.

* ipa-inline.c (compute_uninlined_call_time,
compute_inlined_call_time): New functions.
(RELATIVE_TIME_BENEFIT_RANGE): New macro.
(relative_time_benefit): Rewrite.
(edge_badness): Rewrite path with guessed profile and estimated profile.
* ipa-inline.h (INLINE_HINT_declared_inline, INLINE_HINT_cross_module):
New hints.
(struct inline_summary): Add GROWTH filed.
* ipa-inline-analysis.c (dump_inline_hints): Update.
(reset_inline_summary): Update.
(dump_inline_summary): Update.
(will_be_nonconstant_predicate): Cleanup to use gimple_store_p and
gimple_assign_load_p predicates.
(estimate_node_size_and_time): Drop INLINE_HINT_declared_inline hint.
(simple_edge_hints): New function.
(do_estimate_edge_time): Return time of invocation of callee rather
than the time scaled by edge frequency; update hints code.
(do_estimate_edge_hints): Update.
(do_estimate_growth): Cleanup.

From-SVN: r193161
gcc/ChangeLog
gcc/ipa-inline-analysis.c
gcc/ipa-inline.c
gcc/ipa-inline.h