http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
--- Comment #140 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-08-19 05:55:26 UTC --- Author: hubicka Date: Sun Aug 19 05:55:20 2012 New Revision: 190509 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190509 Log: PR lto/45375 * ipa-inline.c (want_inline_small_function_p): Bypass inline limits for hinted functions. (edge_badness): Dump hints; decrease badness for hinted funcitons. * ipa-inline.h (enum inline_hints_vals): New enum. (inline_hints): New type. (edge_growth_cache_entry): Add hints. (dump_inline_summary): Update. (dump_inline_hints): Declare. (do_estimate_edge_hints): Declare. (estimate_edge_hints): New inline function. (reset_edge_growth_cache): Update. * predict.c (cgraph_maybe_hot_edge_p): Do not ice on indirect edges. * ipa-inline-analysis.c (dump_inline_hints): New function. (estimate_edge_devirt_benefit): Return true when function should be hinted. (estimate_calls_size_and_time): New hints argument; set it when devritualization happens. (estimate_node_size_and_time): New hints argument. (do_estimate_edge_time): Cache hints. (do_estimate_edge_growth): Update. (do_estimate_edge_hints): New function Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-inline-analysis.c trunk/gcc/ipa-inline.c trunk/gcc/ipa-inline.h trunk/gcc/predict.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/ipa/iinline-1.c