LLVM 24.0.0git
llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy Class Reference

Class keeping live worklist item data. More...

#include "DWARFLinker/Parallel/DependencyTracker.h"

Classes

struct  CompileUnitPointerTraits
 Root entry. More...

Public Member Functions

 LiveRootWorklistItemTy ()=default
 LiveRootWorklistItemTy (const LiveRootWorklistItemTy &)=default
 LiveRootWorklistItemTy (LiveRootWorklistActionTy Action, UnitEntryPairTy RootEntry)
 LiveRootWorklistItemTy (LiveRootWorklistActionTy Action, UnitEntryPairTy RootEntry, UnitEntryPairTy ReferencedBy, const DWARFDebugInfoEntry *ReferencedTypeDieEntry=nullptr)
UnitEntryPairTy getRootEntry () const
CompileUnit::DieOutputPlacement getPlacement () const
bool hasReferencedByOtherEntry () const
UnitEntryPairTy getReferencedByEntry () const
const DWARFDebugInfoEntrygetReferencedTypeDieEntry () const
LiveRootWorklistActionTy getAction () const

Protected Attributes

PointerIntPair< CompileUnit *, 3, LiveRootWorklistActionTy, CompileUnitPointerTraitsRootCU
const DWARFDebugInfoEntryRootDieEntry = nullptr
CompileUnitReferencedByCU = nullptr
 Another root entry which references this RootDieEntry.
const DWARFDebugInfoEntryReferencedByDieEntry = nullptr
const DWARFDebugInfoEntryReferencedTypeDieEntry = nullptr
 The DIE actually referenced by ReferencedByDieEntry.

Detailed Description

Class keeping live worklist item data.

Definition at line 133 of file DependencyTracker.h.

Constructor & Destructor Documentation

◆ LiveRootWorklistItemTy() [1/4]

llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::LiveRootWorklistItemTy ( )
default

Referenced by LiveRootWorklistItemTy().

◆ LiveRootWorklistItemTy() [2/4]

llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::LiveRootWorklistItemTy ( const LiveRootWorklistItemTy & )
default

◆ LiveRootWorklistItemTy() [3/4]

llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::LiveRootWorklistItemTy ( LiveRootWorklistActionTy Action,
UnitEntryPairTy RootEntry )
inline

◆ LiveRootWorklistItemTy() [4/4]

llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::LiveRootWorklistItemTy ( LiveRootWorklistActionTy Action,
UnitEntryPairTy RootEntry,
UnitEntryPairTy ReferencedBy,
const DWARFDebugInfoEntry * ReferencedTypeDieEntry = nullptr )
inline

Member Function Documentation

◆ getAction()

LiveRootWorklistActionTy llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::getAction ( ) const
inline

◆ getPlacement()

CompileUnit::DieOutputPlacement llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::getPlacement ( ) const
inline

Definition at line 162 of file DependencyTracker.h.

References RootCU.

◆ getReferencedByEntry()

UnitEntryPairTy llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::getReferencedByEntry ( ) const
inline

Definition at line 168 of file DependencyTracker.h.

References assert(), ReferencedByCU, and ReferencedByDieEntry.

◆ getReferencedTypeDieEntry()

const DWARFDebugInfoEntry * llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::getReferencedTypeDieEntry ( ) const
inline
Returns
the DIE actually referenced by ReferencedByDieEntry, whose placement (rather than the enclosing RootDieEntry's) determines whether ReferencedByDieEntry may remain in the type table. Null when the referenced DIE is RootDieEntry itself, in which case RootDieEntry's placement is used instead.

Definition at line 179 of file DependencyTracker.h.

References ReferencedTypeDieEntry.

◆ getRootEntry()

UnitEntryPairTy llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::getRootEntry ( ) const
inline

◆ hasReferencedByOtherEntry()

bool llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::hasReferencedByOtherEntry ( ) const
inline

Member Data Documentation

◆ ReferencedByCU

CompileUnit* llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::ReferencedByCU = nullptr
protected

Another root entry which references this RootDieEntry.

ReferencedByDieEntry is kept to update placement. if RootDieEntry has placement incompatible with placement of ReferencedByDieEntry then it should be updated.

Definition at line 213 of file DependencyTracker.h.

Referenced by getReferencedByEntry(), hasReferencedByOtherEntry(), and LiveRootWorklistItemTy().

◆ ReferencedByDieEntry

const DWARFDebugInfoEntry* llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::ReferencedByDieEntry = nullptr
protected

Definition at line 214 of file DependencyTracker.h.

Referenced by getReferencedByEntry(), and LiveRootWorklistItemTy().

◆ ReferencedTypeDieEntry

const DWARFDebugInfoEntry* llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::ReferencedTypeDieEntry = nullptr
protected

The DIE actually referenced by ReferencedByDieEntry.

It lives in the same CU as RootDieEntry, but its placement can differ: RootDieEntry is the enclosing root that is marked as kept, whereas this DIE may be a nested type demoted independently. That placement, not RootDieEntry's, determines whether ReferencedByDieEntry may remain in the type table. Null when RootDieEntry is the referenced DIE itself.

Definition at line 222 of file DependencyTracker.h.

Referenced by getReferencedTypeDieEntry(), and LiveRootWorklistItemTy().

◆ RootCU

PointerIntPair<CompileUnit *, 3, LiveRootWorklistActionTy, CompileUnitPointerTraits> llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::RootCU
protected

◆ RootDieEntry

const DWARFDebugInfoEntry* llvm::dwarf_linker::parallel::DependencyTracker::LiveRootWorklistItemTy::RootDieEntry = nullptr
protected

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