15#ifndef LLVM_DEBUGINFO_SYMBOLIZE_MARKUPFILTER_H
16#define LLVM_DEBUGINFO_SYMBOLIZE_MARKUPFILTER_H
35 std::optional<bool> ColorsEnabled = std::nullopt);
42 void filter(std::string &&InputLine);
67 struct ModuleInfoLine {
91 void beginModuleInfoLine(
const Module *M);
92 void endAnyModuleInfoLine();
105 void highlightValue();
109 void printRawElement(
const MarkupNode &Element);
112 std::optional<Module> parseModule(
const MarkupNode &Element)
const;
113 std::optional<MMap> parseMMap(
const MarkupNode &Element)
const;
115 std::optional<uint64_t> parseAddr(
StringRef Str)
const;
116 std::optional<uint64_t> parseModuleID(
StringRef Str)
const;
117 std::optional<uint64_t> parseSize(
StringRef Str)
const;
119 std::optional<std::string> parseMode(
StringRef Str)
const;
120 std::optional<PCType> parsePCType(
StringRef Str)
const;
121 std::optional<uint64_t> parseFrameNumber(
StringRef Str)
const;
124 bool checkNumFields(
const MarkupNode &Element,
size_t Size)
const;
125 bool checkNumFieldsAtLeast(
const MarkupNode &Element,
size_t Size)
const;
126 void warnNumFieldsAtMost(
const MarkupNode &Element,
size_t Size)
const;
131 const MMap *getOverlappingMMap(
const MMap &Map)
const;
140 const bool ColorsEnabled;
149 std::optional<ModuleInfoLine> MIL;
152 std::optional<raw_ostream::Colors> Color;
159 std::map<uint64_t, MMap> MMaps;
return AArch64::GPR64RegClass contains(Reg)
This file declares a library for handling Build IDs and using them to find debug info.
This file defines the DenseMap class.
Machine Check Debug Module
This file declares the log symbolizer markup data model and parser.
if(auto Err=PB.parsePassPipeline(MPM, Passes)) return wrap(std MPM run * Mod
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(std::string &&InputLine)
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.