//===- StringPool.h ---------------------------------------------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// #ifndef LLVM_DWARFLINKER_STRINGPOOL_H #define LLVM_DWARFLINKER_STRINGPOOL_H #include "llvm/ADT/ConcurrentHashtable.h" #include "llvm/CodeGen/DwarfStringPoolEntry.h" #include "llvm/Support/Allocator.h" #include "llvm/Support/PerThreadBumpPtrAllocator.h" #include <string_view> namespace llvm { namespace dwarf_linker { /// StringEntry keeps data of the string: the length, external offset /// and a string body which is placed right after StringEntry. StringEntry; class StringPoolEntryInfo { … }; class StringPool : public ConcurrentHashTableByPtr<StringRef, StringEntry, llvm::parallel::PerThreadBumpPtrAllocator, StringPoolEntryInfo> { … }; } // namespace dwarf_linker } // end namespace llvm #endif // LLVM_DWARFLINKER_STRINGPOOL_H