LLVM 24.0.0git
llvm::dwarf::CIE Class Reference

DWARF Common Information Entry (CIE) More...

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

Inheritance diagram for llvm::dwarf::CIE:
[legend]

Public Member Functions

 CIE (bool IsDWARF64, uint64_t Offset, uint64_t Length, uint8_t Version, SmallString< 8 > Augmentation, uint8_t AddressSize, uint8_t SegmentDescriptorSize, uint64_t CodeAlignmentFactor, int64_t DataAlignmentFactor, uint64_t ReturnAddressRegister, SmallString< 8 > AugmentationData, uint32_t FDEPointerEncoding, uint32_t LSDAPointerEncoding, std::optional< uint64_t > Personality, std::optional< uint32_t > PersonalityEnc, Triple::ArchType Arch)
StringRef getAugmentationString () const
uint64_t getCodeAlignmentFactor () const
int64_t getDataAlignmentFactor () const
uint8_t getVersion () const
uint64_t getReturnAddressRegister () const
std::optional< uint64_tgetPersonalityAddress () const
std::optional< uint32_tgetPersonalityEncoding () const
StringRef getAugmentationData () const
uint32_t getFDEPointerEncoding () const
uint32_t getLSDAPointerEncoding () const
void dump (raw_ostream &OS, DIDumpOptions DumpOpts) const override
 Dump the instructions in this CFI fragment.
Public Member Functions inherited from llvm::dwarf::FrameEntry
 FrameEntry (FrameKind K, bool IsDWARF64, uint64_t Offset, uint64_t Length, uint64_t CodeAlign, int64_t DataAlign, Triple::ArchType Arch)
virtual ~FrameEntry ()=default
FrameKind getKind () const
uint64_t getOffset () const
uint64_t getLength () const
const CFIProgramcfis () const
CFIProgramcfis ()
std::optional< uint64_tgetUnparsedCFIStartOffset () const
 If using lazily parsed CFIs, this returns the section offset where the unparsed CFIs start so user can parse them on-demand through the CFIProgram parsing interface cfis().parse(Data, ..., getEndOffset()).
void markCFIProgramUnparsed (uint64_t StartOffset)
void markCFIProgramParsed ()
uint64_t getEndOffset () const

Static Public Member Functions

static bool classof (const FrameEntry *FE)

Additional Inherited Members

Public Types inherited from llvm::dwarf::FrameEntry
enum  FrameKind { FK_CIE , FK_FDE }
Protected Attributes inherited from llvm::dwarf::FrameEntry
const FrameKind Kind
const bool IsDWARF64
const uint64_t Offset
 Offset of this entry in the section.
const uint64_t Length
 Entry length as specified in DWARF.
std::optional< uint64_tUnparsedCFIStartOffset
 Offset for lazy parsing; std::nullopt if CFIs are already parsed.
CFIProgram CFIs

Detailed Description

DWARF Common Information Entry (CIE)

Definition at line 115 of file DWARFDebugFrame.h.

Constructor & Destructor Documentation

◆ CIE()

llvm::dwarf::CIE::CIE ( bool IsDWARF64,
uint64_t Offset,
uint64_t Length,
uint8_t Version,
SmallString< 8 > Augmentation,
uint8_t AddressSize,
uint8_t SegmentDescriptorSize,
uint64_t CodeAlignmentFactor,
int64_t DataAlignmentFactor,
uint64_t ReturnAddressRegister,
SmallString< 8 > AugmentationData,
uint32_t FDEPointerEncoding,
uint32_t LSDAPointerEncoding,
std::optional< uint64_t > Personality,
std::optional< uint32_t > PersonalityEnc,
Triple::ArchType Arch )
inline

Member Function Documentation

◆ classof()

bool llvm::dwarf::CIE::classof ( const FrameEntry * FE)
inlinestatic

◆ dump()

◆ getAugmentationData()

StringRef llvm::dwarf::CIE::getAugmentationData ( ) const
inline

Definition at line 150 of file DWARFDebugFrame.h.

◆ getAugmentationString()

StringRef llvm::dwarf::CIE::getAugmentationString ( ) const
inline

Definition at line 140 of file DWARFDebugFrame.h.

Referenced by llvm::DWARFDebugFrame::parse().

◆ getCodeAlignmentFactor()

uint64_t llvm::dwarf::CIE::getCodeAlignmentFactor ( ) const
inline

Definition at line 141 of file DWARFDebugFrame.h.

References uint64_t.

◆ getDataAlignmentFactor()

int64_t llvm::dwarf::CIE::getDataAlignmentFactor ( ) const
inline

Definition at line 142 of file DWARFDebugFrame.h.

◆ getFDEPointerEncoding()

uint32_t llvm::dwarf::CIE::getFDEPointerEncoding ( ) const
inline

Definition at line 152 of file DWARFDebugFrame.h.

Referenced by llvm::DWARFDebugFrame::parse().

◆ getLSDAPointerEncoding()

uint32_t llvm::dwarf::CIE::getLSDAPointerEncoding ( ) const
inline

Definition at line 154 of file DWARFDebugFrame.h.

Referenced by llvm::DWARFDebugFrame::parse().

◆ getPersonalityAddress()

std::optional< uint64_t > llvm::dwarf::CIE::getPersonalityAddress ( ) const
inline

Definition at line 145 of file DWARFDebugFrame.h.

◆ getPersonalityEncoding()

std::optional< uint32_t > llvm::dwarf::CIE::getPersonalityEncoding ( ) const
inline

Definition at line 146 of file DWARFDebugFrame.h.

◆ getReturnAddressRegister()

uint64_t llvm::dwarf::CIE::getReturnAddressRegister ( ) const
inline

Definition at line 144 of file DWARFDebugFrame.h.

References uint64_t.

◆ getVersion()

uint8_t llvm::dwarf::CIE::getVersion ( ) const
inline

Definition at line 143 of file DWARFDebugFrame.h.


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