[PATCH] D109844: [DSE] Track earliest escape, use for loads in isReadClobber.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 17 08:05:35 PDT 2021


fhahn updated this revision to Diff 373224.
fhahn marked 4 inline comments as done.
fhahn added a comment.

Addressed comments, thanks!

In D109844#3005193 <https://reviews.llvm.org/D109844#3005193>, @lebedev.ri wrote:

> Passing-by remark:
> rGd1a1cce5b130630df0c821e8cafe5f683ccccb90 <https://reviews.llvm.org/rGd1a1cce5b130630df0c821e8cafe5f683ccccb90> mentions not being cost-beneficial,
> this mentions cost, but does not say anything about benefit.

Good point! With -O3 -flto MultiSource/SPEC2006/SPEC2017 there are a few
improvements (~200 more stores removed):

  Metric: dse.NumFastStores
  
  Program
   test-suite...urce/Applications/lua/lua.test    10.00   11.00  10.0%
   test-suite...3.xalancbmk/483.xalancbmk.test   675.00  694.00   2.8%
   test-suite...510.parest_r/510.parest_r.test   4527.00 4646.00  2.6%
   test-suite...lancbmk_r/523.xalancbmk_r.test   965.00  971.00   0.6%
   test-suite.../Benchmarks/Bullet/bullet.test   1183.00 1190.00  0.6%
   test-suite...:: External/Povray/povray.test   346.00  348.00   0.6%
   test-suite...006/453.povray/453.povray.test   540.00  543.00   0.6%
   test-suite...511.povray_r/511.povray_r.test   552.00  555.00   0.5%
   test-suite...7rate/502.gcc_r/502.gcc_r.test   1381.00 1388.00  0.5%
   test-suite...6.blender_r/526.blender_r.test   3488.00 3504.00  0.5%
   test-suite.../CINT2000/252.eon/252.eon.test   2118.00 2126.00  0.4%
   test-suite.../CINT2006/403.gcc/403.gcc.test   542.00  544.00   0.4%

Also, @rnk mentioned seeing plenty of stores not being removed in Chrome + auto-init in PR50220. Perhaps they could let us know the impact of the change + D109907 <https://reviews.llvm.org/D109907>. And this also fixes a regression compared to legacy DSE.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109844

Files:
  llvm/include/llvm/Analysis/CaptureTracking.h
  llvm/lib/Analysis/CaptureTracking.cpp
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/test/Transforms/DeadStoreElimination/captures-before-load.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109844.373224.patch
Type: text/x-patch
Size: 18898 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210917/a73fba8e/attachment.bin>


More information about the llvm-commits mailing list