Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_LINEPRINTER_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_LINEPRINTER_H
42 class MSFStreamLayout;
63 template <
typename... Ts>
void formatLine(
const char *Fmt, Ts &&...Items) {
66 template <
typename... Ts>
void format(
const char *Fmt, Ts &&...Items) {
95 template <
typename Iter>
96 void SetFilters(std::list<Regex> &
List, Iter Begin, Iter End) {
98 for (; Begin != End; ++Begin)
108 std::list<Regex> ExcludeCompilandFilters;
109 std::list<Regex> ExcludeTypeFilters;
110 std::list<Regex> ExcludeSymbolFilters;
112 std::list<Regex> IncludeCompilandFilters;
113 std::list<Regex> IncludeTypeFilters;
114 std::list<Regex> IncludeSymbolFilters;
139 Amount = Scope.IndentLevel;
152 return Printer.getStream() << Item;
static ManagedStatic< cl::opt< cl::boolOrDefault >, CreateUseColor > UseColor
uint32_t PaddingThreshold
This is an optimization pass for GlobalISel generic memory operations.
This currently compiles esp xmm0 movsd esp eax eax esp ret We should use not the dag combiner This is because dagcombine2 needs to be able to see through the X86ISD::Wrapper which DAGCombine can t really do The code for turning x load into a single vector load is target independent and should be moved to the dag combiner The code for turning x load into a vector load can only handle a direct load from a global or a direct load from the stack It should be generalized to handle any load from P
std::list< std::string > IncludeTypes
WithColor(LinePrinter &P, PDB_ColorItem C)
LinePrinter(int Indent, bool UseColor, raw_ostream &Stream, const FilterOptions &Filters)
std::optional< uint32_t > ParentRecurseDepth
std::list< std::string > ExcludeSymbols
bool IsCompilandExcluded(llvm::StringRef CompilandName)
void print(const Twine &T)
PrintScope withLabelWidth(const PrintScope &Scope, uint32_t W)
auto formatv(const char *Fmt, Ts &&... Vals) -> formatv_object< decltype(std::make_tuple(detail::build_format_adapter(std::forward< Ts >(Vals))...))>
PrintScope(LinePrinter &P, uint32_t IndentLevel)
(vector float) vec_cmpeq(*A, *B) C
std::optional< uint32_t > ChildrenRecurseDepth
std::list< std::string > IncludeCompilands
raw_ostream & getStream()
void Indent(uint32_t Amount=0)
This class implements an extremely fast bulk output stream that can only output to a stream.
bool IsTypeExcluded(llvm::StringRef TypeName, uint64_t Size)
void formatBinary(StringRef Label, ArrayRef< uint8_t > Data, uint64_t StartOffset)
std::optional< uint32_t > DumpModi
void formatMsfStreamBlocks(PDBFile &File, const msf::MSFStreamLayout &Stream)
void format(const char *Fmt, Ts &&...Items)
void formatMsfStreamData(StringRef Label, PDBFile &File, uint32_t StreamIdx, StringRef StreamPurpose, uint64_t Offset, uint64_t Size)
bool IsSymbolExcluded(llvm::StringRef SymbolName)
void formatLine(const char *Fmt, Ts &&...Items)
void Unindent(uint32_t Amount=0)
void printLine(const Twine &T)
bool IsClassExcluded(const ClassLayout &Class)
std::list< std::string > ExcludeCompilands
std::list< std::string > ExcludeTypes
const FilterOptions & getFilters() const
StringRef - Represent a constant reference to a string, i.e.
Memory true print Memory SSA Printer
int getIndentLevel() const
constexpr char SymbolName[]
Key for Kernel::Metadata::mSymbolName.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
std::optional< uint32_t > SymbolOffset
raw_ostream & operator<<(LinePrinter &Printer, const T &Item)
constexpr char TypeName[]
Key for Kernel::Arg::Metadata::mTypeName.
std::list< std::string > IncludeSymbols
std::optional< std::vector< StOtherPiece > > Other
PrintScope(const PrintScope &Other, uint32_t LabelWidth)
AutoIndent(const PrintScope &Scope)
AutoIndent(LinePrinter &L, uint32_t Amount=0)
Describes the layout of a stream in an MSF layout.