[PATCH] D94308: [MachineSink] SinkIntoLoop: analyse stores in between. WIP
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 8 07:31:58 PST 2021
SjoerdMeijer created this revision.
SjoerdMeijer added reviewers: fhahn, dmgreen, samparker.
Herald added a subscriber: hiraditya.
SjoerdMeijer requested review of this revision.
Herald added a project: LLVM.
This depends on D93694 <https://reviews.llvm.org/D93694>, and extends the SinkIntoLoop analysis to be less conservative. I.e., it was assuming we couldn't move across a store with `isSafeToMove(AA, DontMoveAcrossStore)`, but now we do actually analyse that by querying `HasStoreBetween()`. Thus, the SinkIntoLoop part now starts reusing the infrastructure already available in MachineSink, which was the motivation of D93694 <https://reviews.llvm.org/D93694>. Function `HasStoreBetween()` doesn't analyse the `From` and `To` blocks, and now we also perform alias analysis of the instructions in these blocks to see if sinking is legal (which also reuses bits and pieces from MachineSink).
This is WIP because I need to add my tests, but I wanted to show the direction and motivation for D93694 <https://reviews.llvm.org/D93694>.
https://reviews.llvm.org/D94308
Files:
llvm/lib/CodeGen/MachineSink.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94308.315396.patch
Type: text/x-patch
Size: 6988 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210108/facc3b7f/attachment-0001.bin>
More information about the llvm-commits
mailing list