[llvm-dev] AutoFDO sample profiles v. SelectInst,

Xinliang David Li via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 17 09:13:39 PDT 2016


The problem reported by David here is for Sample FDO/PGO, not
instrumentation based PGO.

David

On Wed, Aug 17, 2016 at 9:12 AM, Xinliang David Li <xinliangli at gmail.com>
wrote:

>
>
> 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/f12f4595/attachment.html>


More information about the llvm-dev mailing list