[PATCH] D83288: [LV] Pick vector loop body as insert point for SCEV expansion.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 8 07:49:04 PDT 2020


fhahn updated this revision to Diff 276435.
fhahn added a comment.

In D83288#2135681 <https://reviews.llvm.org/D83288#2135681>, @dmgreen wrote:

> Is the DT reliable enough to use for checking the block is in the loop? I see we might have to exclude the preheader and midblock. But if it's not uptodate, and only knows about split block, it might think the midblock it dominated by the vector body.




> Maybe if LI->getLoopFor(LoopVectorBody == LI->getLoopFor(InsertBB) works, that may be better? It looks like LI is kept uptodate as blocks get split.

We are mainly want to avoid using LoopVectorBody as insert point for blocks not dominated by t. The new blocks will be unreachable initially and dominated by everything, so it should work fine.

That being said, LI is updated directly as you mentioned, so it is probably better to just use LI. Updated the patch, thanks!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83288

Files:
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83288.276435.patch
Type: text/x-patch
Size: 8223 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200708/2fff2c6e/attachment-0001.bin>


More information about the llvm-commits mailing list