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

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 04:51:12 PDT 2020


dmgreen added a comment.

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.



================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:2881
+  // Get a suitable insert point for SCEV expansion. For blocks in the vector
+  // loop, chose the end of the vector loop header (=LoopVectorBody), because
+  // the DomTree is not kept up-to-date for additional blocks generated in the
----------------
*choose


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83288





More information about the llvm-commits mailing list