@@ -319,8 +319,7 @@ void VPBasicBlock::execute(VPTransformState *State) {
319
319
UnreachableInst *Terminator = State->Builder .CreateUnreachable ();
320
320
State->Builder .SetInsertPoint (Terminator);
321
321
// Register NewBB in its loop. In innermost loops its the same for all BB's.
322
- Loop *L = State->LI ->getLoopFor (State->CFG .PrevBB );
323
- L->addBasicBlockToLoop (NewBB, *State->LI );
322
+ State->CurrentVectorLoop ->addBasicBlockToLoop (NewBB, *State->LI );
324
323
State->CFG .PrevBB = NewBB;
325
324
}
326
325
@@ -909,6 +908,7 @@ void VPlan::execute(VPTransformState *State) {
909
908
assert (VectorHeaderBB && " Loop preheader does not have a single successor." );
910
909
911
910
Loop *L = State->LI ->getLoopFor (VectorHeaderBB);
911
+ State->CurrentVectorLoop = L;
912
912
State->CFG .ExitBB = L->getExitBlock ();
913
913
914
914
// Remove the edge between Header and Latch to allow other connections.
@@ -1543,7 +1543,7 @@ void VPReductionPHIRecipe::execute(VPTransformState &State) {
1543
1543
ScalarPHI ? PN->getType () : VectorType::get (PN->getType (), State.VF );
1544
1544
1545
1545
BasicBlock *HeaderBB = State.CFG .PrevBB ;
1546
- assert (State.LI -> getLoopFor (HeaderBB) ->getHeader () == HeaderBB &&
1546
+ assert (State.CurrentVectorLoop ->getHeader () == HeaderBB &&
1547
1547
" recipe must be in the vector loop header" );
1548
1548
unsigned LastPartForNewPhi = isOrdered () ? 1 : State.UF ;
1549
1549
for (unsigned Part = 0 ; Part < LastPartForNewPhi; ++Part) {
0 commit comments