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
- From: Andi Kleen <ak at linux dot intel dot com>
- To: "Bin.Cheng" <amker dot cheng at gmail dot com>
- Cc: bin dot cheng at linux dot alibaba dot com, gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 18 Dec 2018 13:27:36 -0800
- Subject: Re: [PATCH AutoFDO]Restoring indirect call value profile transformation
- References: <ae294d36-bc14-4407-8ce0-2f01fc3f651c.bin.cheng@linux.alibaba.com> <87wooai8cs.fsf@linux.intel.com> <CAHFci28x7Gt7=0mViO_PqzN0RPqPho69SER94LEzKoCa8HovRA@mail.gmail.com>
> 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.
>
> > > 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?
-Andi