LLVM  7.0.0svn
Classes | Public Member Functions | List of all members
llvm::AppleAcceleratorTable Class Reference

This implements the Apple accelerator table format, a precursor of the DWARF 5 accelerator table format. More...

#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"

Inheritance diagram for llvm::AppleAcceleratorTable:
Inheritance graph
Collaboration diagram for llvm::AppleAcceleratorTable:
Collaboration graph


class  ValueIterator
 An iterator for the entries associated with one key. More...

Public Member Functions

 AppleAcceleratorTable (const DWARFDataExtractor &AccelSection, DataExtractor StringSection)
llvm::Error extract () override
uint32_t getNumBuckets ()
uint32_t getNumHashes ()
uint32_t getSizeHdr ()
uint32_t getHeaderDataLength ()
ArrayRef< std::pair< HeaderData::AtomType, HeaderData::Form > > getAtomsDesc ()
bool validateForms ()
std::pair< uint32_t, dwarf::TagreadAtoms (uint32_t &HashDataOffset)
 Return information related to the DWARF DIE we're looking for when performing a lookup by name. More...
void dump (raw_ostream &OS) const override
iterator_range< ValueIteratorequal_range (StringRef Key) const
 Look up all entries in the accelerator table matching Key. More...
- Public Member Functions inherited from llvm::DWARFAcceleratorTable
 DWARFAcceleratorTable (const DWARFDataExtractor &AccelSection, DataExtractor StringSection)
virtual ~DWARFAcceleratorTable ()
 DWARFAcceleratorTable (const DWARFAcceleratorTable &)=delete
void operator= (const DWARFAcceleratorTable &)=delete

Additional Inherited Members

- Protected Attributes inherited from llvm::DWARFAcceleratorTable
DWARFDataExtractor AccelSection
DataExtractor StringSection

Detailed Description

This implements the Apple accelerator table format, a precursor of the DWARF 5 accelerator table format.

Definition at line 52 of file DWARFAcceleratorTable.h.

Constructor & Destructor Documentation

◆ AppleAcceleratorTable()

llvm::AppleAcceleratorTable::AppleAcceleratorTable ( const DWARFDataExtractor AccelSection,
DataExtractor  StringSection 

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void AppleAcceleratorTable::dump ( raw_ostream OS) const

◆ equal_range()

iterator_range< AppleAcceleratorTable::ValueIterator > AppleAcceleratorTable::equal_range ( StringRef  Key) const

◆ extract()

llvm::Error AppleAcceleratorTable::extract ( )

◆ getAtomsDesc()

ArrayRef< std::pair< AppleAcceleratorTable::HeaderData::AtomType, AppleAcceleratorTable::HeaderData::Form > > AppleAcceleratorTable::getAtomsDesc ( )

Definition at line 106 of file DWARFAcceleratorTable.cpp.

◆ getHeaderDataLength()

uint32_t AppleAcceleratorTable::getHeaderDataLength ( )

Definition at line 100 of file DWARFAcceleratorTable.cpp.

◆ getNumBuckets()

uint32_t AppleAcceleratorTable::getNumBuckets ( )

Definition at line 97 of file DWARFAcceleratorTable.cpp.

◆ getNumHashes()

uint32_t AppleAcceleratorTable::getNumHashes ( )

Definition at line 98 of file DWARFAcceleratorTable.cpp.

◆ getSizeHdr()

uint32_t AppleAcceleratorTable::getSizeHdr ( )

Definition at line 99 of file DWARFAcceleratorTable.cpp.

◆ readAtoms()

std::pair< uint32_t, dwarf::Tag > AppleAcceleratorTable::readAtoms ( uint32_t HashDataOffset)

Return information related to the DWARF DIE we're looking for when performing a lookup by name.

HashDataOffsetan offset into the hash data table
<DieOffset, DieTag> DieOffset is the offset into the .debug_info section for the DIE related to the input hash data offset. DieTag is the tag of the DIE

Definition at line 130 of file DWARFAcceleratorTable.cpp.

References llvm::Data, dump(), llvm::dwarf::DW_ATOM_die_offset, llvm::dwarf::DW_ATOM_die_tag, llvm::dwarf::DW_INVALID_OFFSET, llvm::dwarf::DWARF32, llvm::DWARFFormValue::extractValue(), llvm::format(), llvm::DWARFFormValue::getAsUnsignedConstant(), llvm::ScopedPrinter::getOStream(), Magic, llvm::ScopedPrinter::printHex(), llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), llvm::ScopedPrinter::startLine(), llvm::Twine::utohexstr(), llvm::DWARFFormParams::Version, llvm::IndexedInstrProf::Version, and llvm::RISCVFenceField::W.

◆ validateForms()

bool AppleAcceleratorTable::validateForms ( )

The documentation for this class was generated from the following files: