[PATCH] D21405: [PGO] IRPGO pre-cleanup pass changes

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 15 15:16:05 PDT 2016


On Wed, Jun 15, 2016 at 3:09 PM, Sean Silva <chisophugis at gmail.com> wrote:

> silvas added a comment.
>
> In http://reviews.llvm.org/D21405#459242, @mehdi_amini wrote:
>
> > I really don't like the fact that the PGO pipeline will be different
> from the non-PGO pipeline (other than what is required for
> instrumentations). I wonder what other people will think of that.
>
>
> This was one of my initial concerns too:
> http://lists.llvm.org/pipermail/llvm-dev/2015-August/089058.html
> Jake and I (actually mostly Jake) did some basic measurements related to
> this and did not find any significant difference.
>
> Rong also did some measurements related to this in the initial RFC thread:
> http://lists.llvm.org/pipermail/llvm-dev/2015-August/089425.html
>
> I agree though: generally speaking, we should avoid running too many
> passes before instrumentation precisely because they cause divergence
> between the PGO and non-PGO pipelines



I agree that we should limit the difference to the minimal required, but
keeping two completely different compilation modes (e.g. PGO vs nonPGO, O3
vs O2 etc) pipeline identical should be a non-goal.

David


> . Thankfully Jake and I found that on our games only pre-inlining was
> needed (running other optimizations before instrumentation did not help
> significantly for our test cases beyond the benefit of just pre-inlining).
>
> (note: due to PR27299, a run of simplifycfg after inlining is needed. But
> this run of simplifycfg doesn't really affect the performance of the
> instrumented build at all)
>
>
> http://reviews.llvm.org/D21405
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160615/443233a9/attachment.html>


More information about the llvm-commits mailing list