Lines Matching refs:Region

229 static InstructionCost getOutliningBenefit(ArrayRef<BasicBlock *> Region,  in getOutliningBenefit()  argument
234 for (BasicBlock *BB : Region) in getOutliningBenefit()
244 static int getOutliningPenalty(ArrayRef<BasicBlock *> Region, in getOutliningPenalty() argument
258 for (BasicBlock *BB : Region) { in getOutliningPenalty()
267 if (!is_contained(Region, SuccBB)) { in getOutliningPenalty()
285 if (llvm::is_contained(Region, PN.getIncomingBlock(i))) { in getOutliningPenalty()
318 LLVM_DEBUG(dbgs() << "Applying bonus for: " << Region.size() in getOutliningPenalty()
320 Penalty -= Region.size(); in getOutliningPenalty()
335 const BlockSequence &Region, const CodeExtractorAnalysisCache &CEAC, in extractColdRegion() argument
338 assert(!Region.empty()); in extractColdRegion()
341 CodeExtractor CE(Region, &DT, /* AggregateArgs */ false, /* BFI */ nullptr, in extractColdRegion()
350 InstructionCost OutliningBenefit = getOutliningBenefit(Region, TTI); in extractColdRegion()
352 getOutliningPenalty(Region, Inputs.size(), Outputs.size()); in extractColdRegion()
358 Function *OrigF = Region[0]->getParent(); in extractColdRegion()
381 &*Region[0]->begin()) in extractColdRegion()
390 &*Region[0]->begin()) in extractColdRegion()
392 << ore::NV("Block", Region.front()); in extractColdRegion()
632 for (OutliningRegion &Region : Regions) { in outlineColdRegions()
633 if (Region.empty()) in outlineColdRegions()
636 if (Region.isEntireFunctionCold()) { in outlineColdRegions()
646 bool RegionsOverlap = any_of(Region.blocks(), [&](const BlockTy &Block) { in outlineColdRegions()
652 OutliningWorklist.emplace_back(std::move(Region)); in outlineColdRegions()
665 OutliningRegion Region = OutliningWorklist.pop_back_val(); in outlineColdRegions() local
666 assert(!Region.empty() && "Empty outlining region in worklist"); in outlineColdRegions()
668 BlockSequence SubRegion = Region.takeSingleEntrySubRegion(*DT); in outlineColdRegions()
681 } while (!Region.empty()); in outlineColdRegions()