Lines Matching full:blocks

32   // New blocks will be added and layout will change,  in runOnFunction()
99 std::vector<std::pair<BinaryBasicBlock *, unsigned>> Blocks; in runOnFunction() local
100 Blocks.push_back(std::make_pair(FirstEndpoint, FirstCC)); in runOnFunction()
101 Blocks.push_back(std::make_pair(SecondEndpoint, SecondCC)); in runOnFunction()
102 Blocks.push_back(std::make_pair(ThirdEndpoint, ThirdCC)); in runOnFunction()
104 llvm::sort(Blocks, [&](const std::pair<BinaryBasicBlock *, unsigned> A, in runOnFunction()
109 uint64_t NewSecondBranchCount = Blocks[1].first->getExecutionCount() + in runOnFunction()
110 Blocks[0].first->getExecutionCount(); in runOnFunction()
112 NewSecondBranchCount > Blocks[2].first->getExecutionCount(); in runOnFunction()
116 BB->addSuccessor(Blocks[2].first, Blocks[2].first->getExecutionCount()); in runOnFunction()
120 BB->addSuccessor(Blocks[2].first, Blocks[2].first->getExecutionCount()); in runOnFunction()
125 SecondBranch->addSuccessor(Blocks[0].first, in runOnFunction()
126 Blocks[0].first->getExecutionCount()); in runOnFunction()
127 SecondBranch->addSuccessor(Blocks[1].first, in runOnFunction()
128 Blocks[1].first->getExecutionCount()); in runOnFunction()
134 BC.MIB->replaceBranchCondition(*FirstJump, Blocks[2].first->getLabel(), in runOnFunction()
135 Ctx, Blocks[2].second); in runOnFunction()
139 BC.MIB->getInvertedCondCode(Blocks[2].second)); in runOnFunction()
143 BC.MIB->replaceBranchCondition(*SecondJump, Blocks[0].first->getLabel(), in runOnFunction()
144 Ctx, Blocks[0].second); in runOnFunction()