[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