This is the mail archive of the gcc@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]

Re: -fprofile-generate and -fprofile-use


> Do you have specific testcase?  It would be interesting to see if new
> optimizer can catch up at least on kill-loop branch.

Here is a simplified version of what I observed.  In the non-FDO case,
the loop invariant load of the constant 32 is removed from the loop.
When FDO is enabled, the load remains in the loop.

float farray[100];

int main (int argc, char *argv[])
{
    int m;

    for( m = 0; m < 100; m++ )
    {
        farray[m] = 32;
    }
}

I'm compiling it as follows using a version of gcc built from
mainline yesterday.

Non-FDO:
gcc -O3 -funroll-loops -fpeel-loops -o test test.c

FDO:
gcc -O3 -funroll-loops -fpeel-loops -fprofile-generate -o test test.c
./test
gcc -O3 -funroll-loops -fpeel-loops -fprofile-use -o test test.c

Pete


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