This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
is dump_histogram_value HIST_TYPE_SINGLE_VALUE dump correct ?
- From: Tomas Bily <tbily at suse dot cz>
- To: jh at suse dot cz
- Cc: gcc-patches at gcc dot gnu dot org, hubicka at ucw dot cz, tomby at ucw dot cz
- Date: Thu, 11 Jan 2007 16:50:27 +0100
- Subject: is dump_histogram_value HIST_TYPE_SINGLE_VALUE dump correct ?
Hi,
value-prof.c (dump_histogram_value):
case HIST_TYPE_SINGLE_VALUE:
....
fprintf (dump_file, "value:"HOST_WIDEST_INT_PRINT_DEC
" match:"HOST_WIDEST_INT_PRINT_DEC
" wrong:"HOST_WIDEST_INT_PRINT_DEC,
(HOST_WIDEST_INT) hist->hvalue.counters[0],
(HOST_WIDEST_INT) hist->hvalue.counters[1],
(HOST_WIDEST_INT) hist->hvalue.counters[2]);
If I understand correctly meaning of single value counters then third
value means count of all occurrences (match and wrong together). Is it
correct ?
Then the code can be corrected to:
variant 1:
fprintf (dump_file, "value:"HOST_WIDEST_INT_PRINT_DEC
" match:"HOST_WIDEST_INT_PRINT_DEC
" all:"HOST_WIDEST_INT_PRINT_DEC,
(HOST_WIDEST_INT) hist->hvalue.counters[0],
(HOST_WIDEST_INT) hist->hvalue.counters[1],
(HOST_WIDEST_INT) hist->hvalue.counters[2]);
or
variant 2:
fprintf (dump_file, "value:"HOST_WIDEST_INT_PRINT_DEC
" match:"HOST_WIDEST_INT_PRINT_DEC
" wrong:"HOST_WIDEST_INT_PRINT_DEC,
(HOST_WIDEST_INT) hist->hvalue.counters[0],
(HOST_WIDEST_INT) hist->hvalue.counters[1],
(HOST_WIDEST_INT) hist->hvalue.counters[2] - (HOST_WIDEST_INT) hist->hvalue.counters[1]);
patch for variant 1:
-----> cut here <------------
Index: gcc/value-prof.c
===================================================================
--- gcc/value-prof.c (revision 120671)
+++ gcc/value-prof.c (working copy)
@@ -233,7 +240,7 @@ dump_histogram_value (FILE *dump_file, h
{
fprintf (dump_file, "value:"HOST_WIDEST_INT_PRINT_DEC
" match:"HOST_WIDEST_INT_PRINT_DEC
- " wrong:"HOST_WIDEST_INT_PRINT_DEC,
+ " all:"HOST_WIDEST_INT_PRINT_DEC,
(HOST_WIDEST_INT) hist->hvalue.counters[0],
(HOST_WIDEST_INT) hist->hvalue.counters[1],
(HOST_WIDEST_INT) hist->hvalue.counters[2]);
-----> cut here <------------
patch for variant 2:
-----> cut here <------------
Index: gcc/value-prof.c
===================================================================
--- gcc/value-prof.c (revision 120671)
+++ gcc/value-prof.c (working copy)
@@ -236,7 +243,8 @@ dump_histogram_value (FILE *dump_file, h
" wrong:"HOST_WIDEST_INT_PRINT_DEC,
(HOST_WIDEST_INT) hist->hvalue.counters[0],
(HOST_WIDEST_INT) hist->hvalue.counters[1],
- (HOST_WIDEST_INT) hist->hvalue.counters[2]);
+ (HOST_WIDEST_INT) hist->hvalue.counters[2]
+ - (HOST_WIDEST_INT) hist->hvalue.counters[1]);
}
fprintf (dump_file, ".\n");
break;
-----> cut here <------------
Tomas