Lines Matching refs:BinaryFunction
88 bool isHotTextMover(const BinaryFunction &Function) { in isHotTextMover()
243 bool BinaryFunctionPass::shouldOptimize(const BinaryFunction &BF) const { in shouldOptimize()
244 return BF.isSimple() && BF.getState() == BinaryFunction::State::CFG && in shouldOptimize()
248 bool BinaryFunctionPass::shouldPrint(const BinaryFunction &BF) const { in shouldPrint()
252 void NormalizeCFG::runOnFunction(BinaryFunction &BF) { in runOnFunction()
324 [&](BinaryFunction &BF) { runOnFunction(BF); }, in runOnFunctions()
325 [&](const BinaryFunction &BF) { return !shouldOptimize(BF); }, in runOnFunctions()
336 void EliminateUnreachableBlocks::runOnFunction(BinaryFunction &Function) { in runOnFunction()
365 BinaryFunction &Function = It.second; in runOnFunctions()
374 bool ReorderBasicBlocks::shouldPrint(const BinaryFunction &BF) const { in shouldPrint()
379 bool ReorderBasicBlocks::shouldOptimize(const BinaryFunction &BF) const { in shouldOptimize()
393 ParallelUtilities::WorkFuncTy WorkFun = [&](BinaryFunction &BF) { in runOnFunctions()
399 ParallelUtilities::PredicateTy SkipFunc = [&](const BinaryFunction &BF) { in runOnFunctions()
415 std::map<uint64_t, BinaryFunction &> ScoreMap; in runOnFunctions()
418 ScoreMap.insert(std::pair<uint64_t, BinaryFunction &>( in runOnFunctions()
429 for (std::map<uint64_t, BinaryFunction &>::reverse_iterator Rit = in runOnFunctions()
432 BinaryFunction &Function = Rit->second; in runOnFunctions()
447 void ReorderBasicBlocks::modifyFunctionLayout(BinaryFunction &BF, in modifyFunctionLayout()
453 BinaryFunction::BasicBlockOrderType NewLayout; in modifyFunctionLayout()
508 BinaryFunction &Function = It.second; in runOnFunctions()
517 ParallelUtilities::WorkFuncTy WorkFun = [&](BinaryFunction &BF) { in runOnFunctions()
534 ParallelUtilities::PredicateTy SkipPredicate = [&](const BinaryFunction &BF) { in runOnFunctions()
552 ParallelUtilities::WorkFuncTy WorkFun = [&](BinaryFunction &BF) { in runOnFunctions()
560 ParallelUtilities::PredicateTy SkipFunc = [&](const BinaryFunction &BF) { in runOnFunctions()
569 bool CheckLargeFunctions::shouldOptimize(const BinaryFunction &BF) const { in shouldOptimize()
578 BinaryFunction &BF = It.second; in runOnFunctions()
617 for (BinaryFunction *BF : BC.getInjectedBinaryFunctions()) in runOnFunctions()
645 uint64_t fixDoubleJumps(BinaryFunction &Function, bool MarkInvalid) { in fixDoubleJumps()
751 const bool IsForward = BinaryFunction::isForwardBranch(PredBB, BB); in shouldRewriteBranch()
782 uint64_t SimplifyConditionalTailCalls::fixTailCalls(BinaryFunction &BF) { in fixTailCalls()
971 BinaryFunction &Function = It.second; in runOnFunctions()
994 uint64_t ShortenInstructions::shortenInstructions(BinaryFunction &Function) { in shortenInstructions()
1028 [&](BinaryFunction &BF) { NumShortened += shortenInstructions(BF); }, in runOnFunctions()
1034 void Peepholes::addTailcallTraps(BinaryFunction &Function) { in addTailcallTraps()
1048 void Peepholes::removeUselessCondBranches(BinaryFunction &Function) { in removeUselessCondBranches()
1082 BinaryFunction &Function = It.second; in runOnFunctions()
1101 bool SimplifyRODataLoads::simplifyRODataLoads(BinaryFunction &BF) { in simplifyRODataLoads()
1185 BinaryFunction &Function = It.second; in runOnFunctions()
1198 for (BinaryFunction *Function : BC.getInjectedBinaryFunctions()) { in runOnFunctions()
1211 BinaryFunction &Function = BFI.second; in runOnFunctions()
1232 const BinaryFunction *WorstBiasFunc = nullptr; in runOnFunctions()
1238 std::unordered_map<const BinaryFunction *, FlowMapTy> TotalIncomingMaps; in runOnFunctions()
1239 std::unordered_map<const BinaryFunction *, FlowMapTy> TotalOutgoingMaps; in runOnFunctions()
1243 const BinaryFunction &Function = BFI.second; in runOnFunctions()
1292 const BinaryFunction &Function = BFI.second; in runOnFunctions()
1328 std::vector<const BinaryFunction *> ProfiledFunctions; in runOnFunctions()
1331 const BinaryFunction &Function = BFI.second; in runOnFunctions()
1425 [](const BinaryFunction *A, const BinaryFunction *B) { in runOnFunctions()
1439 std::vector<const BinaryFunction *> Functions; in runOnFunctions()
1440 std::map<const BinaryFunction *, DynoStats> Stats; in runOnFunctions()
1443 const BinaryFunction &BF = BFI.second; in runOnFunctions()
1458 [Ascending, &Stats](const BinaryFunction *A, in runOnFunctions()
1459 const BinaryFunction *B) { in runOnFunctions()
1465 Functions, [Ascending, &Stats](const BinaryFunction *A, in runOnFunctions()
1466 const BinaryFunction *B) { in runOnFunctions()
1516 for (const BinaryFunction *Function : BC.TrappedFunctions) in runOnFunctions()
1543 std::vector<const BinaryFunction *> SuboptimalFuncs; in runOnFunctions()
1545 const BinaryFunction &BF = BFI.second; in runOnFunctions()
1566 [](const BinaryFunction *A, const BinaryFunction *B) { in runOnFunctions()
1672 bool SpecializeMemcpy1::shouldOptimize(const BinaryFunction &Function) const { in shouldOptimize()
1686 const BinaryFunction &Function) const { in getCallSitesToOptimize()
1717 BinaryFunction &Function = BFI.second; in runOnFunctions()
1806 void RemoveNops::runOnFunction(BinaryFunction &BF) { in runOnFunction()
1818 ParallelUtilities::WorkFuncTy WorkFun = [&](BinaryFunction &BF) { in runOnFunctions()
1822 ParallelUtilities::PredicateTy SkipFunc = [&](const BinaryFunction &BF) { in runOnFunctions()