[PATCH] D57779: [SLP] Add support for throttling.

Dinar Temirbulatov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 21 12:36:51 PDT 2019


dtemirbulatov updated this revision to Diff 191763.
dtemirbulatov added a comment.

Fixed cost estimation for canceled elements to be inserted to interact with vectorized. 
Replaced main throttling loop in reverse-post-order traversal as it was suggested in the previous remarks.
Making final decision on throttle inside getTreeCost() we don't need to hold cost estimations in TreeEntry.
Avoid vectorizing any flow instructions during partial vectorization.
Added cl::opt flag for Throtelling, it is now on by default to show the impact on tests, but during commit, I could make this option off by default to estimate the whole impact before enabling everywhere.
Here are the spec cup 2006 numbers before and after:

before:
400.perlbench    9770        304       32.2 *
401.bzip2        9650        473       20.4 *
403.gcc          8050        250       32.1 *
429.mcf          9120        326       28.0 *
445.gobmk       10490        465       22.5 *
456.hmmer        9330        344       27.1 *
458.sjeng       12100        462       26.2 *
462.libquantum  20720        255       81.2 *
464.h264ref     22130        504       43.9 *
471.omnetpp      6250        329       19.0 *
473.astar        7020        416       16.9 *
483.xalancbmk    6900        198       34.8 *
 Est. SPECint(R)_base2006              29.1
 Est. SPECint2006

after:
400.perlbench    9770        301       32.4 *
401.bzip2        9650        471       20.5 *
403.gcc          8050        241       33.4 *
429.mcf          9120        329       27.7 *
445.gobmk       10490        465       22.6 *
456.hmmer        9330        344       27.1 *
458.sjeng       12100        461       26.3 *
462.libquantum  20720        267       77.6 *
464.h264ref     22130        504       43.9 *
471.omnetpp      6250        323       19.4 *
473.astar        7020        416       16.9 *
483.xalancbmk    6900        197       35.0 *
 Est. SPECint(R)_base2006              29.2
 Est. SPECint2006

with flags applied "-march=broadwell -m64 -O3" on Intel(R) Core(TM) i7-6700HQ


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57779/new/

https://reviews.llvm.org/D57779

Files:
  lib/Transforms/Vectorize/SLPVectorizer.cpp
  test/Transforms/SLPVectorizer/AArch64/transpose.ll
  test/Transforms/SLPVectorizer/X86/crash_gep.ll
  test/Transforms/SLPVectorizer/X86/slp-throttle.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57779.191763.patch
Type: text/x-patch
Size: 24060 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190321/4afe7520/attachment.bin>


More information about the llvm-commits mailing list