Lines Matching refs:ChainPred

753       for (ChainT *ChainPred : HotChains) {  in mergeChainPairs()
755 for (const auto &[ChainSucc, Edge] : ChainPred->Edges) { in mergeChainPairs()
761 if (ChainPred->numBlocks() + ChainSucc->numBlocks() >= MaxChainSize) in mergeChainPairs()
767 const double ChainPredDensity = ChainPred->density(); in mergeChainPairs()
778 MergeGainT CurGain = getBestMergeGain(ChainPred, ChainSucc, Edge); in mergeChainPairs()
784 compareChainPairs(ChainPred, ChainSucc, BestChainPred, in mergeChainPairs()
787 BestChainPred = ChainPred; in mergeChainPairs()
851 MergeGainT getBestMergeGain(ChainT *ChainPred, ChainT *ChainSucc, in getBestMergeGain() argument
853 if (Edge->hasCachedMergeGain(ChainPred, ChainSucc)) in getBestMergeGain()
854 return Edge->getCachedMergeGain(ChainPred, ChainSucc); in getBestMergeGain()
858 ChainEdge *EdgePP = ChainPred->getEdge(ChainPred); in getBestMergeGain()
869 if (Offset == 0 || Offset == ChainPred->Nodes.size()) in getBestMergeGain()
872 NodeT *Node = ChainPred->Nodes[Offset - 1]; in getBestMergeGain()
879 computeMergeGain(ChainPred, ChainSucc, Jumps, Offset, MergeType)); in getBestMergeGain()
885 computeMergeGain(ChainPred, ChainSucc, Jumps, 0, MergeTypeT::X_Y)); in getBestMergeGain()
890 if (SrcBlock->CurChain != ChainPred) in getBestMergeGain()
899 if (DstBlock->CurChain != ChainPred) in getBestMergeGain()
906 if (ChainPred->Nodes.size() <= ChainSplitThreshold) { in getBestMergeGain()
907 for (size_t Offset = 1; Offset < ChainPred->Nodes.size(); Offset++) { in getBestMergeGain()
911 const NodeT *BB = ChainPred->Nodes[Offset - 1]; in getBestMergeGain()
912 const NodeT *BB2 = ChainPred->Nodes[Offset]; in getBestMergeGain()
923 Edge->setCachedMergeGain(ChainPred, ChainSucc, Gain); in getBestMergeGain()
931 MergeGainT computeMergeGain(const ChainT *ChainPred, const ChainT *ChainSucc, in computeMergeGain() argument
935 mergeNodes(ChainPred->Nodes, ChainSucc->Nodes, MergeOffset, MergeType); in computeMergeGain()
938 if ((ChainPred->isEntry() || ChainSucc->isEntry()) && in computeMergeGain()
944 double CurScore = ChainPred->Score; in computeMergeGain()
1250 MergeGainT computeMergeGain(ChainT *ChainPred, ChainT *ChainSucc, in computeMergeGain() argument
1254 double FreqGain = freqBasedLocalityGain(ChainPred, ChainSucc); in computeMergeGain()
1259 mergeNodes(ChainPred->Nodes, ChainSucc->Nodes, MergeOffset, MergeType); in computeMergeGain()
1265 GainScore /= std::min(ChainPred->Size, ChainSucc->Size); in computeMergeGain()
1271 double freqBasedLocalityGain(ChainT *ChainPred, ChainT *ChainSucc) const { in freqBasedLocalityGain() argument
1282 ChainPred->ExecutionCount * missProbability(ChainPred->density()) + in freqBasedLocalityGain()
1286 double MergedCounts = ChainPred->ExecutionCount + ChainSucc->ExecutionCount; in freqBasedLocalityGain()
1287 double MergedSize = ChainPred->Size + ChainSucc->Size; in freqBasedLocalityGain()