15#ifndef LLVM_DEBUGINFO_SYMBOLIZE_MARKUPFILTER_H
16#define LLVM_DEBUGINFO_SYMBOLIZE_MARKUPFILTER_H
36 std::optional<bool> ColorsEnabled = std::nullopt);
68 struct ModuleInfoLine {
92 void beginModuleInfoLine(
const Module *M);
93 void endAnyModuleInfoLine();
106 void highlightValue();
110 void printRawElement(
const MarkupNode &Element);
113 std::optional<Module> parseModule(
const MarkupNode &Element)
const;
114 std::optional<MMap> parseMMap(
const MarkupNode &Element)
const;
116 std::optional<uint64_t> parseAddr(
StringRef Str)
const;
117 std::optional<uint64_t> parseModuleID(
StringRef Str)
const;
118 std::optional<uint64_t> parseSize(
StringRef Str)
const;
119 std::optional<SmallVector<uint8_t>> parseBuildID(
StringRef Str)
const;
120 std::optional<std::string> parseMode(
StringRef Str)
const;
121 std::optional<PCType> parsePCType(
StringRef Str)
const;
122 std::optional<uint64_t> parseFrameNumber(
StringRef Str)
const;
125 bool checkNumFields(
const MarkupNode &Element,
size_t Size)
const;
126 bool checkNumFieldsAtLeast(
const MarkupNode &Element,
size_t Size)
const;
127 bool checkNumFieldsAtMost(
const MarkupNode &Element,
size_t Size)
const;
132 const MMap *getOverlappingMMap(
const MMap &Map)
const;
141 const bool ColorsEnabled;
150 std::optional<ModuleInfoLine> MIL;
153 std::optional<raw_ostream::Colors> Color;
160 std::map<uint64_t, MMap> MMaps;
return AArch64::GPR64RegClass contains(Reg)
This file defines the DenseMap class.
Machine Check Debug Module
This file declares the log symbolizer markup data model and parser.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
Filter to convert parsed log symbolizer markup elements into human-readable text.
void filter(StringRef Line)
Filters a line containing symbolizer markup and writes the human-readable results to the output strea...
void finish()
Records that the input stream has ended and writes any deferred output.
Parses a log containing symbolizer markup into a sequence of nodes.
This is an optimization pass for GlobalISel generic memory operations.
A node of symbolizer markup.