Lines Matching refs:Region

270 static InstructionCost getOutliningBenefit(ArrayRef<BasicBlock *> Region,  in getOutliningBenefit()  argument
275 for (BasicBlock *BB : Region) in getOutliningBenefit()
285 static int getOutliningPenalty(ArrayRef<BasicBlock *> Region, in getOutliningPenalty() argument
299 for (BasicBlock *BB : Region) { in getOutliningPenalty()
308 if (!is_contained(Region, SuccBB)) { in getOutliningPenalty()
326 if (llvm::is_contained(Region, PN.getIncomingBlock(i))) { in getOutliningPenalty()
359 LLVM_DEBUG(dbgs() << "Applying bonus for: " << Region.size() in getOutliningPenalty()
361 Penalty -= Region.size(); in getOutliningPenalty()
376 const BlockSequence &Region, const CodeExtractorAnalysisCache &CEAC, in extractColdRegion() argument
379 assert(!Region.empty()); in extractColdRegion()
382 CodeExtractor CE(Region, &DT, /* AggregateArgs */ false, /* BFI */ nullptr, in extractColdRegion()
391 InstructionCost OutliningBenefit = getOutliningBenefit(Region, TTI); in extractColdRegion()
393 getOutliningPenalty(Region, Inputs.size(), Outputs.size()); in extractColdRegion()
399 Function *OrigF = Region[0]->getParent(); in extractColdRegion()
422 &*Region[0]->begin()) in extractColdRegion()
431 &*Region[0]->begin()) in extractColdRegion()
433 << ore::NV("Block", Region.front()); in extractColdRegion()
675 for (OutliningRegion &Region : Regions) { in outlineColdRegions()
676 if (Region.empty()) in outlineColdRegions()
679 if (Region.isEntireFunctionCold()) { in outlineColdRegions()
689 bool RegionsOverlap = any_of(Region.blocks(), [&](const BlockTy &Block) { in outlineColdRegions()
695 OutliningWorklist.emplace_back(std::move(Region)); in outlineColdRegions()
708 OutliningRegion Region = OutliningWorklist.pop_back_val(); in outlineColdRegions() local
709 assert(!Region.empty() && "Empty outlining region in worklist"); in outlineColdRegions()
711 BlockSequence SubRegion = Region.takeSingleEntrySubRegion(*DT); in outlineColdRegions()
724 } while (!Region.empty()); in outlineColdRegions()