[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