LLVM 22.0.0git
DWP.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Enumerations

enum  llvm::AccessField { llvm::Offset , llvm::Length }

Functions

static uint64_t debugStrOffsetsHeaderSize (DataExtractor StrOffsetsData, uint16_t DwarfVersion)
static uint64_t getCUAbbrev (StringRef Abbrev, uint64_t AbbrCode)
static Expected< const char * > getIndexedString (dwarf::Form Form, DataExtractor InfoData, uint64_t &InfoOffset, StringRef StrOffsets, StringRef Str, uint16_t Version)
static Expected< CompileUnitIdentifiersgetCUIdentifiers (InfoSectionUnitHeader &Header, StringRef Abbrev, StringRef Info, StringRef StrOffsets, StringRef Str)
static bool isSupportedSectionKind (DWARFSectionKind Kind)
static unsigned getContributionIndex (DWARFSectionKind Kind, uint32_t IndexVersion)
static unsigned getOnDiskSectionId (unsigned Index)
static StringRef getSubsection (StringRef Section, const DWARFUnitIndex::Entry &Entry, DWARFSectionKind Kind)
static Error sectionOverflowErrorOrWarning (uint32_t PrevOffset, uint32_t OverflowedOffset, StringRef SectionName, OnCuIndexOverflow OverflowOptValue, bool &AnySectionOverflow)
static Error addAllTypesFromDWP (MCStreamer &Out, MapVector< uint64_t, UnitIndexEntry > &TypeIndexEntries, const DWARFUnitIndex &TUIndex, MCSection *OutputTypes, StringRef Types, const UnitIndexEntry &TUEntry, uint32_t &TypesOffset, unsigned TypesContributionIndex, OnCuIndexOverflow OverflowOptValue, bool &AnySectionOverflow)
static Error addAllTypesFromTypesSection (MCStreamer &Out, MapVector< uint64_t, UnitIndexEntry > &TypeIndexEntries, MCSection *OutputTypes, const std::vector< StringRef > &TypesSections, const UnitIndexEntry &CUEntry, uint32_t &TypesOffset, OnCuIndexOverflow OverflowOptValue, bool &AnySectionOverflow)
static std::string buildDWODescription (StringRef Name, StringRef DWPName, StringRef DWOName)
static Error createError (StringRef Name, Error E)
static Error handleCompressedSection (std::deque< SmallString< 32 > > &UncompressedSections, SectionRef Sec, StringRef Name, StringRef &Contents)
LLVM_ABI Expected< InfoSectionUnitHeaderllvm::parseInfoSectionUnitHeader (StringRef Info)
static void llvm::writeNewOffsetsTo (MCStreamer &Out, DataExtractor &Data, DenseMap< uint64_t, uint32_t > &OffsetRemapping, uint64_t &Offset, uint64_t &Size)
LLVM_ABI void llvm::writeStringsAndOffsets (MCStreamer &Out, DWPStringPool &Strings, MCSection *StrOffsetSection, StringRef CurStrSection, StringRef CurStrOffsetSection, uint16_t Version)
void llvm::writeIndexTable (MCStreamer &Out, ArrayRef< unsigned > ContributionOffsets, const MapVector< uint64_t, UnitIndexEntry > &IndexEntries, const AccessField &Field)
LLVM_ABI void llvm::writeIndex (MCStreamer &Out, MCSection *Section, ArrayRef< unsigned > ContributionOffsets, const MapVector< uint64_t, UnitIndexEntry > &IndexEntries, uint32_t IndexVersion)
LLVM_ABI Error llvm::buildDuplicateError (const std::pair< uint64_t, UnitIndexEntry > &PrevE, const CompileUnitIdentifiers &ID, StringRef DWPName)
LLVM_ABI Error llvm::handleSection (const StringMap< std::pair< MCSection *, DWARFSectionKind > > &KnownSections, const MCSection *StrSection, const MCSection *StrOffsetSection, const MCSection *TypesSection, const MCSection *CUIndexSection, const MCSection *TUIndexSection, const MCSection *InfoSection, const object::SectionRef &Section, MCStreamer &Out, std::deque< SmallString< 32 > > &UncompressedSections, uint32_t(&ContributionOffsets)[8], UnitIndexEntry &CurEntry, StringRef &CurStrSection, StringRef &CurStrOffsetSection, std::vector< StringRef > &CurTypesSection, std::vector< StringRef > &CurInfoSection, StringRef &AbbrevSection, StringRef &CurCUIndexSection, StringRef &CurTUIndexSection, std::vector< std::pair< DWARFSectionKind, uint32_t > > &SectionLength)
LLVM_ABI Error llvm::write (MCStreamer &Out, ArrayRef< std::string > Inputs, OnCuIndexOverflow OverflowOptValue)

Variables

static mc::RegisterMCTargetOptionsFlags MCTargetOptionsFlags

Function Documentation

◆ addAllTypesFromDWP()

◆ addAllTypesFromTypesSection()

◆ buildDWODescription()

std::string buildDWODescription ( StringRef Name,
StringRef DWPName,
StringRef DWOName )
static

Definition at line 298 of file DWP.cpp.

References llvm::StringRef::empty().

Referenced by llvm::buildDuplicateError().

◆ createError()

Error createError ( StringRef Name,
Error E )
static

Definition at line 324 of file DWP.cpp.

References E(), llvm::make_error(), and llvm::toString().

◆ debugStrOffsetsHeaderSize()

uint64_t debugStrOffsetsHeaderSize ( DataExtractor StrOffsetsData,
uint16_t DwarfVersion )
static

◆ getContributionIndex()

unsigned getContributionIndex ( DWARFSectionKind Kind,
uint32_t IndexVersion )
static

Definition at line 159 of file DWP.cpp.

References assert(), and llvm::serializeSectionKind().

Referenced by addAllTypesFromDWP(), addAllTypesFromTypesSection(), and llvm::write().

◆ getCUAbbrev()

uint64_t getCUAbbrev ( StringRef Abbrev,
uint64_t AbbrCode )
static

Definition at line 40 of file DWP.cpp.

References llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), and llvm::Offset.

Referenced by getCUIdentifiers().

◆ getCUIdentifiers()

◆ getIndexedString()

◆ getOnDiskSectionId()

unsigned getOnDiskSectionId ( unsigned Index)
static

Definition at line 167 of file DWP.cpp.

Referenced by llvm::writeIndex().

◆ getSubsection()

StringRef getSubsection ( StringRef Section,
const DWARFUnitIndex::Entry & Entry,
DWARFSectionKind Kind )
static

Definition at line 171 of file DWP.cpp.

Referenced by llvm::write().

◆ handleCompressedSection()

◆ isSupportedSectionKind()

bool isSupportedSectionKind ( DWARFSectionKind Kind)
static

Definition at line 153 of file DWP.cpp.

References llvm::DW_SECT_EXT_unknown.

Referenced by addAllTypesFromDWP(), and llvm::write().

◆ sectionOverflowErrorOrWarning()

Error sectionOverflowErrorOrWarning ( uint32_t PrevOffset,
uint32_t OverflowedOffset,
StringRef SectionName,
OnCuIndexOverflow OverflowOptValue,
bool & AnySectionOverflow )
static

Variable Documentation

◆ MCTargetOptionsFlags

mc::RegisterMCTargetOptionsFlags MCTargetOptionsFlags
static

Definition at line 26 of file DWP.cpp.