Re: [PATCH v9] pgo: add clang's Profile Guided Optimization infrastructure

From: Kees Cook
Date: Mon Jun 14 2021 - 12:23:17 EST


On Mon, Jun 14, 2021 at 05:35:45PM +0200, Peter Zijlstra wrote:
> On Mon, Jun 14, 2021 at 08:26:01AM -0700, Kees Cook wrote:
> > So, AFAICT, the original blocking issue ("PGO does not respect noinstr")
> > is not actually an issue (noinstr contains notrace, which IS respected
> > by PGO[2]), I think this is fine to move forward.
>
> It is *NOT*: https://godbolt.org/z/9c7xdvGd9
>
> Look at how both compilers generate instrumentation in the no_instr()
> function.

Well that's disappointing. I'll put this on hold until Clang can grow an
appropriate attribute (or similar work-around). Thanks for catching
that.

--
Kees Cook