Lines Matching refs:Src
1084 isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const { in isEdgeHot() argument
1087 return getEdgeProbability(Src, Dst) > BranchProbability(4, 5); in isEdgeHot()
1095 BranchProbabilityInfo::getEdgeProbability(const BasicBlock *Src, in getEdgeProbability() argument
1097 auto I = Probs.find(std::make_pair(Src, IndexInSuccessors)); in getEdgeProbability()
1098 assert((Probs.end() == Probs.find(std::make_pair(Src, 0))) == in getEdgeProbability()
1106 return {1, static_cast<uint32_t>(succ_size(Src))}; in getEdgeProbability()
1110 BranchProbabilityInfo::getEdgeProbability(const BasicBlock *Src, in getEdgeProbability() argument
1112 return getEdgeProbability(Src, Dst.getSuccessorIndex()); in getEdgeProbability()
1118 BranchProbabilityInfo::getEdgeProbability(const BasicBlock *Src, in getEdgeProbability() argument
1120 if (!Probs.count(std::make_pair(Src, 0))) in getEdgeProbability()
1121 return BranchProbability(llvm::count(successors(Src), Dst), succ_size(Src)); in getEdgeProbability()
1124 for (const_succ_iterator I = succ_begin(Src), E = succ_end(Src); I != E; ++I) in getEdgeProbability()
1126 Prob += Probs.find(std::make_pair(Src, I.getSuccessorIndex()))->second; in getEdgeProbability()
1133 const BasicBlock *Src, const SmallVectorImpl<BranchProbability> &Probs) { in setEdgeProbability() argument
1134 assert(Src->getTerminator()->getNumSuccessors() == Probs.size()); in setEdgeProbability()
1135 eraseBlock(Src); // Erase stale data if any. in setEdgeProbability()
1139 Handles.insert(BasicBlockCallbackVH(Src, this)); in setEdgeProbability()
1142 this->Probs[std::make_pair(Src, SuccIdx)] = Probs[SuccIdx]; in setEdgeProbability()
1143 LLVM_DEBUG(dbgs() << "set edge " << Src->getName() << " -> " << SuccIdx in setEdgeProbability()
1159 void BranchProbabilityInfo::copyEdgeProbabilities(BasicBlock *Src, in copyEdgeProbabilities() argument
1162 unsigned NumSuccessors = Src->getTerminator()->getNumSuccessors(); in copyEdgeProbabilities()
1166 if (!this->Probs.contains(std::make_pair(Src, 0))) in copyEdgeProbabilities()
1171 auto Prob = this->Probs[std::make_pair(Src, SuccIdx)]; in copyEdgeProbabilities()
1178 void BranchProbabilityInfo::swapSuccEdgesProbabilities(const BasicBlock *Src) { in swapSuccEdgesProbabilities() argument
1179 assert(Src->getTerminator()->getNumSuccessors() == 2); in swapSuccEdgesProbabilities()
1180 if (!Probs.contains(std::make_pair(Src, 0))) in swapSuccEdgesProbabilities()
1182 assert(Probs.contains(std::make_pair(Src, 1))); in swapSuccEdgesProbabilities()
1183 std::swap(Probs[std::make_pair(Src, 0)], Probs[std::make_pair(Src, 1)]); in swapSuccEdgesProbabilities()
1188 const BasicBlock *Src, in printEdgeProbability() argument
1190 const BranchProbability Prob = getEdgeProbability(Src, Dst); in printEdgeProbability()
1192 Src->printAsOperand(OS, false, Src->getModule()); in printEdgeProbability()
1196 << (isEdgeHot(Src, Dst) ? " [HOT edge]\n" : "\n"); in printEdgeProbability()