Lines Matching refs:Comparisons
387 static inline void enqueueBlock(std::vector<BCECmpBlock> &Comparisons, in enqueueBlock() argument
396 Comparison.OrigOrder = Comparisons.size(); in enqueueBlock()
397 Comparisons.push_back(std::move(Comparison)); in enqueueBlock()
478 std::vector<BCECmpBlock> Comparisons; in BCECmpChain() local
491 if (Comparisons.empty()) { in BCECmpChain()
510 enqueueBlock(Comparisons, std::move(*Comparison)); in BCECmpChain()
543 enqueueBlock(Comparisons, std::move(*Comparison)); in BCECmpChain()
547 if (Comparisons.empty()) { in BCECmpChain()
551 EntryBlock_ = Comparisons[0].BB; in BCECmpChain()
552 MergedBlocks_ = mergeBlocks(std::move(Comparisons)); in BCECmpChain()
564 explicit MergedBlockName(ArrayRef<BCECmpBlock> Comparisons) in MergedBlockName() argument
565 : Name(makeName(Comparisons)) {} in MergedBlockName()
569 StringRef makeName(ArrayRef<BCECmpBlock> Comparisons) { in makeName() argument
570 assert(!Comparisons.empty() && "no basic block"); in makeName()
572 if (Comparisons.size() == 1) in makeName()
573 return Comparisons[0].BB->getName(); in makeName()
574 const int size = std::accumulate(Comparisons.begin(), Comparisons.end(), 0, in makeName()
585 Scratch.reserve(size + Comparisons.size() - 1); in makeName()
589 append(Comparisons[0].BB->getName()); in makeName()
590 for (int I = 1, E = Comparisons.size(); I < E; ++I) { in makeName()
591 const BasicBlock *const BB = Comparisons[I].BB; in makeName()
603 static BasicBlock *mergeComparisons(ArrayRef<BCECmpBlock> Comparisons, in mergeComparisons() argument
608 assert(!Comparisons.empty() && "merging zero comparisons"); in mergeComparisons()
610 const BCECmpBlock &FirstCmp = Comparisons[0]; in mergeComparisons()
614 BasicBlock::Create(Context, MergedBlockName(Comparisons).Name, in mergeComparisons()
629 LLVM_DEBUG(dbgs() << "Merging " << Comparisons.size() << " comparisons -> " in mergeComparisons()
636 Comparisons, [](const BCECmpBlock &B) { return B.RequireSplit; }); in mergeComparisons()
637 if (ToSplit != Comparisons.end()) { in mergeComparisons()
642 if (Comparisons.size() == 1) { in mergeComparisons()
653 Comparisons.begin(), Comparisons.end(), 0u, in mergeComparisons()