[PATCH] D67612: [UnrolledInstAnalyzer] Use MSSA to find stored values outside of loop.

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 12 14:20:14 PST 2019


asbirlea added a comment.

Sorry, I forgot about this one, thank you for the reminder!

Yes, the explanation makes sense to me.

I would go with adding the logic for how to walk the defs into a Walker.
There are quite a few things that need to be changed in the above code using the def_chain.
e.g.:
There are no MemoryUses, so that check is not needed. 
The chain stops at a MemoryPhi, where you currently break (give up). The way this is written right now, this will always break, and it can be improved with walking the backedge (walkers do this).
The def_chain starts off by getting the defining access for the given Load (Use), which may skip Stores (Defs) it does not alias in the same iteration. But that load may alias the stores in another iteration, so walking *all* defs above current use seems appropriate.
I don't know how nested loops are handled here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67612





More information about the llvm-commits mailing list