[PATCH] D32040: [LV] Remove implicit single basic block assumption
Gil Rapaport via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 14 00:43:11 PDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL300310: [LV] Remove implicit single basic block assumption (authored by gilr).
Changed prior to commit:
https://reviews.llvm.org/D32040?vs=95275&id=95277#toc
Repository:
rL LLVM
https://reviews.llvm.org/D32040
Files:
llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
Index: llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
===================================================================
--- llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -4200,7 +4200,7 @@
cast<PHINode>(VecRdxPhi[part])
->addIncoming(StartVal, LoopVectorPreHeader);
cast<PHINode>(VecRdxPhi[part])
- ->addIncoming(Val[part], LoopVectorBody);
+ ->addIncoming(Val[part], LI->getLoopFor(LoopVectorBody)->getLoopLatch());
}
// Before each round, move the insertion point right between
@@ -5059,11 +5059,10 @@
assert(DT->properlyDominates(LoopBypassBlocks.front(), LoopExitBlock) &&
"Entry does not dominate exit.");
- // We don't predicate stores by this point, so the vector body should be a
- // single loop.
- DT->addNewBlock(LoopVectorBody, LoopVectorPreHeader);
-
- DT->addNewBlock(LoopMiddleBlock, LoopVectorBody);
+ DT->addNewBlock(LI->getLoopFor(LoopVectorBody)->getHeader(),
+ LoopVectorPreHeader);
+ DT->addNewBlock(LoopMiddleBlock,
+ LI->getLoopFor(LoopVectorBody)->getLoopLatch());
DT->addNewBlock(LoopScalarPreHeader, LoopBypassBlocks[0]);
DT->changeImmediateDominator(LoopScalarBody, LoopScalarPreHeader);
DT->changeImmediateDominator(LoopExitBlock, LoopBypassBlocks[0]);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32040.95277.patch
Type: text/x-patch
Size: 1358 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170414/b9320a7a/attachment.bin>
More information about the llvm-commits
mailing list