LLVM 24.0.0git
llvm::dwarf_linker::parallel::DependencyTracker::SubtreeDependencyRefTy Struct Reference

A root referencing an already-marked subtree, standing in for all of that subtree's dependencies. More...

#include "DWARFLinker/Parallel/DependencyTracker.h"

Public Attributes

UnitEntryPairTy Subtree
LiveRootWorklistActionTy Action
UnitEntryPairTy ReferencedBy

Detailed Description

A root referencing an already-marked subtree, standing in for all of that subtree's dependencies.

The subtree is walked when completeness is checked, once per subtree rather than once per referencing root, which is what keeps recording linear in the number of shared subtrees.

Deferring the walk out of marking also keeps it off the state marking is still mutating. A walk that only records dependencies reads a DIE's ODR availability and whether it has an address, both settled before marking begins, and never the keep and placement bits that sibling units raise as they mark. Walking during marking would consult those bits through isAlreadyMarked and yield a result that depends on how the units interleave.

Definition at line 281 of file DependencyTracker.h.

Member Data Documentation

◆ Action

LiveRootWorklistActionTy llvm::dwarf_linker::parallel::DependencyTracker::SubtreeDependencyRefTy::Action

Definition at line 283 of file DependencyTracker.h.

◆ ReferencedBy

UnitEntryPairTy llvm::dwarf_linker::parallel::DependencyTracker::SubtreeDependencyRefTy::ReferencedBy

Definition at line 284 of file DependencyTracker.h.

◆ Subtree

UnitEntryPairTy llvm::dwarf_linker::parallel::DependencyTracker::SubtreeDependencyRefTy::Subtree

Definition at line 282 of file DependencyTracker.h.


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