|
LLVM 24.0.0git
|
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 |
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.
| LiveRootWorklistActionTy llvm::dwarf_linker::parallel::DependencyTracker::SubtreeDependencyRefTy::Action |
Definition at line 283 of file DependencyTracker.h.
| UnitEntryPairTy llvm::dwarf_linker::parallel::DependencyTracker::SubtreeDependencyRefTy::ReferencedBy |
Definition at line 284 of file DependencyTracker.h.
| UnitEntryPairTy llvm::dwarf_linker::parallel::DependencyTracker::SubtreeDependencyRefTy::Subtree |
Definition at line 282 of file DependencyTracker.h.