[PATCH] D30631: [BPI] Use metadata info before any other heuristics

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 9 14:29:52 PST 2017


When real profile data is available, it should be trusted more than both
user annotation and static heuristics.  To tell the difference between real
profile data and user annotation, function entry count data can be checked.

To solve the problem of conflict info between unreachable heuristic vs user
annotation, perhaps introduce an internal option to make unreachable case
more biased?

David

On Thu, Mar 9, 2017 at 1:42 PM, Philip Reames via Phabricator <
reviews at reviews.llvm.org> wrote:

> reames added a comment.
>
> FYI: Serguei is going to file an upstream bug with a clear illustration of
> where loop rotations goes wrong due to the issue identified here.
> Essentially, for a sufficiently long running loop, the static heuristic for
> unreached blocks is not strongly biased enough.  In our case, we have
> branch weights specified which are more strongly biased than the static
> heuristic result.  Using the static heuristic by itself is clearly wrong,
> but I do see Chandler's point about the static heuristics providing useful
> information.  Possibly we should be using the stronger of the two sources
> of information?
>
>
> https://reviews.llvm.org/D30631
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170309/e33db745/attachment.html>


More information about the llvm-commits mailing list