Lines Matching refs:AttrSpec
1323 const AttributeSpec AttrSpec, unsigned AttrSize,
1329 unsigned cloneStringAttribute(DIE &Die, AttributeSpec AttrSpec,
1339 AttributeSpec AttrSpec, unsigned AttrSize,
1345 unsigned cloneBlockAttribute(DIE &Die, AttributeSpec AttrSpec,
1351 unsigned cloneAddressAttribute(DIE &Die, AttributeSpec AttrSpec,
1360 CompileUnit &U, AttributeSpec AttrSpec,
2226 for (const auto &AttrSpec : Abbrev->attributes()) { in keepDIEAndDependencies() local
2227 DWARFFormValue Val(AttrSpec.Form); in keepDIEAndDependencies()
2230 DWARFFormValue::skipValue(AttrSpec.Form, Data, &Offset, &Unit); in keepDIEAndDependencies()
2249 if (AttrSpec.Form != dwarf::DW_FORM_ref_addr && UseODR && Info.Ctxt && in keepDIEAndDependencies()
2251 Info.Ctxt->getCanonicalDIEOffset() && isODRAttribute(AttrSpec.Attr)) in keepDIEAndDependencies()
2255 if (!(isODRAttribute(AttrSpec.Attr) && Info.Ctxt && in keepDIEAndDependencies()
2352 AttributeSpec AttrSpec, in cloneStringAttribute() argument
2358 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), dwarf::DW_FORM_strp, in cloneStringAttribute()
2365 AttributeSpec AttrSpec, unsigned AttrSize, const DWARFFormValue &Val, in cloneDieReferenceAttribute() argument
2385 if (isODRAttribute(AttrSpec.Attr)) { in cloneDieReferenceAttribute()
2389 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
2403 if (AttrSpec.Form == dwarf::DW_FORM_ref_addr || in cloneDieReferenceAttribute()
2404 (Unit.hasODR() && isODRAttribute(AttrSpec.Attr))) { in cloneDieReferenceAttribute()
2416 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
2423 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
2429 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneDieReferenceAttribute()
2430 dwarf::Form(AttrSpec.Form), DIEEntry(*NewRefDie)); in cloneDieReferenceAttribute()
2435 AttributeSpec AttrSpec, in cloneBlockAttribute() argument
2443 if (AttrSpec.Form == dwarf::DW_FORM_exprloc) { in cloneBlockAttribute()
2454 Value = DIEValue(dwarf::Attribute(AttrSpec.Attr), in cloneBlockAttribute()
2455 dwarf::Form(AttrSpec.Form), Loc); in cloneBlockAttribute()
2457 Value = DIEValue(dwarf::Attribute(AttrSpec.Attr), in cloneBlockAttribute()
2458 dwarf::Form(AttrSpec.Form), Block); in cloneBlockAttribute()
2478 DIE &Die, AttributeSpec AttrSpec, const DWARFFormValue &Val, in cloneAddressAttribute() argument
2481 if (AttrSpec.Attr == dwarf::DW_AT_low_pc) { in cloneAddressAttribute()
2496 } else if (AttrSpec.Attr == dwarf::DW_AT_high_pc) { in cloneAddressAttribute()
2509 Die.addValue(DIEAlloc, static_cast<dwarf::Attribute>(AttrSpec.Attr), in cloneAddressAttribute()
2510 static_cast<dwarf::Form>(AttrSpec.Form), DIEInteger(Addr)); in cloneAddressAttribute()
2516 AttributeSpec AttrSpec, const DWARFFormValue &Val, unsigned AttrSize, in cloneScalarAttribute() argument
2519 if (AttrSpec.Attr == dwarf::DW_AT_high_pc && in cloneScalarAttribute()
2525 } else if (AttrSpec.Form == dwarf::DW_FORM_sec_offset) in cloneScalarAttribute()
2527 else if (AttrSpec.Form == dwarf::DW_FORM_sdata) in cloneScalarAttribute()
2538 Die.addValue(DIEAlloc, dwarf::Attribute(AttrSpec.Attr), in cloneScalarAttribute()
2539 dwarf::Form(AttrSpec.Form), DIEInteger(Value)); in cloneScalarAttribute()
2540 if (AttrSpec.Attr == dwarf::DW_AT_ranges) in cloneScalarAttribute()
2546 else if (AttrSpec.Attr == dwarf::DW_AT_location || in cloneScalarAttribute()
2547 AttrSpec.Attr == dwarf::DW_AT_frame_base) in cloneScalarAttribute()
2549 else if (AttrSpec.Attr == dwarf::DW_AT_declaration && Value) in cloneScalarAttribute()
2560 const DWARFFormValue &Val, const AttributeSpec AttrSpec, unsigned AttrSize, in cloneAttribute() argument
2564 switch (AttrSpec.Form) { in cloneAttribute()
2567 return cloneStringAttribute(Die, AttrSpec, Val, U); in cloneAttribute()
2573 return cloneDieReferenceAttribute(Die, InputDIE, AttrSpec, AttrSize, Val, in cloneAttribute()
2580 return cloneBlockAttribute(Die, AttrSpec, Val, AttrSize); in cloneAttribute()
2582 return cloneAddressAttribute(Die, AttrSpec, Val, Unit, Info); in cloneAttribute()
2592 return cloneScalarAttribute(Die, InputDIE, Unit, AttrSpec, Val, AttrSize, in cloneAttribute()
2682 shouldSkipAttribute(DWARFAbbreviationDeclaration::AttributeSpec AttrSpec, in shouldSkipAttribute() argument
2685 switch (AttrSpec.Attr) { in shouldSkipAttribute()
2701 !DWARFFormValue(AttrSpec.Form).isFormClass(DWARFFormValue::FC_Block); in shouldSkipAttribute()
2787 for (const auto &AttrSpec : Abbrev->attributes()) { in cloneDIE() local
2788 if (shouldSkipAttribute(AttrSpec, Die->getTag(), Info.InDebugMap, in cloneDIE()
2790 DWARFFormValue::skipValue(AttrSpec.Form, Data, &Offset, &U); in cloneDIE()
2801 DWARFFormValue Val(AttrSpec.Form); in cloneDIE()
2807 cloneAttribute(*Die, InputDIE, Unit, Val, AttrSpec, AttrSize, AttrInfo); in cloneDIE()