Lines Matching refs:SrcBlock

762       auto SrcBlock = &Func.Blocks[I];  in rebalanceUnknownSubgraphs()  local
764 if (!canRebalanceAtRoot(SrcBlock)) in rebalanceUnknownSubgraphs()
771 findUnknownSubgraph(SrcBlock, KnownDstBlocks, UnknownBlocks); in rebalanceUnknownSubgraphs()
776 if (!canRebalanceSubgraph(SrcBlock, KnownDstBlocks, UnknownBlocks, in rebalanceUnknownSubgraphs()
781 if (!isAcyclicSubgraph(SrcBlock, DstBlock, UnknownBlocks)) in rebalanceUnknownSubgraphs()
785 rebalanceUnknownSubgraph(SrcBlock, DstBlock, UnknownBlocks); in rebalanceUnknownSubgraphs()
790 bool canRebalanceAtRoot(const FlowBlock *SrcBlock) { in canRebalanceAtRoot() argument
793 if (SrcBlock->UnknownWeight || SrcBlock->Flow == 0) in canRebalanceAtRoot()
798 for (auto Jump : SrcBlock->SuccJumps) { in canRebalanceAtRoot()
812 void findUnknownSubgraph(const FlowBlock *SrcBlock, in findUnknownSubgraph() argument
820 Queue.push(SrcBlock->Index); in findUnknownSubgraph()
821 Visited[SrcBlock->Index] = true; in findUnknownSubgraph()
828 if (ignoreJump(SrcBlock, nullptr, Jump)) in findUnknownSubgraph()
849 bool canRebalanceSubgraph(const FlowBlock *SrcBlock, in canRebalanceSubgraph() argument
872 if (ignoreJump(SrcBlock, DstBlock, Jump)) in canRebalanceSubgraph()
886 bool ignoreJump(const FlowBlock *SrcBlock, const FlowBlock *DstBlock, in ignoreJump() argument
900 if (!JumpTarget->UnknownWeight && JumpSource == SrcBlock) in ignoreJump()
912 bool isAcyclicSubgraph(const FlowBlock *SrcBlock, const FlowBlock *DstBlock, in isAcyclicSubgraph() argument
918 if (ignoreJump(SrcBlock, DstBlock, Jump)) in isAcyclicSubgraph()
923 fillInDegree(SrcBlock); in isAcyclicSubgraph()
928 if (LocalInDegree[SrcBlock->Index] > 0) in isAcyclicSubgraph()
933 Queue.push(SrcBlock->Index); in isAcyclicSubgraph()
942 if (Block->UnknownWeight && Block != SrcBlock) in isAcyclicSubgraph()
947 if (ignoreJump(SrcBlock, DstBlock, Jump)) in isAcyclicSubgraph()
967 void rebalanceUnknownSubgraph(const FlowBlock *SrcBlock, in rebalanceUnknownSubgraph() argument
970 assert(SrcBlock->Flow > 0 && "zero-flow block in unknown subgraph"); in rebalanceUnknownSubgraph()
975 for (auto Jump : SrcBlock->SuccJumps) { in rebalanceUnknownSubgraph()
976 if (ignoreJump(SrcBlock, DstBlock, Jump)) in rebalanceUnknownSubgraph()
980 rebalanceBlock(SrcBlock, DstBlock, SrcBlock, BlockFlow); in rebalanceUnknownSubgraph()
991 rebalanceBlock(SrcBlock, DstBlock, Block, BlockFlow); in rebalanceUnknownSubgraph()
997 void rebalanceBlock(const FlowBlock *SrcBlock, const FlowBlock *DstBlock, in rebalanceBlock() argument
1002 if (ignoreJump(SrcBlock, DstBlock, Jump)) in rebalanceBlock()
1015 if (ignoreJump(SrcBlock, DstBlock, Jump)) in rebalanceBlock()