class DwarfStringPool

Declaration

class DwarfStringPool { /* full declaration omitted */ };

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:26

Member Variables

private StringMap<llvm::DwarfStringPool::EntryTy, llvm::BumpPtrAllocator&> Pool
private llvm::StringRef Prefix
private uint64_t NumBytes = 0
private unsigned int NumIndexedStrings = 0
private bool ShouldCreateSymbols

Method Overview

  • public DwarfStringPool(llvm::BumpPtrAllocator & A, llvm::AsmPrinter & Asm, llvm::StringRef Prefix)
  • public void emit(llvm::AsmPrinter & Asm, llvm::MCSection * StrSection, llvm::MCSection * OffsetSection = nullptr, bool UseRelativeOffsets = false)
  • public void emitStringOffsetsTableHeader(llvm::AsmPrinter & Asm, llvm::MCSection * OffsetSection, llvm::MCSymbol * StartSym)
  • public bool empty() const
  • public llvm::DwarfStringPool::EntryRef getEntry(llvm::AsmPrinter & Asm, llvm::StringRef Str)
  • private StringMapEntry<llvm::DwarfStringPool::EntryTy> & getEntryImpl(llvm::AsmPrinter & Asm, llvm::StringRef Str)
  • public llvm::DwarfStringPool::EntryRef getIndexedEntry(llvm::AsmPrinter & Asm, llvm::StringRef Str)
  • public unsigned int getNumIndexedStrings() const
  • public unsigned int size() const

Methods

DwarfStringPool(llvm::BumpPtrAllocator& A,
                llvm::AsmPrinter& Asm,
                llvm::StringRef Prefix)

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:40

Parameters

llvm::BumpPtrAllocator& A
llvm::AsmPrinter& Asm
llvm::StringRef Prefix

void emit(
    llvm::AsmPrinter& Asm,
    llvm::MCSection* StrSection,
    llvm::MCSection* OffsetSection = nullptr,
    bool UseRelativeOffsets = false)

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:45

Parameters

llvm::AsmPrinter& Asm
llvm::MCSection* StrSection
llvm::MCSection* OffsetSection = nullptr
bool UseRelativeOffsets = false

void emitStringOffsetsTableHeader(
    llvm::AsmPrinter& Asm,
    llvm::MCSection* OffsetSection,
    llvm::MCSymbol* StartSym)

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:42

Parameters

llvm::AsmPrinter& Asm
llvm::MCSection* OffsetSection
llvm::MCSymbol* StartSym

bool empty() const

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:49

llvm::DwarfStringPool::EntryRef getEntry(
    llvm::AsmPrinter& Asm,
    llvm::StringRef Str)

Description

Get a reference to an entry in the string pool.

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:56

Parameters

llvm::AsmPrinter& Asm
llvm::StringRef Str

StringMapEntry<llvm::DwarfStringPool::EntryTy>&
getEntryImpl(llvm::AsmPrinter& Asm,
             llvm::StringRef Str)

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:35

Parameters

llvm::AsmPrinter& Asm
llvm::StringRef Str

llvm::DwarfStringPool::EntryRef getIndexedEntry(
    llvm::AsmPrinter& Asm,
    llvm::StringRef Str)

Description

Same as getEntry, except that you can use EntryRef::getIndex to obtain a unique ID of this entry (e.g., for use in indexed forms like DW_FORM_strx).

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:61

Parameters

llvm::AsmPrinter& Asm
llvm::StringRef Str

unsigned int getNumIndexedStrings() const

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:53

unsigned int size() const

Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h:51