Hi, This patch makes the -fopt-info print more concise info: 1. only inline decisions after einline are printed 2. print in a more compact format
Bootstrapped with no problem. Is it okay for google-4_6 and google-main branch? Thanks, Dehao gcc/ChangeLog.google-4_6 2011-12-30 Dehao Chen <de...@google.com> * ipa-inline.c (dump_inline_decision): Print more concise info when dumping inline decisions. Index: gcc/ipa-inline.c =================================================================== --- gcc/ipa-inline.c (revision 182739) +++ gcc/ipa-inline.c (working copy) @@ -303,26 +303,19 @@ char *buf; size_t buf_size; const char *bfd_name = lang_hooks.dwarf_name (node->decl, 0); - const char *count_text = "count="; - const char *max_count_text = "max_count="; if (!bfd_name) bfd_name = "unknown"; buf_size = strlen (bfd_name) + 1; if (flag_opt_info >= OPT_INFO_MED) - buf_size += (strlen (count_text) + MAX_INT_LENGTH + 1); - if (flag_opt_info >= OPT_INFO_MAX) - buf_size += (strlen (max_count_text) + MAX_INT_LENGTH + 1); + buf_size += (2 * MAX_INT_LENGTH + 5); buf = (char *) xmalloc (buf_size); strcpy (buf, bfd_name); if (flag_opt_info >= OPT_INFO_MED) - sprintf (buf, "%s,%s"HOST_WIDEST_INT_PRINT_DEC, - buf, count_text, node->count); - if (flag_opt_info >= OPT_INFO_MAX) - sprintf (buf, "%s,%s"HOST_WIDEST_INT_PRINT_DEC, - buf, max_count_text, node->max_bb_count); + sprintf (buf, "("HOST_WIDEST_INT_PRINT_DEC", "HOST_WIDEST_INT_PRINT_DEC")", + node->count, node->max_bb_count); return buf; } @@ -369,6 +362,14 @@ const char *inline_chain_text; const char *call_count_text; struct cgraph_node *final_caller = edge->caller; + tree decl = edge->caller->decl; + + if (decl) + { + struct function *fn = DECL_STRUCT_FUNCTION (decl); + if (!fn || !fn->always_inline_functions_inlined) + return; + } if (final_caller->global.inlined_to != NULL) inline_chain_text = cgraph_node_call_chain (final_caller, &final_caller);