[Bug middle-end/35591] New: value profiling tuning

xinliangli at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Mar 14 19:04:00 GMT 2008


// David

For value profiling transformation to kick in, gcc requires value histogram to
have a value with dominating count. However, another heuristic that can be used
is  to check if the total number of values is small, for instance 2.

 The following progrma shows the problem:

//
#include <string.h>


void mycpy (char* s1, char *s2, int n) __attribute__((noinline));
void mycpy (char* s1, char *s2, int n)
{
  memcpy(s1,s2,n);
}


int main()
{

   char *s1 = malloc(100000);
   char *s2 = malloc(100000);
   int i;

   for ( i = 0 ; i < 100000; i ++)
   {
        mycpy(s1,s2, i%2 ? 128:64);
   }

}


-- 
           Summary: value profiling tuning
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: xinliangli at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35591



More information about the Gcc-bugs mailing list