//===-- OutlinedHashTree.cpp ----------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // An OutlinedHashTree is a Trie that contains sequences of stable hash values // of instructions that have been outlined. This OutlinedHashTree can be used // to understand the outlined instruction sequences collected across modules. // //===----------------------------------------------------------------------===// #include "llvm/CGData/OutlinedHashTree.h" #define DEBUG_TYPE … usingnamespacellvm; void OutlinedHashTree::walkGraph(NodeCallbackFn CallbackNode, EdgeCallbackFn CallbackEdge, bool SortedWalk) const { … } size_t OutlinedHashTree::size(bool GetTerminalCountOnly) const { … } size_t OutlinedHashTree::depth() const { … } void OutlinedHashTree::insert(const HashSequencePair &SequencePair) { … } void OutlinedHashTree::merge(const OutlinedHashTree *Tree) { … } std::optional<unsigned> OutlinedHashTree::find(const HashSequence &Sequence) const { … }