Ok for google branches. David
On Sat, Dec 31, 2011 at 12:45 AM, Dehao Chen <de...@google.com> wrote: > I see. The patch is updated: > > Thanks, > Dehao > > Index: ipa-inline.c > =================================================================== > --- ipa-inline.c (revision 182739) > +++ 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); > + if (flag_opt_info >= OPT_INFO_MED && profile_info) > + 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); > + if (flag_opt_info >= OPT_INFO_MED && profile_info) > + sprintf (buf, "("HOST_WIDEST_INT_PRINT_DEC", > "HOST_WIDEST_INT_PRINT_DEC")", > + node->count, node->max_bb_count); > return buf; > } > > On Fri, Dec 30, 2011 at 4:59 PM, Xinliang David Li <davi...@google.com> wrote: >> the early inline decisions are still good to dump out. However the >> opt-info should check 'if (profile_info)' to decide if count and max >> count info need to be dumped. >> >> David >> >> On Fri, Dec 30, 2011 at 12:31 AM, Dehao Chen <de...@google.com> wrote: >>> 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);