Lines Matching refs:BF

125 void GreedyClusterAlgorithm::clusterBasicBlocks(const BinaryFunction &BF,  in clusterBasicBlocks()  argument
139 ClusterEdges.resize(BF.getLayout().block_size()); in clusterBasicBlocks()
142 for (BinaryBasicBlock *BB : BF.getLayout().blocks()) { in clusterBasicBlocks()
159 initQueue(Queue, BF); in clusterBasicBlocks()
172 if (SrcBB == DstBB || DstBB == *BF.getLayout().block_begin()) { in clusterBasicBlocks()
210 adjustQueue(Queue, BF); in clusterBasicBlocks()
231 const BinaryFunction &BF) { in initQueue() argument
233 auto Comp = [&BF](const EdgeTy &A, const EdgeTy &B) { in initQueue()
238 const signed SrcOrder = BF.getOriginalLayoutRelativeOrder(A.Src, B.Src); in initQueue()
241 : BF.getOriginalLayoutRelativeOrder(A.Dst, B.Dst) > 0; in initQueue()
251 const BinaryFunction &BF) { in adjustQueue() argument
263 const EdgeTy &E, const BinaryFunction &BF) const { in calculateWeight()
279 if (SuccBB != SrcBB && SuccBB != *BF.getLayout().block_begin() && in calculateWeight()
310 const BinaryFunction &BF) { in initQueue() argument
313 Weight.emplace(std::make_pair(E, calculateWeight(E, BF))); in initQueue()
316 adjustQueue(Queue, BF); in initQueue()
320 const BinaryFunction &BF) { in adjustQueue() argument
327 const signed SrcOrder = BF.getOriginalLayoutRelativeOrder(A.Src, B.Src); in adjustQueue()
330 : BF.getOriginalLayoutRelativeOrder(A.Dst, B.Dst) > 0; in adjustQueue()
344 if (SrcBB == DstBB || DstBB == *BF.getLayout().block_begin()) { in adjustQueue()
402 void TSPReorderAlgorithm::reorderBasicBlocks(const BinaryFunction &BF, in reorderBasicBlocks() argument
407 const size_t N = BF.getLayout().block_size(); in reorderBasicBlocks()
412 for (BinaryBasicBlock *BB : BF.getLayout().blocks()) { in reorderBasicBlocks()
417 for (BinaryBasicBlock *BB : BF.getLayout().blocks()) { in reorderBasicBlocks()
499 for (BinaryBasicBlock *BB : BF.getLayout().blocks()) in reorderBasicBlocks()
505 const BinaryFunction &BF, BasicBlockOrder &Order) const { in reorderBasicBlocks() argument
506 if (BF.getLayout().block_empty()) in reorderBasicBlocks()
510 CAlgo->clusterBasicBlocks(BF); in reorderBasicBlocks()
521 const BinaryFunction &BF, BasicBlockOrder &Order) const { in reorderBasicBlocks() argument
522 if (BF.getLayout().block_empty()) in reorderBasicBlocks()
526 CAlgo->clusterBasicBlocks(BF, /* ComputeEdges = */ true); in reorderBasicBlocks()
532 CAlgo->computeClusterAverageFrequency(BF.getBinaryContext()); in reorderBasicBlocks()
626 const BinaryFunction &BF, BasicBlockOrder &Order) const { in reorderBasicBlocks() argument
627 if (BF.getLayout().block_empty()) in reorderBasicBlocks()
632 (*BF.getLayout().block_begin())->getExecutionCount() / 1000; in reorderBasicBlocks()
635 CAlgo->clusterBasicBlocks(BF); in reorderBasicBlocks()
639 CAlgo->computeClusterAverageFrequency(BF.getBinaryContext()); in reorderBasicBlocks()
679 void ReverseReorderAlgorithm::reorderBasicBlocks(const BinaryFunction &BF, in reorderBasicBlocks() argument
681 if (BF.getLayout().block_empty()) in reorderBasicBlocks()
684 BinaryBasicBlock *FirstBB = *BF.getLayout().block_begin(); in reorderBasicBlocks()
686 for (auto RLI = BF.getLayout().block_rbegin(); *RLI != FirstBB; ++RLI) in reorderBasicBlocks()
691 const BinaryFunction &BF, BasicBlockOrder &Order) const { in reorderBasicBlocks() argument
692 if (BF.getLayout().block_empty()) in reorderBasicBlocks()
696 CAlgo->clusterBasicBlocks(BF); in reorderBasicBlocks()