Lines Matching refs:Plan
6163 erase_if(VPlans, [VF](const VPlanPtr &Plan) { in setBestPlan() argument
6164 return !Plan->hasVF(VF); in setBestPlan()
6319 VPlanPtr &Plan) { in createEdgeMask() argument
6328 VPValue *SrcMask = createBlockInMask(Src, Plan); in createEdgeMask()
6337 VPValue *EdgeMask = Plan->getVPValue(BI->getCondition()); in createEdgeMask()
6349 VPValue *VPRecipeBuilder::createBlockInMask(BasicBlock *BB, VPlanPtr &Plan) { in createBlockInMask() argument
6367 VPValue *IV = Plan->getVPValue(Legal->getPrimaryInduction()); in createBlockInMask()
6368 VPValue *BTC = Plan->getOrCreateBackedgeTakenCount(); in createBlockInMask()
6375 VPValue *EdgeMask = createEdgeMask(Predecessor, BB, Plan); in createBlockInMask()
6392 VPlanPtr &Plan) { in tryToInterleaveMemory() argument
6416 Mask = createBlockInMask(I->getParent(), Plan); in tryToInterleaveMemory()
6423 VPlanPtr &Plan) { in tryToWidenMemory() argument
6447 Mask = createBlockInMask(I->getParent(), Plan); in tryToWidenMemory()
6485 VPBlendRecipe *VPRecipeBuilder::tryToBlend(Instruction *I, VPlanPtr &Plan) { in tryToBlend() argument
6500 createEdgeMask(Phi->getIncomingBlock(In), Phi->getParent(), Plan); in tryToBlend()
6617 VPlanPtr &Plan) { in handleReplication() argument
6646 VPBlockBase *Region = createReplicateRegion(I, Recipe, Plan); in handleReplication()
6655 VPlanPtr &Plan) { in createReplicateRegion() argument
6660 VPValue *BlockInMask = createBlockInMask(Instr->getParent(), Plan); in createReplicateRegion()
6682 VPlanPtr &Plan, VPBasicBlock *VPBB) { in tryToCreateRecipe() argument
6686 if ((Recipe = tryToInterleaveMemory(Instr, Range, Plan))) { in tryToCreateRecipe()
6692 if ((Recipe = tryToWidenMemory(Instr, Range, Plan))) { in tryToCreateRecipe()
6702 if ((Recipe = tryToBlend(Instr, Plan))) { in tryToCreateRecipe()
6773 auto Plan = llvm::make_unique<VPlan>(VPBB); in buildVPlanWithVPRecipes() local
6778 Plan->addVPValue(V); in buildVPlanWithVPRecipes()
6844 if (RecipeBuilder.tryToCreateRecipe(Instr, Range, Plan, VPBB)) in buildVPlanWithVPRecipes()
6850 Instr, Range, VPBB, PredInst2Recipe, Plan); in buildVPlanWithVPRecipes()
6862 VPBasicBlock *PreEntry = cast<VPBasicBlock>(Plan->getEntry()); in buildVPlanWithVPRecipes()
6864 VPBlockBase *Entry = Plan->setEntry(PreEntry->getSingleSuccessor()); in buildVPlanWithVPRecipes()
6871 Plan->addVF(VF); in buildVPlanWithVPRecipes()
6874 Plan->addVF(VF); in buildVPlanWithVPRecipes()
6879 Plan->setName(PlanName); in buildVPlanWithVPRecipes()
6881 return Plan; in buildVPlanWithVPRecipes()
6894 auto Plan = llvm::make_unique<VPlan>(); in buildVPlan() local
6897 VPlanHCFGBuilder HCFGBuilder(OrigLoop, LI, *Plan); in buildVPlan()
6902 Plan, Legal->getInductionVars(), DeadInstructions); in buildVPlan()
6905 Plan->addVF(VF); in buildVPlan()
6907 return Plan; in buildVPlan()