• Home
  • Raw
  • Download

Lines Matching refs:BasicBlock

39   typedef std::pair<const BasicBlock *, const BasicBlock *> Edge;
89 static bool isReturningBlock(BasicBlock *BB) { in isReturningBlock()
90 SmallPtrSet<BasicBlock *, 8> Visited; in isReturningBlock()
115 uint32_t getMaxWeightFor(BasicBlock *BB) const { in getMaxWeightFor()
126 bool calcMetadataWeights(BasicBlock *BB);
129 bool calcReturnHeuristics(BasicBlock *BB);
132 bool calcPointerHeuristics(BasicBlock *BB);
135 bool calcLoopBranchHeuristics(BasicBlock *BB);
138 bool calcZeroHeuristics(BasicBlock *BB);
146 bool BranchProbabilityAnalysis::calcMetadataWeights(BasicBlock *BB) { in calcMetadataWeights()
184 bool BranchProbabilityAnalysis::calcReturnHeuristics(BasicBlock *BB){ in calcReturnHeuristics()
188 SmallPtrSet<BasicBlock *, 4> ReturningEdges; in calcReturnHeuristics()
189 SmallPtrSet<BasicBlock *, 4> StayEdges; in calcReturnHeuristics()
192 BasicBlock *Succ = *I; in calcReturnHeuristics()
204 for (SmallPtrSet<BasicBlock *, 4>::iterator I = StayEdges.begin(), in calcReturnHeuristics()
213 for (SmallPtrSet<BasicBlock *, 4>::iterator I = ReturningEdges.begin(), in calcReturnHeuristics()
224 bool BranchProbabilityAnalysis::calcPointerHeuristics(BasicBlock *BB) { in calcPointerHeuristics()
241 BasicBlock *Taken = BI->getSuccessor(0); in calcPointerHeuristics()
242 BasicBlock *NonTaken = BI->getSuccessor(1); in calcPointerHeuristics()
259 bool BranchProbabilityAnalysis::calcLoopBranchHeuristics(BasicBlock *BB) { in calcLoopBranchHeuristics()
266 SmallPtrSet<BasicBlock *, 8> BackEdges; in calcLoopBranchHeuristics()
267 SmallPtrSet<BasicBlock *, 8> ExitingEdges; in calcLoopBranchHeuristics()
268 SmallPtrSet<BasicBlock *, 8> InEdges; // Edges from header to the loop. in calcLoopBranchHeuristics()
273 BasicBlock *Succ = *I; in calcLoopBranchHeuristics()
288 for (SmallPtrSet<BasicBlock *, 8>::iterator EI = BackEdges.begin(), in calcLoopBranchHeuristics()
290 BasicBlock *Back = *EI; in calcLoopBranchHeuristics()
300 for (SmallPtrSet<BasicBlock *, 8>::iterator EI = InEdges.begin(), in calcLoopBranchHeuristics()
302 BasicBlock *Back = *EI; in calcLoopBranchHeuristics()
313 for (SmallPtrSet<BasicBlock *, 8>::iterator EI = ExitingEdges.begin(), in calcLoopBranchHeuristics()
315 BasicBlock *Exiting = *EI; in calcLoopBranchHeuristics()
323 bool BranchProbabilityAnalysis::calcZeroHeuristics(BasicBlock *BB) { in calcZeroHeuristics()
372 BasicBlock *Taken = BI->getSuccessor(0); in calcZeroHeuristics()
373 BasicBlock *NonTaken = BI->getSuccessor(1); in calcZeroHeuristics()
388 BasicBlock *BB = I++; in runOnFunction()
419 uint32_t BranchProbabilityInfo::getSumForBlock(const BasicBlock *BB) const { in getSumForBlock()
423 const BasicBlock *Succ = *I; in getSumForBlock()
435 isEdgeHot(const BasicBlock *Src, const BasicBlock *Dst) const { in isEdgeHot()
445 BasicBlock *BranchProbabilityInfo::getHotSucc(BasicBlock *BB) const { in getHotSucc()
448 BasicBlock *MaxSucc = 0; in getHotSucc()
451 BasicBlock *Succ = *I; in getHotSucc()
473 getEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst) const { in getEdgeWeight()
484 setEdgeWeight(const BasicBlock *Src, const BasicBlock *Dst, uint32_t Weight) { in setEdgeWeight()
493 getEdgeProbability(const BasicBlock *Src, const BasicBlock *Dst) const { in getEdgeProbability()
502 BranchProbabilityInfo::printEdgeProbability(raw_ostream &OS, BasicBlock *Src, in printEdgeProbability()
503 BasicBlock *Dst) const { in printEdgeProbability()