Home
last modified time | relevance | path

Searched refs:VPBlockUtils (Results 1 – 11 of 11) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanConstruction.cpp405 VPBlockUtils::disconnectBlocks(PreheaderVPBB, HeaderVPB); in createLoopRegion()
406 VPBlockUtils::disconnectBlocks(LatchVPBB, HeaderVPB); in createLoopRegion()
415 VPBlockUtils::insertOnEdge(LatchVPBB, LatchExitVPB, R); in createLoopRegion()
416 VPBlockUtils::disconnectBlocks(LatchVPBB, R); in createLoopRegion()
417 VPBlockUtils::connectBlocks(PreheaderVPBB, R); in createLoopRegion()
470 VPBlockUtils::insertBlockAfter(VecPreheader, Plan.getEntry()); in prepareForVectorization()
479 VPBlockUtils::insertOnEdge(LatchVPB, LatchExitVPB, MiddleVPBB); in prepareForVectorization()
481 VPBlockUtils::connectBlocks(LatchVPB, MiddleVPBB); in prepareForVectorization()
510 VPBlockUtils::disconnectBlocks(Pred, EB); in prepareForVectorization()
530 VPBlockUtils::connectBlocks(ScalarPH, Plan.getScalarHeader()); in prepareForVectorization()
[all …]
H A DVPlanUtils.h107 class VPBlockUtils {
109 VPBlockUtils() = delete;
238 VPBlockUtils::connectBlocks(From, BlockPtr, -1, SuccIdx); in insertOnEdge()
239 VPBlockUtils::connectBlocks(BlockPtr, To, PredIx, -1); in insertOnEdge()
H A DVPlanTransforms.cpp49 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in tryToConvertVPInstructionsToVPRecipes()
130 for (VPRegionBlock *VPR : VPBlockUtils::blocksOnly<VPRegionBlock>(Iter)) { in sinkScalarOperands()
252 for (VPRegionBlock *Region1 : VPBlockUtils::blocksOnly<VPRegionBlock>( in mergeReplicateRegionsIntoSuccessors()
324 VPBlockUtils::disconnectBlocks(Pred, Region1); in mergeReplicateRegionsIntoSuccessors()
325 VPBlockUtils::connectBlocks(Pred, MiddleBasicBlock); in mergeReplicateRegionsIntoSuccessors()
327 VPBlockUtils::disconnectBlocks(Region1, MiddleBasicBlock); in mergeReplicateRegionsIntoSuccessors()
371 VPBlockUtils::insertTwoBlocksAfter(Pred, Exiting, Entry); in createReplicateRegion()
372 VPBlockUtils::connectBlocks(Pred, Exiting); in createReplicateRegion()
379 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in addReplicateRegions()
399 VPBlockUtils::insertOnEdge(CurrentBlock, SplitBlock, Region); in addReplicateRegions()
[all …]
H A DVPlan.cpp210 bool VPBlockUtils::isHeader(const VPBlockBase *VPB, in isHeader()
227 bool VPBlockUtils::isLatch(const VPBlockBase *VPB, in isLatch()
233 VPBlockUtils::isHeader(VPB->getSuccessors()[1], VPDT); in isLatch()
460 if (VPBlockUtils::isHeader(this, State.VPDT)) { in connectToPredecessors()
540 if (VPBlockUtils::isHeader(this, State->VPDT)) { in execute()
583 if (VPBlockUtils::isLatch(this, State->VPDT)) in execute()
614 VPBlockUtils::insertBlockAfter(SplitBlock, this); in splitAt()
910 VPBlockUtils::disconnectBlocks(Preheader, this); in dissolveToCFGLoop()
911 VPBlockUtils::disconnectBlocks(this, Middle); in dissolveToCFGLoop()
916 VPBlockUtils::connectBlocks(Preheader, Header); in dissolveToCFGLoop()
[all …]
H A DVPlanUnroll.cpp131 VPBlockUtils::insertBlockBefore(Copy, InsertPt); in unrollReplicateRegionByUF()
136 zip(VPBlockUtils::blocksOnly<VPBasicBlock>(PartI), in unrollReplicateRegionByUF()
137 VPBlockUtils::blocksOnly<VPBasicBlock>(Part0))) { in unrollReplicateRegionByUF()
407 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in unrollByUF()
500 auto VPBBsOutsideLoopRegion = VPBlockUtils::blocksOnly<VPBasicBlock>( in replicateByVF()
502 auto VPBBsInsideLoopRegion = VPBlockUtils::blocksOnly<VPBasicBlock>( in replicateByVF()
H A DVPlanPredicator.cpp289 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in introduceMasksAndLinearize()
297 VPBlockUtils::disconnectBlocks(VPBB, Succ); in introduceMasksAndLinearize()
299 VPBlockUtils::connectBlocks(PrevVPBB, VPBB); in introduceMasksAndLinearize()
H A DVPlanUtils.cpp134 return VPBlockUtils::isHeader(VPB, VPDT); in getFirstLoopHeader()
H A DVPlanAnalysis.cpp319 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in collectEphemeralRecipesForVPlan()
441 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(RPOT)) { in calculateRegisterUsageForPlan()
H A DVPlanVerifier.cpp76 bool IsHeaderVPBB = VPBlockUtils::isHeader(VPBB, VPDT); in verifyPhiRecipes()
H A DLoopVectorize.cpp2306 VPBlockUtils::insertOnEdge(PreVectorPH, VectorPHVPB, CheckVPIRBB); in introduceCheckBlockInVPlan()
2308 VPBlockUtils::connectBlocks(PreVectorPH, ScalarPH); in introduceCheckBlockInVPlan()
2421 VPBlockUtils::reassociateBlocks(VPBB, IRVPBB); in replaceVPBBWithIRVPBB()
2702 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in fixNonInductionPHIs()
4025 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in emitInvalidCostRemarks()
4135 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in willGenerateVectors()
4224 return any_of(VPBlockUtils::blocksOnly<VPRegionBlock>(vp_depth_first_shallow( in hasReplicatorRegion()
4280 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( in selectVectorizationFactor()
6917 for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(Iter)) { in planContainsAdditionalSimplifications()
7608 VPBlockUtils::reassociateBlocks(OldEntry, NewEntry); in emitMinimumVectorEpilogueIterCountCheck()
[all …]
H A DVPlan.h82 friend class VPBlockUtils; variable
393 friend class VPBlockUtils; variable