[PATCH] D61726: [Pass Pipeline] Run another round of reassociation after loop pipeline

Nemanja Ivanovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 10 06:52:10 PDT 2019


nemanjai updated this revision to Diff 199012.
nemanjai added a comment.

Move the newly added test case and update it to only show the different behaviour (after committing it to show the current behaviour in r360426)
Move the additional run of reassociation before the late LICM pass. I assumed that this is a good place for it in the pipeline since LICM might move things out of the loop and potentially take away some opportunities. This is just based on a weak hunch and I am very much open to suggestions for a better place for this in the pipeline.

I have also run CTMark with and without the patch and it shows a minimal increase in compile time. This was run on a quiet PPC (Power9) machine set up for performance measurements with -j1:

  Tests: 10
  Metric: compile_time
  
  Program                                        results.base results.modified diff
   test-suite :: CTMark/kimwitu++/kc.test         37.41        37.67            0.7%
   test-suite...ark/tramp3d-v4/tramp3d-v4.test    76.74        77.09            0.4%
   test-suite :: CTMark/Bullet/bullet.test        90.14        90.48            0.4%
   test-suite :: CTMark/SPASS/SPASS.test          42.44        42.57            0.3%
   test-suite...:: CTMark/sqlite3/sqlite3.test    45.18        45.30            0.3%
   test-suite...Mark/mafft/pairlocalalign.test    40.60        40.67            0.2%
   test-suite :: CTMark/lencod/lencod.test        63.90        64.01            0.2%
   test-suite...TMark/7zip/7zip-benchmark.test   134.58       134.78            0.2%
   test-suite...-typeset/consumer-typeset.test    35.08        35.05           -0.1%
   test-suite...:: CTMark/ClamAV/clamscan.test    51.71        51.72            0.0%
   Geomean difference                                                           0.3%
         results.base  results.modified       diff
  count  10.000000     10.000000         10.000000
  mean   61.778200     61.933290         0.002511
  std    31.338327     31.402827         0.002218
  min    35.080900     35.050700        -0.000861
  25%    41.058275     41.143850         0.001559
  50%    48.446250     48.509000         0.002115
  75%    73.530500     73.816250         0.003576
  max    134.579000    134.781900        0.006955


Repository:
  rL LLVM

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

https://reviews.llvm.org/D61726

Files:
  lib/Passes/PassBuilder.cpp
  lib/Transforms/IPO/PassManagerBuilder.cpp
  test/CodeGen/AMDGPU/simplify-libcalls.ll
  test/Other/new-pm-defaults.ll
  test/Other/new-pm-thinlto-defaults.ll
  test/Other/opt-O2-pipeline.ll
  test/Other/opt-O3-pipeline.ll
  test/Other/opt-Os-pipeline.ll
  test/Transforms/PhaseOrdering/reassociate-after-unroll.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61726.199012.patch
Type: text/x-patch
Size: 12685 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190510/3b158063/attachment.bin>


More information about the llvm-commits mailing list