Lines Matching refs:Src
455 isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const {
458 return getEdgeProbability(Src, Dst) > BranchProbability(4, 5);
491 getEdgeWeight(const BasicBlock *Src, unsigned IndexInSuccessors) const {
493 Weights.find(std::make_pair(Src, IndexInSuccessors));
502 /// of all raw edge weights from Src to Dst.
504 getEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst) const {
507 for (succ_const_iterator I = succ_begin(Src), E = succ_end(Src); I != E; ++I)
509 MapI = Weights.find(std::make_pair(Src, I.getSuccessorIndex()));
519 setEdgeWeight(const BasicBlock *Src, unsigned IndexInSuccessors,
521 Weights[std::make_pair(Src, IndexInSuccessors)] = Weight;
522 DEBUG(dbgs() << "set edge " << Src->getName() << " -> "
527 /// Get an edge's probability, relative to other out-edges from Src.
529 getEdgeProbability(const BasicBlock *Src, unsigned IndexInSuccessors) const {
530 uint32_t N = getEdgeWeight(Src, IndexInSuccessors);
531 uint32_t D = getSumForBlock(Src);
536 /// Get the probability of going from Src to Dst. It returns the sum of all
537 /// probabilities for edges from Src to Dst.
539 getEdgeProbability(const BasicBlock *Src, const BasicBlock *Dst) const {
541 uint32_t N = getEdgeWeight(Src, Dst);
542 uint32_t D = getSumForBlock(Src);
549 const BasicBlock *Src,
552 const BranchProbability Prob = getEdgeProbability(Src, Dst);
553 OS << "edge " << Src->getName() << " -> " << Dst->getName()
555 << (isEdgeHot(Src, Dst) ? " [HOT edge]\n" : "\n");