]> granicus.if.org Git - llvm/commit
[LV] Remove implicit single basic block assumption
authorGil Rapaport <gil.rapaport@intel.com>
Fri, 14 Apr 2017 07:30:23 +0000 (07:30 +0000)
committerGil Rapaport <gil.rapaport@intel.com>
Fri, 14 Apr 2017 07:30:23 +0000 (07:30 +0000)
commite92557c9308c91668b3afad5bd526bfd54c501a4
tree1278b618e2006bf566fb54e34eb09516382ddd59
parent3557926315cee46b72d39acc44efd65e89b9f4e7
[LV] Remove implicit single basic block assumption

This patch is part of D28975's breakdown - no change in output intended.

LV's code currently assumes the vectorized loop is a single basic block up
until predicateInstructions() is called. This patch removes two manifestations
of this assumption (loop phi incoming values, dominator tree update) by
replacing the use of vectorLoopBody with the vectorized loop's latch/header.

Differential Revision: https://reviews.llvm.org/D32040

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300310 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp