llvm/llvm/lib/ProfileData/ItaniumManglingCanonicalizer.cpp

//===----------------- ItaniumManglingCanonicalizer.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
//
//===----------------------------------------------------------------------===//

#include "llvm/ProfileData/ItaniumManglingCanonicalizer.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Demangle/ItaniumDemangle.h"
#include "llvm/Support/Allocator.h"

usingnamespacellvm;
ForwardTemplateReference;
Node;
NodeKind;

namespace {
struct FoldingSetNodeIDBuilder {};

template<typename ...T>
void profileCtor(llvm::FoldingSetNodeID &ID, Node::Kind K, T ...V) {}

// FIXME: Convert this to a generic lambda when possible.
template<typename NodeT> struct ProfileSpecificNode {};

struct ProfileNode {};

template<> void ProfileNode::operator()(const ForwardTemplateReference *N) {}

void profileNode(llvm::FoldingSetNodeID &ID, const Node *N) {}

class FoldingNodeAllocator {};

class CanonicalizerAllocator : public FoldingNodeAllocator {};

// FIXME: Also expand built-in substitutions?

CanonicalizingDemangler;
} // namespace

struct ItaniumManglingCanonicalizer::Impl {};

ItaniumManglingCanonicalizer::ItaniumManglingCanonicalizer() :{}
ItaniumManglingCanonicalizer::~ItaniumManglingCanonicalizer() {}

ItaniumManglingCanonicalizer::EquivalenceError
ItaniumManglingCanonicalizer::addEquivalence(FragmentKind Kind, StringRef First,
                                             StringRef Second) {}

static ItaniumManglingCanonicalizer::Key
parseMaybeMangledName(CanonicalizingDemangler &Demangler, StringRef Mangling,
                      bool CreateNewNodes) {}

ItaniumManglingCanonicalizer::Key
ItaniumManglingCanonicalizer::canonicalize(StringRef Mangling) {}

ItaniumManglingCanonicalizer::Key
ItaniumManglingCanonicalizer::lookup(StringRef Mangling) {}