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

Chad Rosier mcrosier at codeaurora.org
Mon Sep 22 14:46:09 PDT 2014


> 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 numbers look good! Are they collected with training on train data and
> running on actual data?
>
> Thanks,
> Manman

Also, what kind of device was used (ARMv7 or ARMv8)?

 Chad

>
>> 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
>>
>>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>





More information about the llvm-commits mailing list