Lines Matching refs:ChainT

212 struct ChainT;
246 ChainT *CurChain{nullptr};
282 struct ChainT { struct
283 ChainT(const ChainT &) = delete;
284 ChainT(ChainT &&) = default;
285 ChainT &operator=(const ChainT &) = delete;
286 ChainT &operator=(ChainT &&) = default;
288 explicit ChainT(uint64_t Id, NodeT *Node) in ChainT() argument
306 ChainEdge *getEdge(ChainT *Other) const { in getEdge() argument
314 void removeEdge(ChainT *Other) { in removeEdge() argument
325 void addEdge(ChainT *Other, ChainEdge *Edge) { in addEdge() argument
329 void merge(ChainT *Other, std::vector<NodeT *> MergedBlocks) { in merge() argument
342 void mergeEdges(ChainT *Other);
363 std::vector<std::pair<ChainT *, ChainEdge *>> Edges; argument
379 ChainT *srcChain() const { return SrcChain; } in srcChain()
381 ChainT *dstChain() const { return DstChain; } in dstChain()
395 void changeEndpoint(ChainT *From, ChainT *To) { in changeEndpoint()
402 bool hasCachedMergeGain(ChainT *Src, ChainT *Dst) const { in hasCachedMergeGain()
406 MergeGainT getCachedMergeGain(ChainT *Src, ChainT *Dst) const { in getCachedMergeGain()
410 void setCachedMergeGain(ChainT *Src, ChainT *Dst, MergeGainT MergeGain) { in setCachedMergeGain()
433 ChainT *SrcChain{nullptr};
435 ChainT *DstChain{nullptr};
473 void ChainT::mergeEdges(ChainT *Other) { in mergeEdges()
476 ChainT *TargetChain = DstChain == Other ? this : DstChain; in mergeEdges()
743 auto compareChainPairs = [](const ChainT *A1, const ChainT *B1, in mergeChainPairs()
744 const ChainT *A2, const ChainT *B2) { in mergeChainPairs()
749 ChainT *BestChainPred = nullptr; in mergeChainPairs()
750 ChainT *BestChainSucc = nullptr; in mergeChainPairs()
753 for (ChainT *ChainPred : HotChains) { in mergeChainPairs()
813 ChainT *SrcChain = AllNodes[SrcBB].CurChain; in mergeColdChains()
814 ChainT *DstChain = AllNodes[DstBB].CurChain; in mergeColdChains()
851 MergeGainT getBestMergeGain(ChainT *ChainPred, ChainT *ChainSucc, in getBestMergeGain()
931 MergeGainT computeMergeGain(const ChainT *ChainPred, const ChainT *ChainSucc, in computeMergeGain()
950 void mergeChains(ChainT *Into, ChainT *From, size_t MergeOffset, in mergeChains()
982 std::vector<const ChainT *> SortedChains; in concatChains()
983 for (ChainT &Chain : AllChains) { in concatChains()
990 [&](const ChainT *L, const ChainT *R) { in concatChains()
1003 for (const ChainT *Chain : SortedChains) in concatChains()
1026 std::vector<ChainT> AllChains;
1032 std::vector<ChainT *> HotChains;
1165 ChainT *BestSrcChain = BestEdge->srcChain(); in mergeChainPairs()
1166 ChainT *BestDstChain = BestEdge->dstChain(); in mergeChainPairs()
1213 ChainT *SrcChain = Edge->srcChain(); in getBestMergeGain()
1214 ChainT *DstChain = Edge->dstChain(); in getBestMergeGain()
1250 MergeGainT computeMergeGain(ChainT *ChainPred, ChainT *ChainSucc, in computeMergeGain()
1271 double freqBasedLocalityGain(ChainT *ChainPred, ChainT *ChainSucc) const { in freqBasedLocalityGain()
1323 void mergeChains(ChainT *Into, ChainT *From, size_t MergeOffset, in mergeChains()
1340 std::vector<const ChainT *> SortedChains; in concatChains()
1341 DenseMap<const ChainT *, double> ChainDensity; in concatChains()
1342 for (ChainT &Chain : AllChains) { in concatChains()
1359 [&](const ChainT *L, const ChainT *R) { in concatChains()
1370 for (const ChainT *Chain : SortedChains) in concatChains()
1396 std::vector<ChainT> AllChains;