[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>
wrote:

>
> On Fri, Aug 12, 2016 at 12:15 PM, Xinliang David Li via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> +dehao.
>>
>> 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.

Thanks,

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160817/e9912bcd/attachment.html>


More information about the llvm-dev mailing list