Lines Matching refs:Arc
71 using Arc = CallGraph::Arc; typedef
76 using ArcList = std::vector<const Arc *>;
148 explicit Edge(Chain *SrcChain_, Chain *DstChain_, const Arc *A) in Edge()
279 const Arc &Arc = *Cg.findArc(F, Succ); in initialize() local
280 OutWeight[F] += Arc.weight(); in initialize()
281 InWeight[Succ] += Arc.weight(); in initialize()
290 const Arc &Arc = *Cg.findArc(F, Succ); in initialize() local
291 if (Arc.weight() == 0.0 || in initialize()
292 Arc.weight() / TotalSamples < opts::ArcThreshold) { in initialize()
300 CurEdge->Arcs.push_back(&Arc); in initialize()
303 AllEdges.emplace_back(NodeChain[F], NodeChain[Succ], &Arc); in initialize()
355 for (const Arc *Arc : Edge->Arcs) { in shortCalls() local
356 uint64_t SrcAddr = Addr[Arc->src()] + uint64_t(Arc->avgCallOffset()); in shortCalls()
357 uint64_t DstAddr = Addr[Arc->dst()]; in shortCalls()
358 Calls += expectedCalls(SrcAddr, DstAddr, Arc->weight()); in shortCalls()
367 for (const Arc *Arc : Edge->Arcs) { in shortCalls() local
368 Chain *SrcChain = NodeChain[Arc->src()]; in shortCalls()
372 SrcAddr = Addr[Arc->src()] + uint64_t(Arc->avgCallOffset()); in shortCalls()
373 DstAddr = Addr[Arc->dst()] + ChainPred->Size; in shortCalls()
376 Addr[Arc->src()] + uint64_t(Arc->avgCallOffset()) + ChainPred->Size; in shortCalls()
377 DstAddr = Addr[Arc->dst()]; in shortCalls()
379 Calls += expectedCalls(SrcAddr, DstAddr, Arc->weight()); in shortCalls()
425 std::vector<const Arc *> ArcsToMerge; in runPassOne()
432 const Arc &Arc = *Cg.findArc(F, Succ); in runPassOne() local
433 if (Arc.weight() == 0.0 || in runPassOne()
434 Arc.weight() / TotalSamples < opts::ArcThreshold) in runPassOne()
439 const double CallsPredSucc = Arc.weight(); in runPassOne()
451 ArcsToMerge.push_back(&Arc); in runPassOne()
456 llvm::sort(ArcsToMerge, [](const Arc *L, const Arc *R) { in runPassOne()
461 for (const Arc *Arc : ArcsToMerge) { in runPassOne() local
462 Chain *ChainPred = NodeChain[Arc->src()]; in runPassOne()
463 Chain *ChainSucc = NodeChain[Arc->dst()]; in runPassOne()
466 if (ChainPred->Nodes.back() == Arc->src() && in runPassOne()
467 ChainSucc->Nodes.front() == Arc->dst()) in runPassOne()