diff options
Diffstat (limited to 'tools/llvm-pdbdump/llvm-pdbdump.cpp')
-rw-r--r-- | tools/llvm-pdbdump/llvm-pdbdump.cpp | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/tools/llvm-pdbdump/llvm-pdbdump.cpp b/tools/llvm-pdbdump/llvm-pdbdump.cpp index 06c2afc0bc78..7337b1d28747 100644 --- a/tools/llvm-pdbdump/llvm-pdbdump.cpp +++ b/tools/llvm-pdbdump/llvm-pdbdump.cpp @@ -124,28 +124,37 @@ cl::opt<bool> Typedefs("typedefs", cl::desc("Display typedef types"), cl::cat(TypeCategory), cl::sub(PrettySubcommand)); cl::opt<ClassSortMode> ClassOrder( "class-order", cl::desc("Class sort order"), cl::init(ClassSortMode::None), - cl::values(clEnumValN(ClassSortMode::None, "none", - "Undefined / no particular sort order"), - clEnumValN(ClassSortMode::Name, "name", "Sort classes by name"), - clEnumValN(ClassSortMode::Size, "size", "Sort classes by size"), - clEnumValN(ClassSortMode::Padding, "padding", - "Sort classes by amount of padding")), + cl::values( + clEnumValN(ClassSortMode::None, "none", + "Undefined / no particular sort order"), + clEnumValN(ClassSortMode::Name, "name", "Sort classes by name"), + clEnumValN(ClassSortMode::Size, "size", "Sort classes by size"), + clEnumValN(ClassSortMode::Padding, "padding", + "Sort classes by amount of padding"), + clEnumValN(ClassSortMode::PaddingPct, "padding-pct", + "Sort classes by percentage of space consumed by padding"), + clEnumValN(ClassSortMode::PaddingImmediate, "padding-imm", + "Sort classes by amount of immediate padding"), + clEnumValN(ClassSortMode::PaddingPctImmediate, "padding-pct-imm", + "Sort classes by percentage of space consumed by immediate " + "padding")), cl::cat(TypeCategory), cl::sub(PrettySubcommand)); cl::opt<ClassDefinitionFormat> ClassFormat( "class-definitions", cl::desc("Class definition format"), - cl::init(ClassDefinitionFormat::Standard), + cl::init(ClassDefinitionFormat::All), cl::values( - clEnumValN(ClassDefinitionFormat::Standard, "all-members", + clEnumValN(ClassDefinitionFormat::All, "all", "Display all class members including data, constants, " "typedefs, functions, etc"), - clEnumValN(ClassDefinitionFormat::Layout, "layout-members", + clEnumValN(ClassDefinitionFormat::Layout, "layout", "Only display members that contribute to class size."), - clEnumValN(ClassDefinitionFormat::Graphical, "graphical", - "Display graphical representation of each class's layout."), clEnumValN(ClassDefinitionFormat::None, "none", "Don't display class definitions")), cl::cat(TypeCategory), cl::sub(PrettySubcommand)); +cl::opt<uint32_t> ClassRecursionDepth( + "class-recurse-depth", cl::desc("Class recursion depth (0=no limit)"), + cl::init(0), cl::cat(TypeCategory), cl::sub(PrettySubcommand)); cl::opt<bool> Lines("lines", cl::desc("Line tables"), cl::cat(TypeCategory), cl::sub(PrettySubcommand)); @@ -193,6 +202,12 @@ cl::opt<uint32_t> PaddingThreshold( "min-class-padding", cl::desc("Displays only those classes which have at " "least the specified amount of padding."), cl::init(0), cl::cat(FilterCategory), cl::sub(PrettySubcommand)); +cl::opt<uint32_t> ImmediatePaddingThreshold( + "min-class-padding-imm", + cl::desc("Displays only those classes which have at least the specified " + "amount of immediate padding, ignoring padding internal to bases " + "and aggregates."), + cl::init(0), cl::cat(FilterCategory), cl::sub(PrettySubcommand)); cl::opt<bool> ExcludeCompilerGenerated( "no-compiler-generated", @@ -371,9 +386,15 @@ cl::opt<bool> DbiModuleSyms( cl::opt<bool> DbiModuleSourceFileInfo( "dbi-module-source-info", cl::desc( - "Dump DBI Module Source File Information (implies -dbi-module-info"), + "Dump DBI Module Source File Information (implies -dbi-module-info)"), cl::sub(PdbToYamlSubcommand), cl::init(false)); +cl::opt<bool> + DbiModuleSourceLineInfo("dbi-module-lines", + cl::desc("Dump DBI Module Source Line Information " + "(implies -dbi-module-source-info)"), + cl::sub(PdbToYamlSubcommand), cl::init(false)); + cl::opt<bool> TpiStream("tpi-stream", cl::desc("Dump the TPI Stream (Stream 3)"), cl::sub(PdbToYamlSubcommand), cl::init(false)); |