LLVM 23.0.0git
llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::FrameScanResult Struct Reference

Result of scanning one LinkContext's input .debug_frame. More...

#include "DWARFLinker/Parallel/DWARFLinkerImpl.h"

Classes

struct  FDE
 FDEs retained for emission. More...

Public Attributes

SmallString< 0 > FrameData
 Owning copy of the input .debug_frame bytes.
unsigned AddressSize = 0
 Address size of the input object, used by emitFDE to size the FDE's initial_location field.
SmallVector< StringRefCIEs
 Unique CIEs referenced by at least one retained FDE in this context, in first-reference order.
SmallVector< FDEFDEs
SmallVector< StringRefOwnedCIEs
 CIEs this context owns, set during the serial CIE-registry merge.

Detailed Description

Result of scanning one LinkContext's input .debug_frame.

Produced by scanFrameData() during the parallel link phase and consumed by the serial CIE-registry merge and parallel emission passes. Owns a copy of the raw frame bytes so the StringRef views below remain valid after the input DWARFContext is unloaded.

Definition at line 271 of file DWARFLinkerImpl.h.

Member Data Documentation

◆ AddressSize

unsigned llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::FrameScanResult::AddressSize = 0

Address size of the input object, used by emitFDE to size the FDE's initial_location field.

Definition at line 277 of file DWARFLinkerImpl.h.

◆ CIEs

SmallVector<StringRef> llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::FrameScanResult::CIEs

Unique CIEs referenced by at least one retained FDE in this context, in first-reference order.

Each element is a view into FrameData and is a key into the linker-wide CIERegistry.

Definition at line 282 of file DWARFLinkerImpl.h.

◆ FDEs

SmallVector<FDE> llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::FrameScanResult::FDEs

Definition at line 292 of file DWARFLinkerImpl.h.

◆ FrameData

SmallString<0> llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::FrameScanResult::FrameData

Owning copy of the input .debug_frame bytes.

Definition at line 273 of file DWARFLinkerImpl.h.

◆ OwnedCIEs

SmallVector<StringRef> llvm::dwarf_linker::parallel::DWARFLinkerImpl::LinkContext::FrameScanResult::OwnedCIEs

CIEs this context owns, set during the serial CIE-registry merge.

Emission writes these at local offsets 0, OwnedCIEs[0].size(), ... in order.

Definition at line 297 of file DWARFLinkerImpl.h.


The documentation for this struct was generated from the following file: