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;
152 return Printer.getStream() << Item;
static ManagedStatic< cl::opt< cl::boolOrDefault >, CreateUseColor > UseColor
llvm::Optional< uint32_t > DumpModi
llvm::Optional< uint32_t > SymbolOffset
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::list< std::string > ExcludeSymbols
bool IsCompilandExcluded(llvm::StringRef CompilandName)
void print(const Twine &T)
PrintScope withLabelWidth(const PrintScope &Scope, uint32_t W)
print alias Alias Set Printer
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::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)
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)
llvm::Optional< uint32_t > ChildrenRecurseDepth
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
Scope
Defines the scope in which this symbol should be visible: Default – Visible in the public interface o...
StringRef - Represent a constant reference to a string, i.e.
int getIndentLevel() const
constexpr char SymbolName[]
Key for Kernel::Metadata::mSymbolName.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
raw_ostream & operator<<(LinePrinter &Printer, const T &Item)
constexpr char TypeName[]
Key for Kernel::Arg::Metadata::mTypeName.
std::list< std::string > IncludeSymbols
PrintScope(const PrintScope &Other, uint32_t LabelWidth)
AutoIndent(const PrintScope &Scope)
Optional< std::vector< StOtherPiece > > Other
AutoIndent(LinePrinter &L, uint32_t Amount=0)
llvm::Optional< uint32_t > ParentRecurseDepth
Describes the layout of a stream in an MSF layout.