Lines Matching defs:BBInfo
42 // BBInfo contains auxiliary information for each BB. These two classes are used
44 // class of PGOEdge and BBInfo, respectively. They contains extra data structure
504 struct BBInfo {
505 BBInfo *Group;
509 BBInfo(unsigned IX) : Group(this), Index(IX) {}
524 template <class Edge, class BBInfo> class FuncPGOInstrumentation {
549 CFGMST<Edge, BBInfo> MST;
560 BBInfo &getBBInfo(const BasicBlock *BB) const { return MST.getBBInfo(BB); }
563 BBInfo *findBBInfo(const BasicBlock *BB) const { return MST.findBBInfo(BB); }
615 template <class Edge, class BBInfo>
616 void FuncPGOInstrumentation<Edge, BBInfo>::computeCFGHash() {
677 template <class Edge, class BBInfo>
678 void FuncPGOInstrumentation<Edge, BBInfo>::renameComdatFunction() {
725 template <class Edge, class BBInfo>
726 void FuncPGOInstrumentation<Edge, BBInfo>::getInstrumentBBs(
746 BBInfo &SrcInfo = getBBInfo(SrcBB);
747 BBInfo &DestInfo = getBBInfo(DestBB);
755 template <class Edge, class BBInfo>
756 BasicBlock *FuncPGOInstrumentation<Edge, BBInfo>::getInstrBB(Edge *E) {
848 FuncPGOInstrumentation<PGOEdge, BBInfo> FuncInfo(F, TLI, ComdatMembers, true,
948 struct UseBBInfo : public BBInfo {
956 UseBBInfo(unsigned IX) : BBInfo(IX), CountValid(false) {}
959 : BBInfo(IX), CountValue(C), CountValid(true) {}
970 return BBInfo::infoString();
971 return (Twine(BBInfo::infoString()) + " Count=" + Twine(CountValue)).str();