This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH AutoFDO]Restoring indirect call value profile transformation
On Wed, Dec 19, 2018 at 5:27 AM Andi Kleen <ak@linux.intel.com> wrote:
>
> > Yes, take g++.dg/tree-prof/morefunc.C as an example:
> > - int i;
> > - for (i = 0; i < 1000; i++)
> > + int i, j;
> > + for (i = 0; i < 1000000; i++)
> > + for (j = 0; j < 50; j++)
> > g += tc->foo();
> > if (g<100) g++;
> > }
> > @@ -27,8 +28,9 @@ void test1 (A *tc)
> > static __attribute__((always_inline))
> > void test2 (B *tc)
> > {
> > - int i;
> > + int i, j;
> > for (i = 0; i < 1000000; i++)
> > + for (j = 0; j < 50; j++)
> >
> > I have to increase loop count like this to get stable pass on my
> > machine. The original count (1000) is too small to be sampled.
>
> IIRC It was originally higher, but people running on slow simulators complained,
> so it was reduced. Perhaps we need some way to detect in the test suite
> that the test runs on a real CPU.
Is there concise way to do this, given gcc may be run on all kinds of
virtual scenarios?
>
> >
> > > > FYI, an update about AutoFDO status:
> > > > All AutoFDO ICEs in regtest are fixed, while several tests still failing fall in below
> > > > three categories:
> > >
> > > Great!
> > >
> > > Of course it still ICEs with LTO?
> > >
> > > Right now there is no test case for this I think. Probably one should be added.
>
>
> Any comments on this?
We'd like to further investigate AutoFDO+LTO, may I ask what the
status is (or was)? Any background elaboration about this would be
appreciated.
Thanks,
bin
>
> -Andi