9#ifndef LLVM_CODEGEN_NONRELOCATABLESTRINGPOOL_H
10#define LLVM_CODEGEN_NONRELOCATABLESTRINGPOOL_H
32 bool PutEmptyString =
false)
33 : Translator(Translator) {
61 unsigned NumEntries = 0;
67template <
typename T,
typename S>
class StrongType :
public T {
69 template <
typename... Args>
This file defines the BumpPtrAllocator interface.
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
DwarfStringPoolEntryRef: Dwarf string pool entry reference.
uint64_t getOffset() const
A string table that doesn't need relocations.
DwarfStringPoolEntryRef getEntry(StringRef S)
std::vector< DwarfStringPoolEntryRef > getEntriesForEmission() const
Return the list of strings to be emitted.
StringMap< DwarfStringPoolEntry, BumpPtrAllocator > MapTy
Entries are stored into the StringMap and simply linked together through the second element of this p...
StringRef internString(StringRef S)
Get permanent storage for S (but do not necessarily emit S in the output section).
NonRelocatableStringpool(std::function< StringRef(StringRef Input)> Translator=nullptr, bool PutEmptyString=false)
uint64_t getStringOffset(StringRef S)
Get the offset of string S in the string table.
StringRef - Represent a constant reference to a string, i.e.
Helper for making strong types.
This is an optimization pass for GlobalISel generic memory operations.
Implement std::hash so that hash_code can be used in STL containers.
It's very easy to introduce bugs by passing the wrong string pool.