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

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 30 18:50:14 PST 2020


fhahn added a comment.

In D72700#1824724 <https://reviews.llvm.org/D72700#1824724>, @Tyker wrote:

> 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.


I've experimented with a different, more lightweight approach to support that case, which seems to fit more natural: if we insert MemoryUses that clobber all locations visible to the caller just before each exit, we should be able to cover this case directly with the read checks: D73763 <https://reviews.llvm.org/D73763>


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