Lines Matching refs:Chain
161 class Chain;
181 Chain *CurChain{nullptr};
220 class Chain { class
222 Chain(const Chain &) = delete;
223 Chain(Chain &&) = default;
224 Chain &operator=(const Chain &) = delete;
225 Chain &operator=(Chain &&) = default;
227 explicit Chain(uint64_t Id, Block *Block) in Chain() function in __anon97d149770111::Chain
242 const std::vector<std::pair<Chain *, ChainEdge *>> &edges() const { in edges()
246 ChainEdge *getEdge(Chain *Other) const { in getEdge()
254 void removeEdge(Chain *Other) { in removeEdge()
265 void addEdge(Chain *Other, ChainEdge *Edge) { in addEdge()
269 void merge(Chain *Other, const std::vector<Block *> &MergedBlocks) { in merge()
278 void mergeEdges(Chain *Other);
295 std::vector<std::pair<Chain *, ChainEdge *>> Edges;
314 void changeEndpoint(Chain *From, Chain *To) { in changeEndpoint()
329 bool hasCachedMergeGain(Chain *Src, Chain *Dst) const { in hasCachedMergeGain()
333 MergeGainTy getCachedMergeGain(Chain *Src, Chain *Dst) const { in getCachedMergeGain()
337 void setCachedMergeGain(Chain *Src, Chain *Dst, MergeGainTy MergeGain) { in setCachedMergeGain()
354 Chain *SrcChain{nullptr};
356 Chain *DstChain{nullptr};
369 void Chain::mergeEdges(Chain *Other) { in mergeEdges()
587 auto compareChainPairs = [](const Chain *A1, const Chain *B1, in mergeChainPairs()
588 const Chain *A2, const Chain *B2) { in mergeChainPairs()
595 Chain *BestChainPred = nullptr; in mergeChainPairs()
596 Chain *BestChainSucc = nullptr; in mergeChainPairs()
684 MergeGainTy getBestMergeGain(Chain *ChainPred, Chain *ChainSucc, in getBestMergeGain()
762 MergeGainTy computeMergeGain(const Chain *ChainPred, const Chain *ChainSucc, in computeMergeGain()
811 void mergeChains(Chain *Into, Chain *From, size_t MergeOffset, in mergeChains()
842 std::vector<Chain *> SortedChains; in concatChains()
843 DenseMap<const Chain *, double> ChainDensity; in concatChains()
844 for (auto &Chain : AllChains) { in concatChains() local
845 if (!Chain.blocks().empty()) { in concatChains()
846 SortedChains.push_back(&Chain); in concatChains()
850 for (auto Block : Chain.blocks()) { in concatChains()
855 ChainDensity[&Chain] = ExecutionCount / Size; in concatChains()
861 [&](const Chain *C1, const Chain *C2) { in concatChains()
876 for (auto Chain : SortedChains) { in concatChains() local
877 for (auto Block : Chain->blocks()) { in concatChains()
900 std::vector<Chain> AllChains;
906 std::vector<Chain *> HotChains;