• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/DWARFLinker/

Lines Matching refs:Die

170 bool DWARFLinker::DIECloner::getDIENames(const DWARFDie &Die,
177 if (Die.getTag() == dwarf::DW_TAG_lexical_block)
181 if (const char *MangledName = Die.getLinkageName())
185 if (const char *Name = Die.getShortName())
515 static void updateChildIncompleteness(const DWARFDie &Die, CompileUnit &CU,
517 switch (Die.getTag()) {
525 unsigned Idx = CU.getOrigUnit().getDIEIndex(Die);
535 static void updateRefIncompleteness(const DWARFDie &Die, CompileUnit &CU,
537 switch (Die.getTag()) {
548 unsigned Idx = CU.getOrigUnit().getDIEIndex(Die);
561 const DWARFDie &Die, CompileUnit &CU, unsigned Flags,
568 if (dieNeedsChildrenToBeMeaningful(Die.getTag()))
573 if (!Die.hasChildren() || (Flags & DWARFLinker::TF_ParentWalk))
578 for (auto Child : reverse(Die.children())) {
583 Worklist.emplace_back(Die, CU, WorklistItemType::UpdateChildIncompleteness,
592 const DWARFDie &Die, CompileUnit &CU, unsigned Flags,
600 const auto *Abbrev = Die.getAbbreviationDeclarationPtr();
601 uint64_t Offset = Die.getOffset() + getULEB128Size(Abbrev->getCode());
616 resolveDIEReference(File, Units, Val, Die, ReferencedCU)) {
654 Worklist.emplace_back(Die, CU, WorklistItemType::UpdateRefIncompleteness,
703 const DWARFDie &Die, const DwarfFile &File,
707 Worklist.emplace_back(Die, Cu, Flags);
716 updateChildIncompleteness(Current.Die, Current.CU, *Current.OtherInfo);
719 updateRefIncompleteness(Current.Die, Current.CU, *Current.OtherInfo);
722 lookForChildDIEsToKeep(Current.Die, Current.CU, Current.Flags, Worklist);
725 lookForRefDIEsToKeep(Current.Die, Current.CU, Current.Flags, Units, File,
736 unsigned Idx = Current.CU.getOrigUnit().getDIEIndex(Current.Die);
751 Current.Flags = shouldKeepDIE(AddressesMap, Ranges, Current.Die, File,
757 Worklist.emplace_back(Current.Die, Current.CU, Current.Flags,
769 Current.Die.getTag() != dwarf::DW_TAG_subprogram &&
770 Current.Die.getTag() != dwarf::DW_TAG_member &&
771 dwarf::toUnsigned(Current.Die.find(dwarf::DW_AT_declaration), 0);
776 Worklist.emplace_back(Current.Die, Current.CU, Current.Flags,
820 DIE &Die, AttributeSpec AttrSpec, const DWARFFormValue &Val,
833 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), dwarf::DW_FORM_strp,
840 DIE &Die, const DWARFDie &InputDIE, AttributeSpec AttrSpec,
866 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr),
893 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr),
900 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr),
906 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr),
978 DIE &Die, const DwarfFile &File, CompileUnit &Unit, AttributeSpec AttrSpec,
1028 Die.addValue(DIEAlloc, Value);
1033 DIE &Die, AttributeSpec AttrSpec, const DWARFFormValue &Val,
1040 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr),
1046 if (Die.getTag() == dwarf::DW_TAG_inlined_subroutine ||
1047 Die.getTag() == dwarf::DW_TAG_lexical_block)
1056 else if (Die.getTag() == dwarf::DW_TAG_compile_unit) {
1063 if (Die.getTag() == dwarf::DW_TAG_compile_unit) {
1075 if (Die.getTag() == dwarf::DW_TAG_call_site)
1080 if (Die.getTag() == dwarf::DW_TAG_call_site)
1084 Die.addValue(DIEAlloc, static_cast<dwarf::Attribute>(AttrSpec.Attr),
1090 DIE &Die, const DWARFDie &InputDIE, const DwarfFile &File,
1110 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr),
1116 Die.getTag() == dwarf::DW_TAG_compile_unit) {
1134 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr),
1137 Unit.noteRangeAttribute(Die, Patch);
1155 /// value \p Val, and add it to \p Die.
1158 DIE &Die, const DWARFDie &InputDIE, const DwarfFile &File,
1167 return cloneStringAttribute(Die, AttrSpec, Val, U, StringPool, Info);
1173 return cloneDieReferenceAttribute(Die, InputDIE, AttrSpec, AttrSize, Val,
1180 return cloneBlockAttribute(Die, File, Unit, AttrSpec, Val, AttrSize,
1183 return cloneAddressAttribute(Die, AttrSpec, Val, Unit, Info);
1193 return cloneScalarAttribute(Die, InputDIE, File, Unit, AttrSpec, Val,
1210 const DIE *Die,
1227 Unit.addNameAccelerator(Die, StringPool.getEntry(Selector), SkipPubSection);
1232 Unit.addObjCAccelerator(Die, StringPool.getEntry(ClassName), SkipPubSection);
1238 Unit.addObjCAccelerator(Die, StringPool.getEntry(ClassNameNoCategory),
1245 Unit.addNameAccelerator(Die, StringPool.getEntry(MethodNameNoCategory),
1280 DIE *Die) {
1290 assert(!(Die && Info.Clone) && "Can't supply a DIE and a cloned DIE");
1291 if (!Die) {
1296 Die = Info.Clone;
1299 assert(Die->getTag() == InputDIE.getTag());
1300 Die->setOffset(OutOffset);
1302 Die->getTag() != dwarf::DW_TAG_namespace && Info.Ctxt &&
1360 if (Die->getTag() == dwarf::DW_TAG_subprogram)
1373 shouldSkipAttribute(AttrSpec, Die->getTag(), Info.InDebugMap,
1392 OutOffset += cloneAttribute(*Die, InputDIE, File, Unit, StringPool, Val,
1406 Unit.addNameAccelerator(Die, AttrInfo.MangledName,
1410 Unit.addNameAccelerator(Die, AttrInfo.NameWithoutTemplate,
1412 Unit.addNameAccelerator(Die, AttrInfo.Name,
1416 addObjCAccelerator(Unit, Die, AttrInfo.Name, StringPool,
1422 Unit.addNamespaceAccelerator(Die, AttrInfo.Name);
1435 Unit.addTypeAccelerator(Die, AttrInfo.Name, ObjCClassIsImplementation,
1449 DIEAbbrev NewAbbrev = Die->generateAbbrev();
1454 Die->setAbbrevNumber(NewAbbrev.getNumber());
1457 OutOffset += getULEB128Size(Die->getAbbrevNumber());
1461 Die->setSize(OutOffset - Die->getOffset());
1462 return Die;
1469 Die->addChild(Clone);
1477 Die->setSize(OutOffset - Die->getOffset());
1478 return Die;
1578 static void patchStmtList(DIE &Die, DIEInteger Offset) {
1579 for (auto &V : Die.values())
1752 Namespace.Die->getOffset() + Unit.getStartOffset());
1758 Pubname.Die->getOffset() + Unit.getStartOffset());
1764 Pubtype.Name, Pubtype.Die->getOffset() + Unit.getStartOffset(),
1765 Pubtype.Die->getTag(),
1772 AppleObjc.addName(ObjC.Name, ObjC.Die->getOffset() + Unit.getStartOffset());
1777 DebugNames.addName(Namespace.Name, Namespace.Die->getOffset(),
1778 Namespace.Die->getTag(), Unit.getUniqueID());
1780 DebugNames.addName(Pubname.Name, Pubname.Die->getOffset(),
1781 Pubname.Die->getTag(), Unit.getUniqueID());
1783 DebugNames.addName(Pubtype.Name, Pubtype.Die->getOffset(),
1784 Pubtype.Die->getTag(), Unit.getUniqueID());
1927 DWARFDie Die = OrigUnit->getDIEAtIndex(CU->getInfo(Idx).ParentIdx);
1931 hashFullyQualifiedName(Die, *CU, File, ++ChildRecurseDepth)));