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

Lines Matching refs:Die

174 static std::string constructDieID(DWARFDie Die,
179 << Die.getName(DINameKind::LinkageName);
185 auto DeclFile = Die.findRecursively(dwarf::DW_AT_decl_file);
188 DWARFUnit *U = Die.getDwarfUnit();
197 << dwarf::toUnsigned(Die.findRecursively(dwarf::DW_AT_decl_line), 0);
202 static void collectStatsForDie(DWARFDie Die, std::string FnPrefix,
214 bool IsParam = Die.getTag() == dwarf::DW_TAG_formal_parameter;
215 bool IsLocalVar = Die.getTag() == dwarf::DW_TAG_variable;
216 bool IsConstantMember = Die.getTag() == dwarf::DW_TAG_member &&
217 Die.find(dwarf::DW_AT_const_value);
219 if (Die.getTag() == dwarf::DW_TAG_call_site ||
220 Die.getTag() == dwarf::DW_TAG_GNU_call_site) {
225 if (Die.getTag() == dwarf::DW_TAG_call_site_parameter ||
226 Die.getTag() == dwarf::DW_TAG_GNU_call_site_parameter) {
237 if (IsLocalVar && Die.find(dwarf::DW_AT_declaration))
240 if (Die.findRecursively(dwarf::DW_AT_decl_file) &&
241 Die.findRecursively(dwarf::DW_AT_decl_line))
244 if (Die.findRecursively(dwarf::DW_AT_type))
248 DWARFUnit *U = Die.getDwarfUnit();
250 Die.getDwarfUnit()->getContext().isLittleEndian(), 0);
261 if (Die.find(dwarf::DW_AT_const_value)) {
268 Die.getLocations(dwarf::DW_AT_location);
310 Die.getAttributeValueAsReferencedDie(dwarf::DW_AT_abstract_origin))
311 Die = D;
313 std::string VarID = constructDieID(Die, VarPrefix);
343 if (Die.find(dwarf::DW_AT_artificial)) {
368 static void collectStatsRecursive(DWARFDie Die, std::string FnPrefix,
374 const dwarf::Tag Tag = Die.getTag();
386 if (Die.getTag() == dwarf::DW_TAG_subprogram ||
387 Die.getTag() == dwarf::DW_TAG_inlined_subroutine)
391 if (Die.find(dwarf::DW_AT_declaration))
395 if (Die.find(dwarf::DW_AT_call_file) && Die.find(dwarf::DW_AT_call_line))
399 auto RangesOrError = Die.getAddressRanges();
413 if (Die.find(dwarf::DW_AT_inline))
415 std::string FnID = constructDieID(Die);
421 if (Die.findRecursively(dwarf::DW_AT_abstract_origin))
426 if (Die.findRecursively(dwarf::DW_AT_decl_file) &&
427 Die.findRecursively(dwarf::DW_AT_decl_line))
441 // Not a scope, visit the Die itself. It could be a variable.
442 collectStatsForDie(Die, FnPrefix, VarPrefix, BytesInScope, InlineDepth,
455 DWARFDie Child = Die.getFirstChild();