[PATCH] D72700: [DSE] Add first version of MemorySSA-backed DSE (Bottom up walk).

Tyker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 15 04:29:28 PST 2020


Tyker added a comment.

I did a few experiment with bottom-up algorithm before the patch i showed on phabricator. my implementation of the bottom-up had similar average complie-time to the current pass on the test-suite but it was only barely removing more stores than the current pass.
i gave up on it because i didn't found a good way forward to make it deal with cases like to the following:

     store i32 0, i32* %Ptr.  ; DEAD
     br i1 %cond, label %a, label %b
  a:
    store i32 2, i32* %Ptr
     br label %c
  b: 
    store i32 2, i32* %Ptr
    br label %c

which is IMO definitely something we want to do. by the way gcc does this optimization. https://godbolt.org/z/VFBf-c
maybe there is a bottom-up way to deal with this that i didn't thought about. any thought ?

would you be interested in a port of my top-down algorithm from D72182 <https://reviews.llvm.org/D72182> to work with this patch series's framework ?
i have gotten since i wrote it many idea of how to improve it mostly on the compile-time side.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D72700





More information about the llvm-commits mailing list