[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
Thu Jan 16 12:08:55 PST 2020


Tyker added a comment.

In D72700#1822594 <https://reviews.llvm.org/D72700#1822594>, @asbirlea wrote:

> Regarding handling the branching example, the solution fhahn proposes sounds reasonable to me.
>  I was thinking something similar, along the lines of: do the checks bottom-up from both second and third stores during the main algorithm, both find the dead store but do not postdominate it; don't abandon them, but keep this info (include the checks for no intervening reads) for after the main search. The data structure could be a Hashmap<PotentialDeadStore, ListOfDefsOrBlocksWhoFoundThisPotentialDeadStore>. If all paths are covered in the List for a PotentialDeadStore, then it's truly dead.


this seems like it should work.

by the way do you have any thought on adding all calls that may throw in the memory ssa graph even if there are specified to not access memory ?
being able to rely on this would simplify greatly and probably speedup any DSE algorithm. and it is a corner case, readnone functions that may throw can't occur in C++ and i expect most other languages to be the same.


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