Lines Matching refs:BF
46 void StokeInfo::checkInstr(const BinaryFunction &BF, StokeFuncInfo &FuncInfo) { in checkInstr() argument
47 MCPlusBuilder *MIB = BF.getBinaryContext().MIB.get(); in checkInstr()
49 for (BinaryBasicBlock *BB : BF.getLayout().blocks()) { in checkInstr()
87 bool StokeInfo::checkFunction(BinaryFunction &BF, DataflowInfoManager &DInfo, in checkFunction() argument
90 std::string Name = BF.getSymbol()->getName().str(); in checkFunction()
92 if (!BF.isSimple() || BF.isMultiEntry() || BF.empty()) in checkFunction()
97 FuncInfo.Offset = BF.getFileOffset(); in checkFunction()
98 FuncInfo.Size = BF.getMaxSize(); in checkFunction()
99 FuncInfo.NumInstrs = BF.getNumNonPseudos(); in checkFunction()
100 FuncInfo.NumBlocks = BF.size(); in checkFunction()
105 FuncInfo.IsLoopFree = BF.isLoopFree(); in checkFunction()
107 const BinaryLoopInfo &BLI = BF.getLoopInfo(); in checkFunction()
112 FuncInfo.HotSize = BF.estimateHotSize(); in checkFunction()
113 FuncInfo.TotalSize = BF.estimateSize(); in checkFunction()
114 FuncInfo.Score = BF.getFunctionScore(); in checkFunction()
116 checkInstr(BF, FuncInfo); in checkFunction()
119 BinaryBasicBlock &EntryBB = BF.front(); in checkFunction()
130 getRegNameFromBitVec(BF.getBinaryContext(), LiveInBV, &FuncInfo.DefIn); in checkFunction()
133 BitVector LiveOutBV = RA.getFunctionClobberList(&BF); in checkFunction()
135 getRegNameFromBitVec(BF.getBinaryContext(), LiveOutBV, &FuncInfo.LiveOut); in checkFunction()
175 for (auto &BF : BC.getBinaryFunctions()) { in runOnFunctions() local
176 DataflowInfoManager DInfo(BF.second, &RA, nullptr); in runOnFunctions()
178 if (checkFunction(BF.second, DInfo, RA, FuncInfo)) in runOnFunctions()