[PATCH] [MachineSink+PGO] Teach MachineSink to use BlockFrequencyInfo

Chandler Carruth chandlerc at gmail.com
Mon Sep 22 13:13:48 PDT 2014


This seems fine in general.

Could you include a (admitedly contrived) test case that exercises the two
paths?

On Mon, Sep 22, 2014 at 12:59 PM, Bruno Cardoso Lopes <
bruno.cardoso at gmail.com> wrote:

> Hi qcolombet, chandlerc, ributzka,
>
> Teach MachineSink to use BlockFrequencyInfo
>
> Machine Sink uses loop depth information to select between successors BBs
> to sink machine instructions into, where BBs within smaller loop depths are
> preferable.
> This patch adds support for choosing between successors by using profile
> information from BlockFrequencyInfo instead, whenever the information is
> available.
>
> Tested it under SPEC2006 train (average of 30 runs for each program). The
> baseline uses -O3 and PGO without Machine Sink support. There are no
> regressions found for these programas, and the speedup follows:
>
> benchmark       Speedup (Relative change)
> 400.perlbench   2.49%
> 401.bzip2       2.59%
> 403.gcc         2.43%
> 429.mcf         2.56%
> 456.hmmer       2.38%
> 458.sjeng       1.75%
> 462.libquantum  0.08%
> 464.h264ref     2.65%
> 471.omnetpp     1.00%
> 473.astar       1.81%
> 483.xalancbmk   1.00%
> 433.milc        1.44%
> 444.namd        1.60%
> 450.soplex      1.63%
> 470.lbm         1.65%
> GeoMean         1.49%
>
> More details on the results at http://pastebin.com/VQBfU4PH
>
> http://reviews.llvm.org/D5447
>
> Files:
>   lib/CodeGen/MachineSink.cpp
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140922/6e5a7bcd/attachment.html>


More information about the llvm-commits mailing list