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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
>>
>> * 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);