Lines Matching refs:Region

241 static InstructionCost getOutliningBenefit(ArrayRef<BasicBlock *> Region,  in getOutliningBenefit()  argument
246 for (BasicBlock *BB : Region) in getOutliningBenefit()
256 static int getOutliningPenalty(ArrayRef<BasicBlock *> Region, in getOutliningPenalty() argument
270 for (BasicBlock *BB : Region) { in getOutliningPenalty()
279 if (!is_contained(Region, SuccBB)) { in getOutliningPenalty()
297 if (find(Region, PN.getIncomingBlock(i)) != Region.end()) { in getOutliningPenalty()
330 LLVM_DEBUG(dbgs() << "Applying bonus for: " << Region.size() in getOutliningPenalty()
332 Penalty -= Region.size(); in getOutliningPenalty()
347 const BlockSequence &Region, const CodeExtractorAnalysisCache &CEAC, in extractColdRegion() argument
350 assert(!Region.empty()); in extractColdRegion()
353 CodeExtractor CE(Region, &DT, /* AggregateArgs */ false, /* BFI */ nullptr, in extractColdRegion()
362 InstructionCost OutliningBenefit = getOutliningBenefit(Region, TTI); in extractColdRegion()
364 getOutliningPenalty(Region, Inputs.size(), Outputs.size()); in extractColdRegion()
370 Function *OrigF = Region[0]->getParent(); in extractColdRegion()
393 &*Region[0]->begin()) in extractColdRegion()
402 &*Region[0]->begin()) in extractColdRegion()
404 << ore::NV("Block", Region.front()); in extractColdRegion()
644 for (OutliningRegion &Region : Regions) { in outlineColdRegions()
645 if (Region.empty()) in outlineColdRegions()
648 if (Region.isEntireFunctionCold()) { in outlineColdRegions()
658 bool RegionsOverlap = any_of(Region.blocks(), [&](const BlockTy &Block) { in outlineColdRegions()
664 OutliningWorklist.emplace_back(std::move(Region)); in outlineColdRegions()
677 OutliningRegion Region = OutliningWorklist.pop_back_val(); in outlineColdRegions() local
678 assert(!Region.empty() && "Empty outlining region in worklist"); in outlineColdRegions()
680 BlockSequence SubRegion = Region.takeSingleEntrySubRegion(*DT); in outlineColdRegions()
693 } while (!Region.empty()); in outlineColdRegions()