Lines Matching defs:Die
118 static bool shouldIncludeVariable(const DWARFUnit &Unit, const DIE &Die) {
120 Die.findAttribute(dwarf::Attribute::DW_AT_location);
152 bool static canProcess(const DWARFUnit &Unit, const DIE &Die,
154 if (Die.findAttribute(dwarf::Attribute::DW_AT_declaration))
156 switch (Die.getTag()) {
166 if (TagsOnly || Die.findAttribute(dwarf::Attribute::DW_AT_name))
172 if (!Die.findAttribute(dwarf::Attribute::DW_AT_name))
178 if (TagsOnly || Die.findAttribute(dwarf::Attribute::DW_AT_low_pc) ||
179 Die.findAttribute(dwarf::Attribute::DW_AT_high_pc) ||
180 Die.findAttribute(dwarf::Attribute::DW_AT_ranges) ||
181 Die.findAttribute(dwarf::Attribute::DW_AT_entry_pc))
185 return TagsOnly || shouldIncludeVariable(Unit, Die);
193 const DWARFUnit &Unit, const DIE &Die,
198 if (!canProcess(Unit, Die, NameToUse, true))
322 DWARFUnit &Unit, const DIE &Die, const std::optional<uint64_t> &DWOID,
326 DIEValue Value = Die.findAttribute(Attr);
349 DIEValue AttrValName = Die.findAttribute(dwarf::Attribute::DW_AT_name);
351 const DIE *RefDieUsed = &Die;
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,
387 if (!canProcess(Unit, Die, NameToUse, false))
401 DIEValue NameVal = Die.findAttribute(dwarf::Attribute::DW_AT_name);
403 Die.findAttribute(dwarf::Attribute::DW_AT_linkage_name);
404 if (!(Die.getTag() == dwarf::DW_TAG_namespace && !NameVal))
405 LinkageEntry = addEntry(Unit, Die, DWOID, Parent,
410 addEntry(Unit, Die, DWOID, Parent,
423 Unit, Die, DWOID, Parent, NameToUse, NumberParentsInChain,
427 Unit, Die, DWOID, Parent, NameToUse, NumberParentsInChain,