Lines Matching refs:BI
110 for (const BranchInfo &BI : Data) { in getNumExecutedBranches() local
111 int64_t BranchCount = BI.Branches; in getNumExecutedBranches()
163 BranchInfo &BI = Data[Iter->second]; in bumpBranchCount() local
164 BI.Branches += Count; in bumpBranchCount()
165 BI.Mispreds += Mispreds; in bumpBranchCount()
176 BranchInfo &BI = Data[Iter->second]; in bumpCallCount() local
177 BI.Branches += Count; in bumpCallCount()
178 BI.Mispreds += Mispreds; in bumpCallCount()
190 BranchInfo &BI = EntryData[Iter->second]; in bumpEntryCount() local
191 BI.Branches += Count; in bumpEntryCount()
192 BI.Mispreds += Mispreds; in bumpEntryCount()
195 void BranchInfo::mergeWith(const BranchInfo &BI) { in mergeWith() argument
196 Branches += BI.Branches; in mergeWith()
197 Mispreds += BI.Mispreds; in mergeWith()
221 bool operator()(const BranchInfo &BI, const uint64_t Val) const { in getDirectCallBranch()
222 return BI.From.Offset < Val; in getDirectCallBranch()
224 bool operator()(const uint64_t Val, const BranchInfo &BI) const { in getDirectCallBranch()
225 return Val < BI.From.Offset; in getDirectCallBranch()
385 for (const BranchInfo &BI : FBD->EntryData) { in readProfile() local
386 BinaryBasicBlock *BB = BF.getBasicBlockAtOffset(BI.To.Offset); in readProfile()
391 BB->setExecutionCount(Count + BI.Branches); in readProfile()
395 for (const BranchInfo &BI : FBD->Data) { in readProfile() local
396 if (BI.From.Name != BI.To.Name) in readProfile()
399 if (!recordBranch(BF, BI.From.Offset, BI.To.Offset, BI.Branches, in readProfile()
400 BI.Mispreds)) { in readProfile()
401 LLVM_DEBUG(dbgs() << "bad branch : " << BI.From.Offset << " -> " in readProfile()
402 << BI.To.Offset << '\n'); in readProfile()
520 for (const BranchInfo &BI : BranchData.Data) { in evaluateProfileData() local
522 if (BI.From.Name == BI.To.Name) { in evaluateProfileData()
524 IsValid = recordBranch(BF, BI.From.Offset, BI.To.Offset, 0); in evaluateProfileData()
536 MCInst *Instr = BF.getInstructionAtOffset(BI.From.Offset); in evaluateProfileData()
539 Instr = BF.getInstructionAtOffset(BI.From.Offset + 1); in evaluateProfileData()
551 << Twine::utohexstr(BI.From.Offset) << " -> "; in evaluateProfileData()
552 if (BI.From.Name == BI.To.Name) dbgs() in evaluateProfileData()
553 << "0x" << Twine::utohexstr(BI.To.Offset) << '\n'; in evaluateProfileData()
634 for (BranchInfo &BI : FBD->Data) { in convertBranchData()
636 if (BI.To.IsSymbol && BI.To.Name == BI.From.Name && BI.To.Offset != 0) in convertBranchData()
639 MCInst *Instr = BF.getInstructionAtOffset(BI.From.Offset); in convertBranchData()
647 << Twine::utohexstr(BI.From.Offset) << " in function " << BF in convertBranchData()
658 if (BI.To.IsSymbol) { in convertBranchData()
659 if (BinaryData *BD = BC.getBinaryDataByName(BI.To.Name)) in convertBranchData()
662 CSP.emplace_back(CalleeSymbol, BI.Branches, BI.Mispreds); in convertBranchData()
664 setOrUpdateAnnotation("CTCTakenCount", BI.Branches); in convertBranchData()
665 setOrUpdateAnnotation("CTCMispredCount", BI.Mispreds); in convertBranchData()
667 setOrUpdateAnnotation("Count", BI.Branches); in convertBranchData()
803 BinaryBasicBlock::BinaryBranchInfo &BI = FromBB->getBranchInfo(*ToBB); in recordBranch() local
804 BI.Count += Count; in recordBranch()
807 BI.MispredictedCount += Mispreds; in recordBranch()
1206 BranchInfo BI = Res.get(); in parse() local
1209 if (!BI.From.IsSymbol && !BI.To.IsSymbol) in parse()
1212 StringMapIterator<FuncBranchData> I = GetOrCreateFuncEntry(BI.From.Name); in parse()
1213 I->getValue().Data.emplace_back(std::move(BI)); in parse()
1217 if (BI.To.IsSymbol && in parse()
1218 (!BI.From.Name.equals(BI.To.Name) || BI.To.Offset == 0)) { in parse()
1219 I = GetOrCreateFuncEntry(BI.To.Name); in parse()
1220 I->getValue().EntryData.emplace_back(std::move(BI)); in parse()
1226 if (BI.To.IsSymbol && BI.To.Offset == 0) { in parse()
1227 I = GetOrCreateFuncEntry(BI.To.Name); in parse()
1228 I->getValue().ExecutionCount += BI.Branches; in parse()
1395 for (const BranchInfo &BI : Func.getValue().Data) in dump() local
1396 Diag << BI.From.Name << " " << BI.From.Offset << " " << BI.To.Name << " " in dump()
1397 << BI.To.Offset << " " << BI.Mispreds << " " << BI.Branches << "\n"; in dump()
1399 for (const BranchInfo &BI : Func.getValue().EntryData) in dump() local
1400 Diag << BI.From.Name << " " << BI.From.Offset << " " << BI.To.Name << " " in dump()
1401 << BI.To.Offset << " " << BI.Mispreds << " " << BI.Branches << "\n"; in dump()