Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_DWARF_DWARFUNITINDEX_H
10 #define LLVM_DEBUGINFO_DWARF_DWARFUNITINDEX_H
60 #define HANDLE_DW_SECT(ID, NAME) DW_SECT_##NAME = ID,
61 #include "llvm/BinaryFormat/Dwarf.def"
70 return "Unknown DW_SECT value 0";
71 #define STRINGIZE(X) #X
72 #define HANDLE_DW_SECT(ID, NAME) \
73 case DW_SECT_##NAME: \
74 return "DW_SECT_" STRINGIZE(NAME);
75 #include "llvm/BinaryFormat/Dwarf.def"
77 return "DW_SECT_TYPES";
81 return "DW_SECT_MACINFO";
121 std::unique_ptr<SectionContribution[]> Contributions;
129 return Contributions.get();
136 struct Header Header;
140 std::unique_ptr<DWARFSectionKind[]> ColumnKinds;
144 std::unique_ptr<uint32_t[]> RawSectionIds;
145 std::unique_ptr<Entry[]> Rows;
146 mutable std::vector<Entry *> OffsetLookup;
154 : InfoColumnKind(InfoColumnKind) {}
156 explicit operator bool()
const {
return Header.NumBuckets; }
167 return makeArrayRef(ColumnKinds.get(), Header.NumColumns);
177 #endif // LLVM_DEBUGINFO_DWARF_DWARFUNITINDEX_H
This is an optimization pass for GlobalISel generic memory operations.
DWARFUnitIndex(DWARFSectionKind InfoColumnKind)
@ DW_SECT_EXT_unknown
Denotes a value read from an index section that does not correspond to any of the supported standards...
void dump(raw_ostream &OS) const
uint32_t serializeSectionKind(DWARFSectionKind Kind, unsigned IndexVersion)
Convert the internal value for a section kind to an on-disk value.
const Entry * getFromHash(uint64_t Offset) const
DWARFSectionKind
The enum of section identifiers to be used in internal interfaces.
bool parse(DataExtractor IndexData)
This class implements an extremely fast bulk output stream that can only output to a stream.
const Entry * getFromOffset(uint32_t Offset) const
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
StringRef - Represent a constant reference to a string, i.e.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
uint64_t getSignature() const
DWARFSectionKind deserializeSectionKind(uint32_t Value, unsigned IndexVersion)
Convert a value read from an index section to the internal representation.
const char * toString(DWARFSectionKind Kind)
ArrayRef< DWARFSectionKind > getColumnKinds() const
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
const SectionContribution * getContributions() const
ArrayRef< Entry > getRows() const
uint32_t getVersion() const
const SectionContribution * getContribution() const