[PATCH] D40480: MemorySSA backed Dead Store Elimination.

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 8 04:25:07 PST 2019


dmgreen added a comment.

Sounds great. It would be good to see some improved DSE in llvm.

This will have bitrotted heavily on the last 2 years. I can imagine that most of the parts of "old dse" it was using will have changed, leading to different assumptions.

The algorithm here may not be the greatest thing ever created. I think this is probably better than the current DSE in tree at the moment (which I have a low opinion of, but is battle-tested). It can handle cross-basic block dependencies for example, which is awesome, but tat can come at a price. And there are places in here that are O(n^2), which I did run into on a normal bootstrap from my testing. They weren't super slow, and the old DSE can have the same problems, but it's something to watch out for. Both GCC and Swift have different DSE algorithms. IIRC, Swifts propagates store values backwards and GCC has something closer to PDSE (which is like GVN but in reverse from what I understand).


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

https://reviews.llvm.org/D40480





More information about the llvm-commits mailing list