Lines Matching refs:Block

626       auto &Block = Func.Blocks[I];  in joinIsolatedComponents()  local
627 if (Block.Flow > 0 && !Visited[I]) { in joinIsolatedComponents()
834 auto &Block = Func.Blocks[Queue.front()]; in findUnknownSubgraph() local
837 for (auto *Jump : Block.SuccJumps) { in findUnknownSubgraph()
874 for (auto *Block : UnknownBlocks) { in canRebalanceSubgraph() local
875 if (Block->SuccJumps.empty()) { in canRebalanceSubgraph()
882 for (auto *Jump : Block->SuccJumps) { in canRebalanceSubgraph()
888 if (NumIgnoredJumps == Block->SuccJumps.size()) in canRebalanceSubgraph()
927 auto fillInDegree = [&](const FlowBlock *Block) { in isAcyclicSubgraph() argument
928 for (auto *Jump : Block->SuccJumps) { in isAcyclicSubgraph()
935 for (auto *Block : UnknownBlocks) { in isAcyclicSubgraph() local
936 fillInDegree(Block); in isAcyclicSubgraph()
946 FlowBlock *Block = &Func.Blocks[Queue.front()]; in isAcyclicSubgraph() local
949 if (DstBlock != nullptr && Block == DstBlock) in isAcyclicSubgraph()
953 if (Block->HasUnknownWeight && Block != SrcBlock) in isAcyclicSubgraph()
954 AcyclicOrder.push_back(Block); in isAcyclicSubgraph()
957 for (auto *Jump : Block->SuccJumps) { in isAcyclicSubgraph()
994 for (auto *Block : UnknownBlocks) { in rebalanceUnknownSubgraph() local
995 assert(Block->HasUnknownWeight && "incorrect unknown subgraph"); in rebalanceUnknownSubgraph()
998 for (auto *Jump : Block->PredJumps) { in rebalanceUnknownSubgraph()
1001 Block->Flow = BlockFlow; in rebalanceUnknownSubgraph()
1002 rebalanceBlock(SrcBlock, DstBlock, Block, BlockFlow); in rebalanceUnknownSubgraph()
1009 const FlowBlock *Block, uint64_t BlockFlow) { in rebalanceBlock() argument
1012 for (auto *Jump : Block->SuccJumps) { in rebalanceBlock()
1025 for (auto *Jump : Block->SuccJumps) { in rebalanceBlock()
1047 const FlowBlock &Block);
1076 auto &Block = Func.Blocks[B]; in initializeNetwork() local
1084 if (Block.isEntry()) { in initializeNetwork()
1086 } else if (Block.isExit()) { in initializeNetwork()
1091 auto [AuxCostInc, AuxCostDec] = assignBlockCosts(Params, Block); in initializeNetwork()
1095 if (Block.Weight > 0) { in initializeNetwork()
1096 Network.addEdge(Bout, Bin, Block.Weight, AuxCostDec); in initializeNetwork()
1097 Network.addEdge(S1, Bout, Block.Weight, 0); in initializeNetwork()
1098 Network.addEdge(Bin, T1, Block.Weight, 0); in initializeNetwork()
1128 const FlowBlock &Block) { in assignBlockCosts() argument
1130 if (Block.IsUnlikely) in assignBlockCosts()
1137 if (Block.HasUnknownWeight) { in assignBlockCosts()
1143 if (Block.Weight == 0) in assignBlockCosts()
1146 if (Block.isEntry()) { in assignBlockCosts()
1214 auto &Block = Func.Blocks[B]; in extractWeights() local
1215 Block.Flow = std::max(OutFlow[B], InFlow[B]); in extractWeights()
1233 for (auto &Block : Func.Blocks) { in verifyInput() local
1235 for (auto &Jump : Block.SuccJumps) { in verifyInput()
1241 for (auto &Block : Func.Blocks) { in verifyInput() local
1242 assert((!Block.isEntry() || !Block.isExit()) && in verifyInput()
1246 for (auto &Block : Func.Blocks) { in verifyInput() local
1247 assert((!Block.HasUnknownWeight || Block.Weight == 0 || Block.isEntry()) && in verifyInput()
1270 auto &Block = Func.Blocks[I]; in verifyOutput() local
1271 if (Block.isEntry()) { in verifyOutput()
1272 TotalInFlow += Block.Flow; in verifyOutput()
1273 assert(Block.Flow == OutFlow[I] && "incorrectly computed control flow"); in verifyOutput()
1274 } else if (Block.isExit()) { in verifyOutput()
1275 TotalOutFlow += Block.Flow; in verifyOutput()
1276 assert(Block.Flow == InFlow[I] && "incorrectly computed control flow"); in verifyOutput()
1278 assert(Block.Flow == OutFlow[I] && "incorrectly computed control flow"); in verifyOutput()
1279 assert(Block.Flow == InFlow[I] && "incorrectly computed control flow"); in verifyOutput()
1313 auto &Block = Func.Blocks[I]; in verifyOutput() local
1314 assert((Visited[I] || Block.Flow == 0) && "an isolated flow component"); in verifyOutput()
1326 for (FlowBlock &Block : Func.Blocks) { in applyFlowInference()
1327 if (Block.Weight > 0) in applyFlowInference()
1329 Block.Flow = Block.Weight; in applyFlowInference()