LLVM 20.0.0git
Classes | Namespaces | Macros
DWARFYAML.h File Reference

This file declares classes for handling the YAML representation of DWARF Debug Info. More...

#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/ObjectYAML/YAML.h"
#include "llvm/Support/YAMLTraits.h"
#include <cstdint>
#include <optional>
#include <unordered_map>
#include <vector>
#include "llvm/BinaryFormat/Dwarf.def"

Go to the source code of this file.

Classes

struct  llvm::DWARFYAML::AttributeAbbrev
 
struct  llvm::DWARFYAML::Abbrev
 
struct  llvm::DWARFYAML::AbbrevTable
 
struct  llvm::DWARFYAML::ARangeDescriptor
 
struct  llvm::DWARFYAML::ARange
 
struct  llvm::DWARFYAML::RangeEntry
 Class that describes a range list entry, or a base address selection entry within a range list in the .debug_ranges section. More...
 
struct  llvm::DWARFYAML::Ranges
 Class that describes a single range list inside the .debug_ranges section. More...
 
struct  llvm::DWARFYAML::PubEntry
 
struct  llvm::DWARFYAML::PubSection
 
struct  llvm::DWARFYAML::FormValue
 
struct  llvm::DWARFYAML::Entry
 
struct  llvm::DWARFYAML::DWARFContext
 Class that contains helpful context information when mapping YAML into DWARF data structures. More...
 
struct  llvm::DWARFYAML::Unit
 
struct  llvm::DWARFYAML::IdxForm
 
struct  llvm::DWARFYAML::DebugNameAbbreviation
 
struct  llvm::DWARFYAML::DebugNameEntry
 
struct  llvm::DWARFYAML::DebugNamesSection
 
struct  llvm::DWARFYAML::File
 
struct  llvm::DWARFYAML::LineTableOpcode
 
struct  llvm::DWARFYAML::LineTable
 
struct  llvm::DWARFYAML::SegAddrPair
 
struct  llvm::DWARFYAML::AddrTableEntry
 
struct  llvm::DWARFYAML::StringOffsetsTable
 
struct  llvm::DWARFYAML::DWARFOperation
 
struct  llvm::DWARFYAML::RnglistEntry
 
struct  llvm::DWARFYAML::LoclistEntry
 
struct  llvm::DWARFYAML::ListEntries< EntryType >
 
struct  llvm::DWARFYAML::ListTable< EntryType >
 
struct  llvm::DWARFYAML::Data
 
struct  llvm::DWARFYAML::Data::AbbrevTableInfo
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::DWARFYAML
 

Macros

#define HANDLE_DW_TAG(unused, name, unused2, unused3, unused4)    io.enumCase(value, "DW_TAG_" #name, dwarf::DW_TAG_##name);
 
#define HANDLE_DW_LNS(unused, name)    io.enumCase(value, "DW_LNS_" #name, dwarf::DW_LNS_##name);
 
#define HANDLE_DW_LNE(unused, name)    io.enumCase(value, "DW_LNE_" #name, dwarf::DW_LNE_##name);
 
#define HANDLE_DW_AT(unused, name, unused2, unused3)    io.enumCase(value, "DW_AT_" #name, dwarf::DW_AT_##name);
 
#define HANDLE_DW_FORM(unused, name, unused2, unused3)    io.enumCase(value, "DW_FORM_" #name, dwarf::DW_FORM_##name);
 
#define HANDLE_DW_IDX(unused, name)    io.enumCase(value, "DW_IDX_" #name, dwarf::DW_IDX_##name);
 
#define HANDLE_DW_UT(unused, name)    io.enumCase(value, "DW_UT_" #name, dwarf::DW_UT_##name);
 
#define HANDLE_DW_RLE(unused, name)    io.enumCase(value, "DW_RLE_" #name, dwarf::DW_RLE_##name);
 
#define HANDLE_DW_LLE(unused, name)    io.enumCase(value, "DW_LLE_" #name, dwarf::DW_LLE_##name);
 
#define HANDLE_DW_OP(id, name, operands, arity, version, vendor)    io.enumCase(value, "DW_OP_" #name, dwarf::DW_OP_##name);
 

Detailed Description

This file declares classes for handling the YAML representation of DWARF Debug Info.

Definition in file DWARFYAML.h.

Macro Definition Documentation

◆ HANDLE_DW_AT

#define HANDLE_DW_AT (   unused,
  name,
  unused2,
  unused3 
)     io.enumCase(value, "DW_AT_" #name, dwarf::DW_AT_##name);

◆ HANDLE_DW_FORM

#define HANDLE_DW_FORM (   unused,
  name,
  unused2,
  unused3 
)     io.enumCase(value, "DW_FORM_" #name, dwarf::DW_FORM_##name);

◆ HANDLE_DW_IDX

#define HANDLE_DW_IDX (   unused,
  name 
)     io.enumCase(value, "DW_IDX_" #name, dwarf::DW_IDX_##name);

◆ HANDLE_DW_LLE

#define HANDLE_DW_LLE (   unused,
  name 
)     io.enumCase(value, "DW_LLE_" #name, dwarf::DW_LLE_##name);

◆ HANDLE_DW_LNE

#define HANDLE_DW_LNE (   unused,
  name 
)     io.enumCase(value, "DW_LNE_" #name, dwarf::DW_LNE_##name);

◆ HANDLE_DW_LNS

#define HANDLE_DW_LNS (   unused,
  name 
)     io.enumCase(value, "DW_LNS_" #name, dwarf::DW_LNS_##name);

◆ HANDLE_DW_OP

#define HANDLE_DW_OP (   id,
  name,
  operands,
  arity,
  version,
  vendor 
)     io.enumCase(value, "DW_OP_" #name, dwarf::DW_OP_##name);

◆ HANDLE_DW_RLE

#define HANDLE_DW_RLE (   unused,
  name 
)     io.enumCase(value, "DW_RLE_" #name, dwarf::DW_RLE_##name);

◆ HANDLE_DW_TAG

#define HANDLE_DW_TAG (   unused,
  name,
  unused2,
  unused3,
  unused4 
)     io.enumCase(value, "DW_TAG_" #name, dwarf::DW_TAG_##name);

◆ HANDLE_DW_UT

#define HANDLE_DW_UT (   unused,
  name 
)     io.enumCase(value, "DW_UT_" #name, dwarf::DW_UT_##name);