Lines Matching refs:dwarf

107   case dwarf::DW_AT_type:  in isODRAttribute()
108 case dwarf::DW_AT_containing_type: in isODRAttribute()
109 case dwarf::DW_AT_specification: in isODRAttribute()
110 case dwarf::DW_AT_abstract_origin: in isODRAttribute()
111 case dwarf::DW_AT_import: in isODRAttribute()
119 case dwarf::DW_TAG_array_type: in isTypeTag()
120 case dwarf::DW_TAG_class_type: in isTypeTag()
121 case dwarf::DW_TAG_enumeration_type: in isTypeTag()
122 case dwarf::DW_TAG_pointer_type: in isTypeTag()
123 case dwarf::DW_TAG_reference_type: in isTypeTag()
124 case dwarf::DW_TAG_string_type: in isTypeTag()
125 case dwarf::DW_TAG_structure_type: in isTypeTag()
126 case dwarf::DW_TAG_subroutine_type: in isTypeTag()
127 case dwarf::DW_TAG_template_alias: in isTypeTag()
128 case dwarf::DW_TAG_typedef: in isTypeTag()
129 case dwarf::DW_TAG_union_type: in isTypeTag()
130 case dwarf::DW_TAG_ptr_to_member_type: in isTypeTag()
131 case dwarf::DW_TAG_set_type: in isTypeTag()
132 case dwarf::DW_TAG_subrange_type: in isTypeTag()
133 case dwarf::DW_TAG_base_type: in isTypeTag()
134 case dwarf::DW_TAG_const_type: in isTypeTag()
135 case dwarf::DW_TAG_constant: in isTypeTag()
136 case dwarf::DW_TAG_file_type: in isTypeTag()
137 case dwarf::DW_TAG_namelist: in isTypeTag()
138 case dwarf::DW_TAG_packed_type: in isTypeTag()
139 case dwarf::DW_TAG_volatile_type: in isTypeTag()
140 case dwarf::DW_TAG_restrict_type: in isTypeTag()
141 case dwarf::DW_TAG_atomic_type: in isTypeTag()
142 case dwarf::DW_TAG_interface_type: in isTypeTag()
143 case dwarf::DW_TAG_unspecified_type: in isTypeTag()
144 case dwarf::DW_TAG_shared_type: in isTypeTag()
145 case dwarf::DW_TAG_immutable_type: in isTypeTag()
160 if (Die.getTag() == dwarf::DW_TAG_lexical_block) in getDIENames()
186 sys::path::append(Buf, dwarf::toString(CU.find(dwarf::DW_AT_comp_dir), "")); in resolveRelativeObjectPath()
195 if (CU.getLanguage() != dwarf::DW_LANG_Swift) in analyzeImportedModule()
201 StringRef Path = dwarf::toStringRef(DIE.find(dwarf::DW_AT_LLVM_include_path)); in analyzeImportedModule()
205 StringRef SysRoot = dwarf::toStringRef(DIE.find(dwarf::DW_AT_LLVM_sysroot)); in analyzeImportedModule()
218 dwarf::toString(DIE.find(dwarf::DW_AT_name)); in analyzeImportedModule()
275 Info.Prune &= (Die.getTag() == dwarf::DW_TAG_module) || in updatePruning()
277 dwarf::toUnsigned(Die.find(dwarf::DW_AT_declaration), 0)); in updatePruning()
344 if (Current.Die.getTag() == dwarf::DW_TAG_module && in analyzeContextInfo()
346 dwarf::toString(Current.Die.find(dwarf::DW_AT_name), "") != in analyzeContextInfo()
386 case dwarf::DW_TAG_class_type: in dieNeedsChildrenToBeMeaningful()
387 case dwarf::DW_TAG_common_block: in dieNeedsChildrenToBeMeaningful()
388 case dwarf::DW_TAG_lexical_block: in dieNeedsChildrenToBeMeaningful()
389 case dwarf::DW_TAG_structure_type: in dieNeedsChildrenToBeMeaningful()
390 case dwarf::DW_TAG_subprogram: in dieNeedsChildrenToBeMeaningful()
391 case dwarf::DW_TAG_subroutine_type: in dieNeedsChildrenToBeMeaningful()
392 case dwarf::DW_TAG_union_type: in dieNeedsChildrenToBeMeaningful()
412 return DW_OP_Code == dwarf::DW_OP_form_tls_address || in isTlsAddressCode()
413 DW_OP_Code == dwarf::DW_OP_GNU_push_tls_address; in isTlsAddressCode()
419 assert((DIE.getTag() == dwarf::DW_TAG_variable || in getVariableRelocAdjustment()
420 DIE.getTag() == dwarf::DW_TAG_constant) && in getVariableRelocAdjustment()
428 Abbrev->findAttributeIndex(dwarf::DW_AT_location); in getVariableRelocAdjustment()
464 case dwarf::DW_OP_const2u: in getVariableRelocAdjustment()
465 case dwarf::DW_OP_const4u: in getVariableRelocAdjustment()
466 case dwarf::DW_OP_const8u: in getVariableRelocAdjustment()
467 case dwarf::DW_OP_const2s: in getVariableRelocAdjustment()
468 case dwarf::DW_OP_const4s: in getVariableRelocAdjustment()
469 case dwarf::DW_OP_const8s: in getVariableRelocAdjustment()
473 case dwarf::DW_OP_addr: { in getVariableRelocAdjustment()
482 case dwarf::DW_OP_constx: in getVariableRelocAdjustment()
483 case dwarf::DW_OP_addrx: { in getVariableRelocAdjustment()
517 Abbrev->findAttributeIndex(dwarf::DW_AT_const_value)) { in shouldKeepVariableDIE()
561 auto LowPc = dwarf::toAddress(DIE.find(dwarf::DW_AT_low_pc)); in shouldKeepSubprogramDIE()
582 if (DIE.getTag() == dwarf::DW_TAG_label) { in shouldKeepSubprogramDIE()
591 if (dwarf::toAddress(OrigUnit.getUnitDIE().find(dwarf::DW_AT_high_pc)) in shouldKeepSubprogramDIE()
624 case dwarf::DW_TAG_constant: in shouldKeepDIE()
625 case dwarf::DW_TAG_variable: in shouldKeepDIE()
627 case dwarf::DW_TAG_subprogram: in shouldKeepDIE()
628 case dwarf::DW_TAG_label: in shouldKeepDIE()
630 case dwarf::DW_TAG_base_type: in shouldKeepDIE()
633 case dwarf::DW_TAG_imported_module: in shouldKeepDIE()
634 case dwarf::DW_TAG_imported_declaration: in shouldKeepDIE()
635 case dwarf::DW_TAG_imported_unit: in shouldKeepDIE()
651 case dwarf::DW_TAG_structure_type: in updateChildIncompleteness()
652 case dwarf::DW_TAG_class_type: in updateChildIncompleteness()
653 case dwarf::DW_TAG_union_type: in updateChildIncompleteness()
671 case dwarf::DW_TAG_typedef: in updateRefIncompleteness()
672 case dwarf::DW_TAG_member: in updateRefIncompleteness()
673 case dwarf::DW_TAG_reference_type: in updateRefIncompleteness()
674 case dwarf::DW_TAG_ptr_to_member_type: in updateRefIncompleteness()
675 case dwarf::DW_TAG_pointer_type: in updateRefIncompleteness()
723 if (!Info.Ctxt || (Die.getTag() == dwarf::DW_TAG_namespace)) in isODRCanonicalCandidate()
759 AttrSpec.Attr == dwarf::DW_AT_sibling) { in lookForRefDIEsToKeep()
780 if (AttrSpec.Form != dwarf::DW_FORM_ref_addr && in lookForRefDIEsToKeep()
932 Current.Die.getTag() != dwarf::DW_TAG_subprogram && in lookForDIEsToKeep()
933 Current.Die.getTag() != dwarf::DW_TAG_member && in lookForDIEsToKeep()
934 dwarf::toUnsigned(Current.Die.find(dwarf::DW_AT_declaration), 0); in lookForDIEsToKeep()
1039 std::optional<const char *> String = dwarf::toString(Val); in cloneStringAttribute()
1043 if (AttrSpec.Form == dwarf::DW_FORM_line_strp) { in cloneStringAttribute()
1048 if (AttrSpec.Attr == dwarf::DW_AT_APPLE_origin) { in cloneStringAttribute()
1057 if (AttrSpec.Attr == dwarf::DW_AT_name) in cloneStringAttribute()
1059 else if (AttrSpec.Attr == dwarf::DW_AT_MIPS_linkage_name || in cloneStringAttribute()
1060 AttrSpec.Attr == dwarf::DW_AT_linkage_name) in cloneStringAttribute()
1067 .addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneStringAttribute()
1068 dwarf::DW_FORM_strx, DIEInteger(StringOffsetIndex)) in cloneStringAttribute()
1072 AttrSpec.Form = dwarf::DW_FORM_strp; in cloneStringAttribute()
1074 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), AttrSpec.Form, in cloneStringAttribute()
1099 if (!RefDie || AttrSpec.Attr == dwarf::DW_AT_sibling) in cloneDieReferenceAttribute()
1111 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
1112 dwarf::DW_FORM_ref_addr, Attr); in cloneDieReferenceAttribute()
1120 RefInfo.Clone = DIE::get(DIEAlloc, dwarf::Tag(RefDie.getTag())); in cloneDieReferenceAttribute()
1124 if (AttrSpec.Form == dwarf::DW_FORM_ref_addr || in cloneDieReferenceAttribute()
1137 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
1138 dwarf::DW_FORM_ref_addr, DIEInteger(Attr)); in cloneDieReferenceAttribute()
1144 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
1145 dwarf::DW_FORM_ref_addr, DIEInteger(Attr))); in cloneDieReferenceAttribute()
1150 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
1151 dwarf::Form(AttrSpec.Form), DIEEntry(*NewRefDie)); in cloneDieReferenceAttribute()
1196 if (RefOffset > 0 || Op.getCode() != dwarf::DW_OP_convert) { in cloneExpression()
1216 } else if (!Linker.Options.Update && Op.getCode() == dwarf::DW_OP_addrx) { in cloneExpression()
1224 OutputBuffer.push_back(dwarf::DW_OP_addr); in cloneExpression()
1234 } else if (!Linker.Options.Update && Op.getCode() == dwarf::DW_OP_constx) { in cloneExpression()
1245 OutOperandKind = dwarf::DW_OP_const4u; in cloneExpression()
1248 OutOperandKind = dwarf::DW_OP_const8u; in cloneExpression()
1286 if (AttrSpec.Form == dwarf::DW_FORM_exprloc) { in cloneBlockAttribute()
1313 Attr->addValue(DIEAlloc, static_cast<dwarf::Attribute>(0), in cloneBlockAttribute()
1314 dwarf::DW_FORM_data1, DIEInteger(Byte)); in cloneBlockAttribute()
1325 Value = DIEValue(dwarf::Attribute(AttrSpec.Attr), in cloneBlockAttribute()
1326 dwarf::Form(AttrSpec.Form), Loc); in cloneBlockAttribute()
1330 if ((AttrSpec.Form == dwarf::DW_FORM_block1 && in cloneBlockAttribute()
1332 (AttrSpec.Form == dwarf::DW_FORM_block2 && in cloneBlockAttribute()
1334 (AttrSpec.Form == dwarf::DW_FORM_block4 && (Bytes.size() > UINT32_MAX))) in cloneBlockAttribute()
1335 AttrSpec.Form = dwarf::DW_FORM_block; in cloneBlockAttribute()
1337 Value = DIEValue(dwarf::Attribute(AttrSpec.Attr), in cloneBlockAttribute()
1338 dwarf::Form(AttrSpec.Form), Block); in cloneBlockAttribute()
1348 if (AttrSpec.Attr == dwarf::DW_AT_low_pc) in cloneAddressAttribute()
1352 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneAddressAttribute()
1353 dwarf::Form(AttrSpec.Form), DIEInteger(Val.getRawUValue())); in cloneAddressAttribute()
1379 if (InputDIE.getTag() == dwarf::DW_TAG_compile_unit && in cloneAddressAttribute()
1380 AttrSpec.Attr == dwarf::DW_AT_low_pc) { in cloneAddressAttribute()
1385 } else if (InputDIE.getTag() == dwarf::DW_TAG_compile_unit && in cloneAddressAttribute()
1386 AttrSpec.Attr == dwarf::DW_AT_high_pc) { in cloneAddressAttribute()
1395 if (AttrSpec.Form == dwarf::DW_FORM_addr) { in cloneAddressAttribute()
1396 Die.addValue(DIEAlloc, static_cast<dwarf::Attribute>(AttrSpec.Attr), in cloneAddressAttribute()
1404 .addValue(DIEAlloc, static_cast<dwarf::Attribute>(AttrSpec.Attr), in cloneAddressAttribute()
1405 dwarf::Form::DW_FORM_addrx, DIEInteger(AddrIndex)) in cloneAddressAttribute()
1417 if (AttrSpec.Attr == dwarf::DW_AT_macro_info) { in cloneScalarAttribute()
1425 if (AttrSpec.Attr == dwarf::DW_AT_macros) { in cloneScalarAttribute()
1433 if (AttrSpec.Attr == dwarf::DW_AT_str_offsets_base) { in cloneScalarAttribute()
1439 .addValue(DIEAlloc, dwarf::DW_AT_str_offsets_base, in cloneScalarAttribute()
1440 dwarf::DW_FORM_sec_offset, DIEInteger(8)) in cloneScalarAttribute()
1457 if (AttrSpec.Attr == dwarf::DW_AT_declaration && Value) in cloneScalarAttribute()
1460 if (AttrSpec.Form == dwarf::DW_FORM_loclistx) in cloneScalarAttribute()
1461 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneScalarAttribute()
1462 dwarf::Form(AttrSpec.Form), DIELocList(Value)); in cloneScalarAttribute()
1464 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneScalarAttribute()
1465 dwarf::Form(AttrSpec.Form), DIEInteger(Value)); in cloneScalarAttribute()
1469 [[maybe_unused]] dwarf::Form OriginalForm = AttrSpec.Form; in cloneScalarAttribute()
1470 if (AttrSpec.Form == dwarf::DW_FORM_rnglistx) { in cloneScalarAttribute()
1489 AttrSpec.Form = dwarf::DW_FORM_sec_offset; in cloneScalarAttribute()
1491 } else if (AttrSpec.Form == dwarf::DW_FORM_loclistx) { in cloneScalarAttribute()
1510 AttrSpec.Form = dwarf::DW_FORM_sec_offset; in cloneScalarAttribute()
1512 } else if (AttrSpec.Attr == dwarf::DW_AT_high_pc && in cloneScalarAttribute()
1513 Die.getTag() == dwarf::DW_TAG_compile_unit) { in cloneScalarAttribute()
1519 } else if (AttrSpec.Form == dwarf::DW_FORM_sec_offset) in cloneScalarAttribute()
1521 else if (AttrSpec.Form == dwarf::DW_FORM_sdata) in cloneScalarAttribute()
1533 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneScalarAttribute()
1534 dwarf::Form(AttrSpec.Form), DIEInteger(Value)); in cloneScalarAttribute()
1535 if (AttrSpec.Attr == dwarf::DW_AT_ranges || in cloneScalarAttribute()
1536 AttrSpec.Attr == dwarf::DW_AT_start_scope) { in cloneScalarAttribute()
1540 dwarf::doesFormBelongToClass(AttrSpec.Form, in cloneScalarAttribute()
1548 } else if (AttrSpec.Attr == dwarf::DW_AT_declaration && Value) in cloneScalarAttribute()
1552 assert((Info.HasRanges || (OriginalForm != dwarf::DW_FORM_rnglistx)) && in cloneScalarAttribute()
1568 case dwarf::DW_FORM_strp: in cloneAttribute()
1569 case dwarf::DW_FORM_line_strp: in cloneAttribute()
1570 case dwarf::DW_FORM_string: in cloneAttribute()
1571 case dwarf::DW_FORM_strx: in cloneAttribute()
1572 case dwarf::DW_FORM_strx1: in cloneAttribute()
1573 case dwarf::DW_FORM_strx2: in cloneAttribute()
1574 case dwarf::DW_FORM_strx3: in cloneAttribute()
1575 case dwarf::DW_FORM_strx4: in cloneAttribute()
1577 case dwarf::DW_FORM_ref_addr: in cloneAttribute()
1578 case dwarf::DW_FORM_ref1: in cloneAttribute()
1579 case dwarf::DW_FORM_ref2: in cloneAttribute()
1580 case dwarf::DW_FORM_ref4: in cloneAttribute()
1581 case dwarf::DW_FORM_ref8: in cloneAttribute()
1584 case dwarf::DW_FORM_block: in cloneAttribute()
1585 case dwarf::DW_FORM_block1: in cloneAttribute()
1586 case dwarf::DW_FORM_block2: in cloneAttribute()
1587 case dwarf::DW_FORM_block4: in cloneAttribute()
1588 case dwarf::DW_FORM_exprloc: in cloneAttribute()
1591 case dwarf::DW_FORM_addr: in cloneAttribute()
1592 case dwarf::DW_FORM_addrx: in cloneAttribute()
1593 case dwarf::DW_FORM_addrx1: in cloneAttribute()
1594 case dwarf::DW_FORM_addrx2: in cloneAttribute()
1595 case dwarf::DW_FORM_addrx3: in cloneAttribute()
1596 case dwarf::DW_FORM_addrx4: in cloneAttribute()
1599 case dwarf::DW_FORM_data1: in cloneAttribute()
1600 case dwarf::DW_FORM_data2: in cloneAttribute()
1601 case dwarf::DW_FORM_data4: in cloneAttribute()
1602 case dwarf::DW_FORM_data8: in cloneAttribute()
1603 case dwarf::DW_FORM_udata: in cloneAttribute()
1604 case dwarf::DW_FORM_sdata: in cloneAttribute()
1605 case dwarf::DW_FORM_sec_offset: in cloneAttribute()
1606 case dwarf::DW_FORM_flag: in cloneAttribute()
1607 case dwarf::DW_FORM_flag_present: in cloneAttribute()
1608 case dwarf::DW_FORM_rnglistx: in cloneAttribute()
1609 case dwarf::DW_FORM_loclistx: in cloneAttribute()
1610 case dwarf::DW_FORM_implicit_const: in cloneAttribute()
1615 dwarf::FormEncodingString(AttrSpec.Form) + in cloneAttribute()
1651 case dwarf::DW_AT_low_pc: in shouldSkipAttribute()
1652 case dwarf::DW_AT_high_pc: in shouldSkipAttribute()
1653 case dwarf::DW_AT_ranges: in shouldSkipAttribute()
1655 case dwarf::DW_AT_rnglists_base: in shouldSkipAttribute()
1661 case dwarf::DW_AT_loclists_base: in shouldSkipAttribute()
1667 case dwarf::DW_AT_location: in shouldSkipAttribute()
1668 case dwarf::DW_AT_frame_base: in shouldSkipAttribute()
1698 Info.Clone = DIE::get(DIEAlloc, dwarf::Tag(InputDIE.getTag())); in cloneDIE()
1742 if (Die->getTag() == dwarf::DW_TAG_subprogram) in cloneDIE()
1746 if (Abbrev->getTag() == dwarf::DW_TAG_subprogram) { in cloneDIE()
1750 } else if (Abbrev->getTag() == dwarf::DW_TAG_variable) { in cloneDIE()
1795 const bool NeedsAppleOrigin = (Tag == dwarf::DW_TAG_compile_unit) && in cloneDIE()
1800 Die->addValue(DIEAlloc, dwarf::Attribute(dwarf::DW_AT_APPLE_origin), in cloneDIE()
1801 dwarf::DW_FORM_strp, DIEInteger(StringEntry.getOffset())); in cloneDIE()
1811 Tag != dwarf::DW_TAG_compile_unit && in cloneDIE()
1813 Tag != dwarf::DW_TAG_inlined_subroutine)) { in cloneDIE()
1816 Tag == dwarf::DW_TAG_inlined_subroutine); in cloneDIE()
1822 Tag == dwarf::DW_TAG_inlined_subroutine); in cloneDIE()
1828 } else if (Tag == dwarf::DW_TAG_namespace) { in cloneDIE()
1832 } else if (Tag == dwarf::DW_TAG_imported_declaration && AttrInfo.Name) { in cloneDIE()
1839 dwarf::toUnsigned(InputDIE.find(dwarf::DW_AT_APPLE_runtime_class)) in cloneDIE()
1842 (RuntimeLang == dwarf::DW_LANG_ObjC || in cloneDIE()
1843 RuntimeLang == dwarf::DW_LANG_ObjC_plus_plus) && in cloneDIE()
1844 dwarf::toUnsigned(InputDIE.find(dwarf::DW_AT_APPLE_objc_complete_type)) in cloneDIE()
1861 Die->getTag() == dwarf::DW_TAG_compile_unit) { in cloneDIE()
1863 Die->addValue(DIEAlloc, dwarf::DW_AT_str_offsets_base, in cloneDIE()
1864 dwarf::DW_FORM_sec_offset, DIEInteger(8)); in cloneDIE()
1870 NewAbbrev.setChildrenFlag(dwarf::DW_CHILDREN_yes); in cloneDIE()
2039 if (V.getAttribute() == dwarf::DW_AT_addr_base) { in patchAddrBase()
2101 if (V.getAttribute() == dwarf::DW_AT_stmt_list) { in patchStmtList()
2114 dwarf::toSectionOffset(OrigUnitDie.find(dwarf::DW_AT_macros))) { in rememberUnitForMacroOffset()
2120 dwarf::toSectionOffset(OrigUnitDie.find(dwarf::DW_AT_macro_info))) { in rememberUnitForMacroOffset()
2132 auto StmtList = dwarf::toSectionOffset(CUDie.find(dwarf::DW_AT_stmt_list)); in generateLineTableForUnit()
2247 Pubtype.ObjcClassImplementation ? dwarf::DW_FLAG_type_implementation in emitAcceleratorEntriesForUnit()
2265 Unit.getTag() == dwarf::DW_TAG_type_unit); in emitAcceleratorEntriesForUnit()
2271 Unit.getTag() == dwarf::DW_TAG_type_unit); in emitAcceleratorEntriesForUnit()
2277 Unit.getTag() == dwarf::DW_TAG_type_unit); in emitAcceleratorEntriesForUnit()
2382 if (!(Ref = DIE.find(dwarf::DW_AT_specification)) && in hashFullyQualifiedName()
2383 !(Ref = DIE.find(dwarf::DW_AT_abstract_origin))) in hashFullyQualifiedName()
2399 if (!Name && DIE.getTag() == dwarf::DW_TAG_namespace) in hashFullyQualifiedName()
2405 dwarf::DW_TAG_module) in hashFullyQualifiedName()
2416 auto DwoId = dwarf::toUnsigned( in getDwoId()
2417 CUDie.find({dwarf::DW_AT_dwo_id, dwarf::DW_AT_GNU_dwo_id})); in getDwoId()
2439 std::string PCMFile = dwarf::toString( in getPCMFile()
2440 CUDie.find({dwarf::DW_AT_dwo_name, dwarf::DW_AT_GNU_dwo_name}), ""); in getPCMFile()
2462 std::string Name = dwarf::toString(CUDie.find(dwarf::DW_AT_name), ""); in isClangModuleRef()
2528 std::string ModuleName = dwarf::toString(CUDie.find(dwarf::DW_AT_name), ""); in loadClangModule()