[llvm-dev] AutoFDO sample profiles v. SelectInst,
Xinliang David Li via llvm-dev
llvm-dev at lists.llvm.org
Wed Aug 17 09:12:45 PDT 2016
On Wed, Aug 17, 2016 at 8:19 AM, Sanjay Patel <spatel at rotateright.com>
> On Fri, Aug 12, 2016 at 12:15 PM, Xinliang David Li via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>> There are two potential problems:
>> 1) the branch gets eliminated in the binary that is being profiled, so
>> there is no profile data
> This seems like a fundamental problem for PGO. Maybe it is also
> responsible for this bug: https://llvm.org/bugs/show_bug.cgi?id=27359 ?
> Should we limit select optimizations in IR for a PGO-training build? Or
> should there be a 'select smasher' pass later in the pipeline that turns
> selects into branches for a PGO-training build? (I don't have a good
> understanding of PGO, so I'm just throwing out ideas...maybe a better
> question is: how do other compilers handle this?)
For instrumentation based PGO (IR-based), this is a known problem. I have a
solution for it and will send out patches soon. Before that, there will be
more changes in LLVM to make sure profile data associated with selectInst
is well preserved.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev