We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 5c8ed3a commit ec22b1aCopy full SHA for ec22b1a
llvm/lib/Transforms/Vectorize/VPlan.cpp
@@ -1033,8 +1033,11 @@ void VPlan::execute(VPTransformState *State) {
1033
State->CFG.DTU.applyUpdates(
1034
{{DominatorTree::Delete, ScalarPh, ScalarPh->getSingleSuccessor()}});
1035
1036
- // Generate code in the loop pre-header and body.
1037
- for (VPBlockBase *Block : vp_depth_first_shallow(Entry))
+ ReversePostOrderTraversal<VPBlockShallowTraversalWrapper<VPBlockBase *>> RPOT(
+ Entry);
1038
+ // Generate code for the VPlan, in parts of the vector skeleton, loop body and
1039
+ // successor blocks including the middle, exit and scalar preheader blocks.
1040
+ for (VPBlockBase *Block : RPOT)
1041
Block->execute(State);
1042
1043
VPBasicBlock *LatchVPBB = getVectorLoopRegion()->getExitingBasicBlock();
0 commit comments