Lines Matching defs:Unit
67 void DWARF5AcceleratorTable::setCurrentUnit(DWARFUnit &Unit,
71 std::optional<uint64_t> DWOID = Unit.getDWOId();
74 if (!Unit.isDWOUnit() && DWOID) {
82 void DWARF5AcceleratorTable::addUnit(DWARFUnit &Unit,
85 StrSection = Unit.getStringSection();
86 if (Unit.isTypeUnit()) {
93 const uint64_t TUHash = cast<DWARFTypeUnit>(&Unit)->getTypeHash();
118 static bool shouldIncludeVariable(const DWARFUnit &Unit, const DIE &Die) {
124 Unit.getVersion()) ||
126 Unit.getVersion())))
135 Unit.getVersion()))
141 Unit.getContext().isLittleEndian(), 0);
142 DWARFExpression LocExpr(Data, Unit.getAddressByteSize(),
143 Unit.getFormParams().Format);
152 bool static canProcess(const DWARFUnit &Unit, const DIE &Die,
185 return TagsOnly || shouldIncludeVariable(Unit, Die);
193 const DWARFUnit &Unit, const DIE &Die,
198 if (!canProcess(Unit, Die, NameToUse, true))
205 static uint64_t getNameOffset(BinaryContext &BC, DWARFUnit &Unit,
207 const DWARFSection &StrOffsetsSection = Unit.getStringOffsetSection();
209 Unit.getStringOffsetsTableContribution();
213 << Twine::utohexstr(Unit.getOffset()) << ".\n";
226 uint32_t DWARF5AcceleratorTable::getUnitID(const DWARFUnit &Unit,
229 IsTU = Unit.isTypeUnit();
232 const uint64_t TUHash = cast<DWARFTypeUnit>(&Unit)->getTypeHash();
243 DWARFUnit &Unit, const std::optional<uint64_t> &DWOID,
253 NameIndexOffset = getNameOffset(BC, Unit, NameIndexOffset);
262 // For DWO Unit the offset is in the .debug_str.dwo section.
297 "DWO ID in CU offsets for second Unit Index "
322 DWARFUnit &Unit, const DIE &Die, const std::optional<uint64_t> &DWOID,
345 return {{&Unit, &DIEENtry.getEntry()}};
350 DWARFUnit *RefUnit = &Unit;
370 addEntry(Unit, Die, DWOID, Parent,
373 return addEntry(Unit, Die, DWOID, Parent,
380 DWARFUnit &Unit, const DIE &Die, const std::optional<uint64_t> &DWOID,
383 if (Unit.getVersion() < 5 || !NeedToCreate)
387 if (!canProcess(Unit, Die, NameToUse, false))
390 // Adds a Unit to either CU, LocalTU or ForeignTU list the first time we
393 if (&Unit != CurrentUnit) {
394 CurrentUnit = &Unit;
395 addUnit(Unit, DWOID);
405 LinkageEntry = addEntry(Unit, Die, DWOID, Parent,
406 getName(Unit, DWOID, NameToUse, LinkageNameVal),
410 addEntry(Unit, Die, DWOID, Parent,
411 getName(Unit, DWOID, NameToUse, NameVal), NumberParentsInChain);
423 Unit, Die, DWOID, Parent, NameToUse, NumberParentsInChain,
427 Unit, Die, DWOID, Parent, NameToUse, NumberParentsInChain,
701 // Compilation Unit Count
704 // Local Type Unit Count
708 // Foreign Type Unit Count