This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]