[llvm-dev] Interprocedural DSE for -ftrivial-auto-var-init

Vitaly Buka via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 15 13:51:57 PDT 2019


Hi JF,

   I've heard that you are interested DSE improvements and maybe we need to
be in sync.
   So far I experimented with following DSE improvements:

* Cross-block DSE, it eliminates additional 7% stores comparing to existing
DSE. But it's not visible on benchmarks.

* Cross-block + Interprocedural analysis to annotate each function argument
with:
  - can read before write
  - will always write
This annotations gets me 20% stores deleted additional to the current DSE.

This is on LLVM codebase with -ftrivial-auto-var-init=patter.

As-is it's less than I expected, so I would like to find good benchmark to
decide if we should work to make production code from my experiment.

So now I am also planing to try to extend that to whole program analysis.
I will cleanup my code and upload this during this weak, if anyone wants to
try.

Vitaly.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190415/a0fa0bb7/attachment.html>


More information about the llvm-dev mailing list