Lines Matching refs:Unit

47   for (auto &Unit : Dwarf.compile_units()) {  in getDebugInfoSize()  local
48 Size += Unit->getLength(); in getDebugInfoSize()
463 const DWARFFile &File, CompileUnit &Unit, CompileUnit::DIEInfo &MyInfo, in shouldKeepSubprogramDIE() argument
484 if (Unit.hasLabelAt(*LowPc)) in shouldKeepSubprogramDIE()
487 DWARFUnit &OrigUnit = Unit.getOrigUnit(); in shouldKeepSubprogramDIE()
495 Unit.addLabelLowPc(*LowPc, MyInfo.AddrAdjust); in shouldKeepSubprogramDIE()
515 Unit.addFunctionRange(*LowPc, *HighPc, MyInfo.AddrAdjust); in shouldKeepSubprogramDIE()
523 CompileUnit &Unit, in shouldKeepDIE() argument
532 return shouldKeepSubprogramDIE(RelocMgr, Ranges, DIE, File, Unit, MyInfo, in shouldKeepDIE()
654 DWARFUnit &Unit = CU.getOrigUnit(); in lookForRefDIEsToKeep() local
655 DWARFDataExtractor Data = Unit.getDebugInfoExtractor(); in lookForRefDIEsToKeep()
665 Unit.getFormParams()); in lookForRefDIEsToKeep()
669 Val.extractValue(Data, &Offset, Unit.getFormParams(), &Unit); in lookForRefDIEsToKeep()
721 DWARFUnit &Unit = CU.getOrigUnit(); in lookForParentDIEsToKeep() local
722 DWARFDie ParentDIE = Unit.getDIEAtIndex(AncestorIdx); in lookForParentDIEsToKeep()
908 CompileUnit &Unit) { in cloneDieReferenceAttribute() argument
909 const DWARFUnit &U = Unit.getOrigUnit(); in cloneDieReferenceAttribute()
945 (Unit.hasODR() && isODRAttribute(AttrSpec.Attr))) { in cloneDieReferenceAttribute()
962 Unit.noteForwardReference( in cloneDieReferenceAttribute()
978 CompileUnit &Unit, SmallVectorImpl<uint8_t> &OutputBuffer) { in cloneExpression() argument
1013 RefOffset += Unit.getOrigUnit().getOffset(); in cloneExpression()
1014 auto RefDie = Unit.getOrigUnit().getDIEForOffset(RefOffset); in cloneExpression()
1015 CompileUnit::DIEInfo &Info = Unit.getInfo(RefDie); in cloneExpression()
1042 DIE &Die, const DWARFFile &File, CompileUnit &Unit, AttributeSpec AttrSpec, in cloneBlockAttribute() argument
1072 DWARFUnit &OrigUnit = Unit.getOrigUnit(); in cloneBlockAttribute()
1077 cloneExpression(Data, Expr, File, Unit, Buffer); in cloneBlockAttribute()
1098 const CompileUnit &Unit, AttributesInfo &Info) { in cloneAddressAttribute() argument
1104 return Unit.getOrigUnit().getAddressByteSize(); in cloneAddressAttribute()
1111 Unit.getOrigUnit().getAddrOffsetSectionBase()) { in cloneAddressAttribute()
1114 StartOffset + Unit.getOrigUnit().getAddressByteSize(); in cloneAddressAttribute()
1141 Addr = Unit.getLowPc(); in cloneAddressAttribute()
1148 if (uint64_t HighPc = Unit.getHighPc()) in cloneAddressAttribute()
1170 return Unit.getOrigUnit().getAddressByteSize(); in cloneAddressAttribute()
1175 CompileUnit &Unit, AttributeSpec AttrSpec, const DWARFFormValue &Val, in cloneScalarAttribute() argument
1201 if (Unit.getLowPc() == -1ULL) in cloneScalarAttribute()
1204 Value = Unit.getHighPc() - Unit.getLowPc(); in cloneScalarAttribute()
1221 Unit.noteRangeAttribute(Die, Patch); in cloneScalarAttribute()
1231 Unit.noteLocationAttribute(Patch, Info.PCOffset); in cloneScalarAttribute()
1243 CompileUnit &Unit, OffsetsStringPool &StringPool, const DWARFFormValue &Val, in cloneAttribute() argument
1246 const DWARFUnit &U = Unit.getOrigUnit(); in cloneAttribute()
1263 File, Unit); in cloneAttribute()
1269 return cloneBlockAttribute(Die, File, Unit, AttrSpec, Val, AttrSize, in cloneAttribute()
1273 return cloneAddressAttribute(Die, AttrSpec, Val, Unit, Info); in cloneAttribute()
1283 return cloneScalarAttribute(Die, InputDIE, File, Unit, AttrSpec, Val, in cloneAttribute()
1300 void DWARFLinker::DIECloner::addObjCAccelerator(CompileUnit &Unit, in addObjCAccelerator() argument
1318 Unit.addNameAccelerator(Die, StringPool.getEntry(Selector), SkipPubSection); in addObjCAccelerator()
1323 Unit.addObjCAccelerator(Die, StringPool.getEntry(ClassName), SkipPubSection); in addObjCAccelerator()
1329 Unit.addObjCAccelerator(Die, StringPool.getEntry(ClassNameNoCategory), in addObjCAccelerator()
1336 Unit.addNameAccelerator(Die, StringPool.getEntry(MethodNameNoCategory), in addObjCAccelerator()
1370 const DWARFFile &File, CompileUnit &Unit, in cloneDIE() argument
1375 DWARFUnit &U = Unit.getOrigUnit(); in cloneDIE()
1377 CompileUnit::DIEInfo &Info = Unit.getInfo(Idx); in cloneDIE()
1380 if (!Unit.getInfo(Idx).Keep) in cloneDIE()
1395 if (isODRCanonicalCandidate(InputDIE, Unit) && Info.Ctxt && in cloneDIE()
1402 Info.Ctxt->setCanonicalDIEOffset(OutOffset + Unit.getStartOffset()); in cloneDIE()
1482 OutOffset += cloneAttribute(*Die, InputDIE, File, Unit, StringPool, Val, in cloneDIE()
1496 Unit.addNameAccelerator(Die, AttrInfo.MangledName, in cloneDIE()
1500 Unit.addNameAccelerator(Die, AttrInfo.NameWithoutTemplate, in cloneDIE()
1502 Unit.addNameAccelerator(Die, AttrInfo.Name, in cloneDIE()
1506 addObjCAccelerator(Unit, Die, AttrInfo.Name, StringPool, in cloneDIE()
1512 Unit.addNamespaceAccelerator(Die, AttrInfo.Name); in cloneDIE()
1516 uint32_t Hash = hashFullyQualifiedName(InputDIE, Unit, File); in cloneDIE()
1525 Unit.addTypeAccelerator(Die, AttrInfo.Name, ObjCClassIsImplementation, in cloneDIE()
1533 if (Unit.getInfo(Idx).Keep) { in cloneDIE()
1557 if (DIE *Clone = cloneDIE(Child, File, Unit, StringPool, PCOffset, in cloneDIE()
1574 void DWARFLinker::patchRangesForUnit(const CompileUnit &Unit, in patchRangesForUnit() argument
1578 const auto &FunctionRanges = Unit.getFunctionRanges(); in patchRangesForUnit()
1579 unsigned AddressSize = Unit.getOrigUnit().getAddressByteSize(); in patchRangesForUnit()
1584 DWARFUnit &OrigUnit = Unit.getOrigUnit(); in patchRangesForUnit()
1592 UnitPcOffset = int64_t(OrigLowPc) - Unit.getLowPc(); in patchRangesForUnit()
1594 for (const auto &RangeAttribute : Unit.getRangesAttributes()) { in patchRangesForUnit()
1628 void DWARFLinker::generateUnitRanges(CompileUnit &Unit) const { in generateUnitRanges()
1629 auto Attr = Unit.getUnitRangesAttribute(); in generateUnitRanges()
1632 TheDwarfEmitter->emitUnitRangesEntries(Unit, static_cast<bool>(Attr)); in generateUnitRanges()
1680 void DWARFLinker::patchLineTableForUnit(CompileUnit &Unit, in patchLineTableForUnit() argument
1683 DWARFDie CUDie = Unit.getOrigUnit().getUnitDIE(); in patchLineTableForUnit()
1689 if (auto *OutputDIE = Unit.getOutputUnitDIE()) in patchLineTableForUnit()
1700 OrigDwarf.isLittleEndian(), Unit.getOrigUnit().getAddressByteSize()); in patchLineTableForUnit()
1706 &Unit.getOrigUnit(), OrigDwarf.getWarningHandler())) in patchLineTableForUnit()
1716 const auto &FunctionRanges = Unit.getFunctionRanges(); in patchLineTableForUnit()
1809 Unit.getOrigUnit().getAddressByteSize()); in patchLineTableForUnit()
1813 void DWARFLinker::emitAcceleratorEntriesForUnit(CompileUnit &Unit) { in emitAcceleratorEntriesForUnit() argument
1819 emitAppleAcceleratorEntriesForUnit(Unit); in emitAcceleratorEntriesForUnit()
1822 emitDwarfAcceleratorEntriesForUnit(Unit); in emitAcceleratorEntriesForUnit()
1825 emitPubAcceleratorEntriesForUnit(Unit); in emitAcceleratorEntriesForUnit()
1833 void DWARFLinker::emitAppleAcceleratorEntriesForUnit(CompileUnit &Unit) { in emitAppleAcceleratorEntriesForUnit() argument
1835 for (const auto &Namespace : Unit.getNamespaces()) in emitAppleAcceleratorEntriesForUnit()
1837 Namespace.Die->getOffset() + Unit.getStartOffset()); in emitAppleAcceleratorEntriesForUnit()
1840 for (const auto &Pubname : Unit.getPubnames()) in emitAppleAcceleratorEntriesForUnit()
1842 Pubname.Die->getOffset() + Unit.getStartOffset()); in emitAppleAcceleratorEntriesForUnit()
1845 for (const auto &Pubtype : Unit.getPubtypes()) in emitAppleAcceleratorEntriesForUnit()
1847 Pubtype.Name, Pubtype.Die->getOffset() + Unit.getStartOffset(), in emitAppleAcceleratorEntriesForUnit()
1854 for (const auto &ObjC : Unit.getObjC()) in emitAppleAcceleratorEntriesForUnit()
1855 AppleObjc.addName(ObjC.Name, ObjC.Die->getOffset() + Unit.getStartOffset()); in emitAppleAcceleratorEntriesForUnit()
1858 void DWARFLinker::emitDwarfAcceleratorEntriesForUnit(CompileUnit &Unit) { in emitDwarfAcceleratorEntriesForUnit() argument
1859 for (const auto &Namespace : Unit.getNamespaces()) in emitDwarfAcceleratorEntriesForUnit()
1861 Namespace.Die->getTag(), Unit.getUniqueID()); in emitDwarfAcceleratorEntriesForUnit()
1862 for (const auto &Pubname : Unit.getPubnames()) in emitDwarfAcceleratorEntriesForUnit()
1864 Pubname.Die->getTag(), Unit.getUniqueID()); in emitDwarfAcceleratorEntriesForUnit()
1865 for (const auto &Pubtype : Unit.getPubtypes()) in emitDwarfAcceleratorEntriesForUnit()
1867 Pubtype.Die->getTag(), Unit.getUniqueID()); in emitDwarfAcceleratorEntriesForUnit()
1870 void DWARFLinker::emitPubAcceleratorEntriesForUnit(CompileUnit &Unit) { in emitPubAcceleratorEntriesForUnit() argument
1871 TheDwarfEmitter->emitPubNamesForUnit(Unit); in emitPubAcceleratorEntriesForUnit()
1872 TheDwarfEmitter->emitPubTypesForUnit(Unit); in emitPubAcceleratorEntriesForUnit()
2000 static uint64_t getDwoId(const DWARFDie &CUDie, const DWARFUnit &Unit) { in getDwoId() argument
2020 bool DWARFLinker::registerModuleReference(DWARFDie CUDie, const DWARFUnit &Unit, in registerModuleReference() argument
2035 uint64_t DwoId = getDwoId(CUDie, Unit); in registerModuleReference()
2099 std::unique_ptr<CompileUnit> Unit; in loadClangModule() local
2110 if (Unit) { in loadClangModule()
2134 Unit = std::make_unique<CompileUnit>(*CU, UnitID++, !Options.NoODR, in loadClangModule()
2136 analyzeContextInfo(CUDie, 0, *Unit, &ODRContexts.getRoot(), ODRContexts, in loadClangModule()
2142 Unit->markEverythingAsKept(); in loadClangModule()
2145 assert(Unit && "CompileUnit is not set!"); in loadClangModule()
2146 if (!Unit->getOrigUnit().getUnitDIE().hasChildren()) in loadClangModule()
2154 CompileUnits.push_back(std::move(Unit)); in loadClangModule()