diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33c906afb094c06506b0c744caa3a273d2b3f67f..e5f43678eec3573722f4b6d6c7811e15ab886e38 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-24 Martin Liska <mliska@suse.cz> + + * cgraph.c (cgraph_node::dump): + Remove reduntant dumps and make tp_first_run dump more compact. + 2018-10-24 Richard Biener <rguenther@suse.de> PR tree-optimization/87665 diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 48bab9f274996f6f43626626d94c62786acaa850..b432f7e650076aa4f3e78cd13186ded311ed15e6 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -2016,7 +2016,6 @@ cgraph_node::dump (FILE *f) if (profile_id) fprintf (f, " Profile id: %i\n", profile_id); - fprintf (f, " First run: %i\n", tp_first_run); cgraph_function_version_info *vi = function_version (); if (vi != NULL) { @@ -2040,11 +2039,13 @@ cgraph_node::dump (FILE *f) fprintf (f, " Function flags:"); if (count.initialized_p ()) { - fprintf (f, " count: "); + fprintf (f, " count:"); count.dump (f); } + if (tp_first_run > 0) + fprintf (f, " first_run:%i", tp_first_run); if (origin) - fprintf (f, " nested in: %s", origin->asm_name ()); + fprintf (f, " nested in:%s", origin->asm_name ()); if (gimple_has_body_p (decl)) fprintf (f, " body"); if (process) @@ -2081,10 +2082,6 @@ cgraph_node::dump (FILE *f) fprintf (f, " unlikely_executed"); if (frequency == NODE_FREQUENCY_EXECUTED_ONCE) fprintf (f, " executed_once"); - if (only_called_at_startup) - fprintf (f, " only_called_at_startup"); - if (only_called_at_exit) - fprintf (f, " only_called_at_exit"); if (opt_for_fn (decl, optimize_size)) fprintf (f, " optimize_size"); if (parallelized_function) @@ -2096,7 +2093,7 @@ cgraph_node::dump (FILE *f) { fprintf (f, " Thunk"); if (thunk.alias) - fprintf (f, " of %s (asm: %s)", + fprintf (f, " of %s (asm:%s)", lang_hooks.decl_printable_name (thunk.alias, 2), IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (thunk.alias))); fprintf (f, " fixed offset %i virtual value %i indirect_offset %i " @@ -2112,7 +2109,7 @@ cgraph_node::dump (FILE *f) fprintf (f, " Alias of %s", lang_hooks.decl_printable_name (thunk.alias, 2)); if (DECL_ASSEMBLER_NAME_SET_P (thunk.alias)) - fprintf (f, " (asm: %s)", + fprintf (f, " (asm:%s)", IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (thunk.alias))); fprintf (f, "\n"); } diff --git a/gcc/testsuite/gcc.dg/tree-prof/time-profiler-1.c b/gcc/testsuite/gcc.dg/tree-prof/time-profiler-1.c index 455f923f3f40533fb37b9d11d03b1966f2d50782..a622df23ce6057d91e7e017efa9c221ce9e7fe83 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/time-profiler-1.c +++ b/gcc/testsuite/gcc.dg/tree-prof/time-profiler-1.c @@ -16,6 +16,6 @@ int main () { return foo (); } -/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 0" 1 "profile"} } */ /* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 1" 1 "profile"} } */ /* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 2" 1 "profile"} } */ +/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 3" 1 "profile"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-prof/time-profiler-2.c b/gcc/testsuite/gcc.dg/tree-prof/time-profiler-2.c index e6eaeb9981016f0a417d317e5a956b7cd6df396c..497b585388e28a4e5c9eb4cacdcd276470fa1338 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/time-profiler-2.c +++ b/gcc/testsuite/gcc.dg/tree-prof/time-profiler-2.c @@ -43,7 +43,7 @@ int main () return r; } -/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 0" 2 "profile"} } */ -/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 1" 1 "profile"} } */ +/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 1" 2 "profile"} } */ /* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 2" 1 "profile"} } */ /* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 3" 1 "profile"} } */ +/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 4" 1 "profile"} } */ diff --git a/gcc/testsuite/gcc.dg/tree-prof/time-profiler-3.c b/gcc/testsuite/gcc.dg/tree-prof/time-profiler-3.c index 69ce026082851cfea723c80be463517e9f93498a..69daf2374830b941d38fb78b9d16a5d38c61657d 100644 --- a/gcc/testsuite/gcc.dg/tree-prof/time-profiler-3.c +++ b/gcc/testsuite/gcc.dg/tree-prof/time-profiler-3.c @@ -17,6 +17,6 @@ int main () { return foo (); } -/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 0" 1 "profile"} } */ /* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 1" 1 "profile"} } */ /* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 2" 1 "profile"} } */ +/* { dg-final-use-not-autofdo { scan-ipa-dump-times "Read tp_first_run: 3" 1 "profile"} } */ diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 722cf48e8c1c5661e0f9c135ce88f6b350e72733..73c6f59ae1e36c7e210fe185a7444c02c80f8652 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-24 Martin Liska <mliska@suse.cz> + + * libgcov-profiler.c: Start from 1 in order to distinguish + functions which were seen and these that were not. + 2018-10-18 Paul Koning <ni1d@arrl.net> * udivmodsi4.c (__udivmodsi4): Rename to conform to coding diff --git a/libgcc/libgcov-profiler.c b/libgcc/libgcov-profiler.c index 7a5e50009ce15032c312cb7593bab052a5e2021d..47c00ee4b4a105b6e8597960512cce5a3ad3dfae 100644 --- a/libgcc/libgcov-profiler.c +++ b/libgcc/libgcov-profiler.c @@ -335,7 +335,7 @@ __gcov_indirect_call_profiler_v2 (gcov_type value, void* cur_func) #ifdef L_gcov_time_profiler /* Counter for first visit of each function. */ -gcov_type __gcov_time_profiler_counter ATTRIBUTE_HIDDEN; +gcov_type __gcov_time_profiler_counter ATTRIBUTE_HIDDEN = 1; #endif