From 7435ffaa83a408b2b53f9a955ea9898c1aa05429 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 24 Dec 2017 13:02:43 +0000 Subject: [PATCH] Regenerate llvm tools manpages, and add one for llvm-pbdutil. --- usr.bin/clang/bugpoint/bugpoint.1 | 24 +- usr.bin/clang/llc/llc.1 | 13 +- usr.bin/clang/lli/lli.1 | 4 +- usr.bin/clang/llvm-ar/llvm-ar.1 | 4 +- usr.bin/clang/llvm-as/llvm-as.1 | 10 +- .../clang/llvm-bcanalyzer/llvm-bcanalyzer.1 | 6 +- usr.bin/clang/llvm-cov/llvm-cov.1 | 136 +++- usr.bin/clang/llvm-diff/llvm-diff.1 | 4 +- usr.bin/clang/llvm-dis/llvm-dis.1 | 4 +- usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 | 153 +++- usr.bin/clang/llvm-extract/llvm-extract.1 | 4 +- usr.bin/clang/llvm-link/llvm-link.1 | 4 +- usr.bin/clang/llvm-nm/llvm-nm.1 | 17 +- usr.bin/clang/llvm-pdbutil/Makefile | 1 - usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 | 745 ++++++++++++++++++ usr.bin/clang/llvm-profdata/llvm-profdata.1 | 48 +- .../clang/llvm-symbolizer/llvm-symbolizer.1 | 4 +- usr.bin/clang/opt/opt.1 | 16 +- 18 files changed, 1114 insertions(+), 83 deletions(-) create mode 100644 usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 diff --git a/usr.bin/clang/bugpoint/bugpoint.1 b/usr.bin/clang/bugpoint/bugpoint.1 index 36b0aed1723b..cc93a9750a8b 100644 --- a/usr.bin/clang/bugpoint/bugpoint.1 +++ b/usr.bin/clang/bugpoint/bugpoint.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "BUGPOINT" "1" "2016-03-03" "3.8" "LLVM" +.TH "BUGPOINT" "1" "2017-12-24" "6" "LLVM" .SH NAME bugpoint \- automatic test case reduction tool . @@ -42,7 +42,7 @@ can be used to debug three types of failures: optimizer crashes, miscompilations by optimizers, or bad native code generation (including problems in the static and JIT compilers). It aims to reduce large test cases to small, useful ones. For more information on the design and inner workings of \fBbugpoint\fP, as well as -advice for using bugpoint, see \fIllvm/docs/Bugpoint.html\fP in the LLVM +advice for using bugpoint, see /Bugpoint in the LLVM distribution. .SH OPTIONS .sp @@ -248,7 +248,12 @@ be useful for cross\-compilation. .INDENT 0.0 .INDENT 3.5 This option defines the command to use with the \fB\-\-compile\-custom\fP -option to compile the bitcode testcase. This can be useful for +option to compile the bitcode testcase. The command should exit with a +failure exit code if the file is "interesting" and should exit with a +success exit code (i.e. 0) otherwise (this is the same as if it crashed on +"interesting" inputs). +.sp +This can be useful for testing compiler output without running any link or execute stages. To generate a reduced unit test, you may add CHECK directives to the testcase and pass the name of an executable compile\-command script in this form: @@ -278,6 +283,17 @@ This option defines the path to the command to execute with the option. .UNINDENT .UNINDENT +.sp +\fB\-\-verbose\-errors\fP=\fI{true,false}\fP +.INDENT 0.0 +.INDENT 3.5 +The default behavior of bugpoint is to print "" when it finds a reduced +test that crashes compilation. This flag prints the output of the crashing +program to stderr. This is useful to make sure it is the same error being +tracked down and not a different error that happens to crash the compiler as +well. Defaults to false. +.UNINDENT +.UNINDENT .SH EXIT STATUS .sp If \fBbugpoint\fP succeeds in finding a problem, it will exit with 0. Otherwise, @@ -288,6 +304,6 @@ opt|opt .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llc/llc.1 b/usr.bin/clang/llc/llc.1 index 1ec01b7636cf..aff09c122477 100644 --- a/usr.bin/clang/llc/llc.1 +++ b/usr.bin/clang/llc/llc.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLC" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLC" "1" "2017-12-24" "6" "LLVM" .SH NAME llc \- LLVM static compiler . @@ -182,6 +182,15 @@ the \fB\-march\fP option so that code can be generated for that target. Specify which EABI version should conform to. Valid EABI versions are \fIgnu\fP, \fI4\fP and \fI5\fP\&. Default value (\fIdefault\fP) depends on the triple. .UNINDENT +.INDENT 0.0 +.TP +.B \-stack\-size\-section +Emit the .stack_sizes section which contains stack size metadata. The section +contains an array of pairs of function symbol references (8 byte) and stack +sizes (unsigned LEB128). The stack size values only include the space allocated +in the function prologue. Functions with dynamic stack allocations are not +included. +.UNINDENT .SS Tuning/Configuration Options .INDENT 0.0 .TP @@ -260,6 +269,6 @@ lli .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/lli/lli.1 b/usr.bin/clang/lli/lli.1 index 7b805f71c3ff..f66877292c1f 100644 --- a/usr.bin/clang/lli/lli.1 +++ b/usr.bin/clang/lli/lli.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLI" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLI" "1" "2017-12-24" "6" "LLVM" .SH NAME lli \- directly execute programs from LLVM bitcode . @@ -293,6 +293,6 @@ Otherwise, it will return the exit code of the program it executes. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-ar/llvm-ar.1 b/usr.bin/clang/llvm-ar/llvm-ar.1 index 7b7e062bc016..074f1b1b7c49 100644 --- a/usr.bin/clang/llvm-ar/llvm-ar.1 +++ b/usr.bin/clang/llvm-ar/llvm-ar.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-AR" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-AR" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-ar \- LLVM archiver . @@ -385,6 +385,6 @@ ar(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-as/llvm-as.1 b/usr.bin/clang/llvm-as/llvm-as.1 index bd00ef0a0d8f..de7d47a968b6 100644 --- a/usr.bin/clang/llvm-as/llvm-as.1 +++ b/usr.bin/clang/llvm-as/llvm-as.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-AS" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-AS" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-as \- LLVM assembler . @@ -60,15 +60,15 @@ suffix is appended. .SH OPTIONS .INDENT 0.0 .TP -.B \fB\-f\fP +\fB\-f\fP Enable binary output on terminals. Normally, \fBllvm\-as\fP will refuse to write raw bitcode output if the output stream is a terminal. With this option, \fBllvm\-as\fP will write raw bitcode regardless of the output device. .TP -.B \fB\-help\fP +\fB\-help\fP Print a summary of command line options. .TP -.B \fB\-o\fP \fIfilename\fP +\fB\-o\fP \fIfilename\fP Specify the output file name. If \fIfilename\fP is \fB\-\fP, then \fBllvm\-as\fP sends its output to standard output. .UNINDENT @@ -82,6 +82,6 @@ llvm\-dis|llvm\-dis, gccas|gccas .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 b/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 index a88ab8870256..f8f27b8caf59 100644 --- a/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 +++ b/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-BCANALYZER" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-BCANALYZER" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-bcanalyzer \- LLVM bitcode analyzer . @@ -467,10 +467,10 @@ Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes. .UNINDENT .SH SEE ALSO .sp -\fB/CommandGuide/llvm\-dis\fP, \fB/BitCodeFormat\fP +/CommandGuide/llvm\-dis, /BitCodeFormat .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-cov/llvm-cov.1 b/usr.bin/clang/llvm-cov/llvm-cov.1 index 07c400058af3..2f573ceaf166 100644 --- a/usr.bin/clang/llvm-cov/llvm-cov.1 +++ b/usr.bin/clang/llvm-cov/llvm-cov.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-COV" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-COV" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-cov \- emit coverage information . @@ -52,6 +52,8 @@ be provided. \fI\%show\fP .IP \(bu 2 \fI\%report\fP +.IP \(bu 2 +\fI\%export\fP .UNINDENT .SH GCOV COMMAND .SS SYNOPSIS @@ -183,12 +185,12 @@ it exits with zero. .SH SHOW COMMAND .SS SYNOPSIS .sp -\fBllvm\-cov show\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fISOURCES\fP] +\fBllvm\-cov show\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fI\-object BIN,...\fP] [[\fI\-object BIN\fP]] [\fISOURCES\fP] .SS DESCRIPTION .sp -The \fBllvm\-cov show\fP command shows line by line coverage of a binary -\fIBIN\fP using the profile data \fIPROFILE\fP\&. It can optionally be filtered to only -show the coverage for the files listed in \fISOURCES\fP\&. +The \fBllvm\-cov show\fP command shows line by line coverage of the +binaries \fIBIN\fP,... using the profile data \fIPROFILE\fP\&. It can optionally be +filtered to only show the coverage for the files listed in \fISOURCES\fP\&. .sp To use \fBllvm\-cov show\fP, you need a program that is compiled with instrumentation to emit profile and coverage data. To build such a program with @@ -197,7 +199,7 @@ flags. If linking with the \fBclang\fP driver, pass \fB\-fprofile\-instr\-genera to the link stage to make sure the necessary runtime libraries are linked in. .sp The coverage information is stored in the built executable or library itself, -and this is what you should pass to \fBllvm\-cov show\fP as the \fIBIN\fP +and this is what you should pass to \fBllvm\-cov show\fP as a \fIBIN\fP argument. The profile data is generated by running this instrumented program normally. When the program exits it will write out a raw profile file, typically called \fBdefault.profraw\fP, which can be converted to a format that @@ -207,45 +209,48 @@ tool. .INDENT 0.0 .TP .B \-show\-line\-counts -Show the execution counts for each line. This is enabled by default, unless -another \fB\-show\fP option is used. +Show the execution counts for each line. Defaults to true, unless another +\fB\-show\fP option is used. .UNINDENT .INDENT 0.0 .TP .B \-show\-expansions Expand inclusions, such as preprocessor macros or textual inclusions, inline -in the display of the source file. +in the display of the source file. Defaults to false. .UNINDENT .INDENT 0.0 .TP .B \-show\-instantiations For source regions that are instantiated multiple times, such as templates in \fBC++\fP, show each instantiation separately as well as the combined summary. +Defaults to true. .UNINDENT .INDENT 0.0 .TP .B \-show\-regions Show the execution counts for each region by displaying a caret that points to -the character where the region starts. +the character where the region starts. Defaults to false. .UNINDENT .INDENT 0.0 .TP .B \-show\-line\-counts\-or\-regions Show the execution counts for each line if there is only one region on the line, but show the individual regions if there are multiple on the line. +Defaults to false. .UNINDENT .INDENT 0.0 .TP -.B \-use\-color[=VALUE] +.B \-use\-color Enable or disable color output. By default this is autodetected. .UNINDENT .INDENT 0.0 .TP -.B \-arch= -If the covered binary is a universal binary, select the architecture to use. -It is an error to specify an architecture that is not included in the -universal binary or to use an architecture that does not match a -non\-universal binary. +.B \-arch=[*NAMES*] +Specify a list of architectures such that the Nth entry in the list +corresponds to the Nth specified binary. If the covered object is a universal +binary, this specifies the architecture to use. It is an error to specify an +architecture that is not included in the universal binary or to use an +architecture that does not match a non\-universal binary. .UNINDENT .INDENT 0.0 .TP @@ -254,11 +259,54 @@ Show code coverage only for functions with the given name. .UNINDENT .INDENT 0.0 .TP +.B \-name\-whitelist= +Show code coverage only for functions listed in the given file. Each line in +the file should start with \fIwhitelist_fun:\fP, immediately followed by the name +of the function to accept. This name can be a wildcard expression. +.UNINDENT +.INDENT 0.0 +.TP .B \-name\-regex= Show code coverage only for functions that match the given regular expression. .UNINDENT .INDENT 0.0 .TP +.B \-format= +Use the specified output format. The supported formats are: "text", "html". +.UNINDENT +.INDENT 0.0 +.TP +.B \-tab\-size= +Replace tabs with spaces when preparing reports. Currently, this is +only supported for the html format. +.UNINDENT +.INDENT 0.0 +.TP +.B \-output\-dir=PATH +Specify a directory to write coverage reports into. If the directory does not +exist, it is created. When used in function view mode (i.e when \-name or +\-name\-regex are used to select specific functions), the report is written to +PATH/functions.EXTENSION. When used in file view mode, a report for each file +is written to PATH/REL_PATH_TO_FILE.EXTENSION. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xdemangler=| +Specify a symbol demangler. This can be used to make reports more +human\-readable. This option can be specified multiple times to supply +arguments to the demangler (e.g \fI\-Xdemangler c++filt \-Xdemangler \-n\fP for C++). +The demangler is expected to read a newline\-separated list of symbols from +stdin and write a newline\-separated list of the same length to stdout. +.UNINDENT +.INDENT 0.0 +.TP +.B \-num\-threads=N, \-j=N +Use N threads to write file reports (only applicable when \-output\-dir is +specified). When N=0, llvm\-cov auto\-detects an appropriate number of threads to +use. This is the default. +.UNINDENT +.INDENT 0.0 +.TP .B \-line\-coverage\-gt= Show code coverage only for functions with line coverage greater than the given threshold. @@ -281,15 +329,22 @@ given threshold. Show code coverage only for functions with region coverage less than the given threshold. .UNINDENT +.INDENT 0.0 +.TP +.B \-path\-equivalence=, +Map the paths in the coverage data to local source file paths. This allows you +to generate the coverage data on one machine, and then use llvm\-cov on a +different machine where you have the same files on a different path. +.UNINDENT .SH REPORT COMMAND .SS SYNOPSIS .sp -\fBllvm\-cov report\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fISOURCES\fP] +\fBllvm\-cov report\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fI\-object BIN,...\fP] [[\fI\-object BIN\fP]] [\fISOURCES\fP] .SS DESCRIPTION .sp -The \fBllvm\-cov report\fP command displays a summary of the coverage of a -binary \fIBIN\fP using the profile data \fIPROFILE\fP\&. It can optionally be filtered to -only show the coverage for the files listed in \fISOURCES\fP\&. +The \fBllvm\-cov report\fP command displays a summary of the coverage of +the binaries \fIBIN\fP,... using the profile data \fIPROFILE\fP\&. It can optionally be +filtered to only show the coverage for the files listed in \fISOURCES\fP\&. .sp If no source files are provided, a summary line is printed for each file in the coverage data. If any files are provided, summaries are shown for each function @@ -311,9 +366,48 @@ It is an error to specify an architecture that is not included in the universal binary or to use an architecture that does not match a non\-universal binary. .UNINDENT +.INDENT 0.0 +.TP +.B \-show\-functions +Show coverage summaries for each function. Defaults to false. +.UNINDENT +.INDENT 0.0 +.TP +.B \-show\-instantiation\-summary +Show statistics for all function instantiations. Defaults to false. +.UNINDENT +.SH EXPORT COMMAND +.SS SYNOPSIS +.sp +\fBllvm\-cov export\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fI\-object BIN,...\fP] [[\fI\-object BIN\fP]] +.SS DESCRIPTION +.sp +The \fBllvm\-cov export\fP command exports regions, functions, expansions, +and summaries of the coverage of the binaries \fIBIN\fP,... using the profile data +\fIPROFILE\fP as JSON. +.sp +For information on compiling programs for coverage and generating profile data, +see \fI\%SHOW COMMAND\fP\&. +.SS OPTIONS +.INDENT 0.0 +.TP +.B \-arch= +If the covered binary is a universal binary, select the architecture to use. +It is an error to specify an architecture that is not included in the +universal binary or to use an architecture that does not match a +non\-universal binary. +.UNINDENT +.INDENT 0.0 +.TP +.B \-summary\-only +Export only summary information for each file in the coverage data. This mode +will not export coverage information for smaller units such as individual +functions or regions. The result will be the same as produced by :program: +\fIllvm\-cov report\fP command, but presented in JSON format rather than text. +.UNINDENT .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-diff/llvm-diff.1 b/usr.bin/clang/llvm-diff/llvm-diff.1 index 9ec9940c646b..b16b1f37dd6a 100644 --- a/usr.bin/clang/llvm-diff/llvm-diff.1 +++ b/usr.bin/clang/llvm-diff/llvm-diff.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DIFF" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-DIFF" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-diff \- LLVM structural 'diff' . @@ -72,6 +72,6 @@ massive detected differences in blocks. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-dis/llvm-dis.1 b/usr.bin/clang/llvm-dis/llvm-dis.1 index 2a9566e493b9..89c29b45defc 100644 --- a/usr.bin/clang/llvm-dis/llvm-dis.1 +++ b/usr.bin/clang/llvm-dis/llvm-dis.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DIS" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-DIS" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-dis \- LLVM disassembler . @@ -83,6 +83,6 @@ llvm\-as|llvm\-as .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 b/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 index 8e559a2dfb20..da744e48ebae 100644 --- a/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 +++ b/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 @@ -1,9 +1,9 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DWARFDUMP" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-DWARFDUMP" "1" "2017-12-24" "6" "LLVM" .SH NAME -llvm-dwarfdump \- print contents of DWARF sections +llvm-dwarfdump \- dump and verify DWARF debug information . .nr rst2man-indent-level 0 . @@ -33,28 +33,157 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .SH SYNOPSIS .sp -\fBllvm\-dwarfdump\fP [\fIoptions\fP] [\fIfilenames...\fP] +\fBllvm\-dwarfdump\fP [\fIoptions\fP] [\fIfilename ...\fP] .SH DESCRIPTION .sp -\fBllvm\-dwarfdump\fP parses DWARF sections in the object files -and prints their contents in human\-readable form. +\fBllvm\-dwarfdump\fP parses DWARF sections in object files, +archives, and \fI\&.dSYM\fP bundles and prints their contents in +human\-readable form. Only the .debug_info section is printed unless one of +the section\-specific options or \fI\%\-\-all\fP is specified. .SH OPTIONS .INDENT 0.0 .TP -.B \-debug\-dump=section -Specify the DWARF section to dump. -For example, use \fBabbrev\fP to dump the contents of \fB\&.debug_abbrev\fP section, -\fBloc.dwo\fP to dump the contents of \fB\&.debug_loc.dwo\fP etc. -See \fBllvm\-dwarfdump \-\-help\fP for the complete list of supported sections. -Use \fBall\fP to dump all DWARF sections. It is the default. +.B \-a, \-\-all +Disassemble all supported DWARF sections. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-arch= +Dump DWARF debug information for the specified CPU architecture. +Architectures may be specified by name or by number. This +option can be specified multiple times, once for each desired +architecture. All CPU architectures will be printed by +default. +.UNINDENT +.INDENT 0.0 +.TP +.B \-c, \-\-show\-children +Show a debug info entry\(aqs children when using +the \fI\%\-\-debug\-info\fP, \fI\%\-\-find\fP, +and \fI\%\-\-name\fP options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-f , \-\-find= +Search for the exact text in the accelerator tables +and print the matching debug information entries. +When there is no accelerator tables or the name of the DIE +you are looking for is not found in the accelerator tables, +try using the slower but more complete \fI\%\-\-name\fP option. +.UNINDENT +.INDENT 0.0 +.TP +.B \-F, \-\-show\-form +Show DWARF form types after the DWARF attribute types. +.UNINDENT +.INDENT 0.0 +.TP +.B \-h, \-\-help +Show help and usage for this command. +.UNINDENT +.INDENT 0.0 +.TP +.B \-i, \-\-ignore\-case +Ignore case distinctions in when searching entries by name +or by regular expression. +.UNINDENT +.INDENT 0.0 +.TP +.B \-n , \-\-name= +Find and print all debug info entries whose name +(\fIDW_AT_name\fP attribute) matches the exact text in +. Use the \fI\%\-\-regex\fP option to have + become a regular expression for more flexible +pattern matching. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-lookup=
+Lookup
in the debug information and print out the file, +function, block, and line table details. +.UNINDENT +.INDENT 0.0 +.TP +.B \-o , \-\-out\-file= +Redirect output to a file specified by . +.UNINDENT +.INDENT 0.0 +.TP +.B \-p, \-\-show\-parents +Show a debug info entry\(aqs parent objects when using the +\fI\%\-\-debug\-info\fP, \fI\%\-\-find\fP, and +\fI\%\-\-name\fP options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-r , \-\-recurse\-depth= +Only recurse to a maximum depth of when dumping debug info +entries. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-statistics +Collect debug info quality metrics and print the results +as machine\-readable single\-line JSON output. +.UNINDENT +.INDENT 0.0 +.TP +.B \-x, \-\-regex +Treat any strings as regular expressions when searching +instead of just as an exact string match. +.UNINDENT +.INDENT 0.0 +.TP +.B \-u, \-\-uuid +Show the UUID for each architecture. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-diff +Dump the output in a format that is more friendly for comparing +DWARF output from two different files. +.UNINDENT +.INDENT 0.0 +.TP +.B \-v, \-\-verbose +Display verbose information when dumping. This can help to debug +DWARF issues. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-verify +Verify the structure of the DWARF information by verifying the +compile unit chains, DIE relationships graph, address +ranges, and more. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-version +Display the version of the tool. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-debug\-abbrev, \-\-debug\-aranges, \-\-debug\-cu\-index, \-\-debug\-frame [=], \-\-debug\-gnu\-pubnames, \-\-debug\-gnu\-pubtypes, \-\-debug\-info [=], \-\-debug\-line [=], \-\-debug\-loc [=], \-\-debug\-macro, \-\-debug\-pubnames, \-\-debug\-pubtypes, \-\-debug\-ranges, \-\-debug\-str, \-\-debug\-str\-offsets, \-\-debug\-tu\-index, \-\-debug\-types, \-\-eh\-frame, \-\-gdb\-index, \-\-apple\-names, \-\-apple\-types, \-\-apple\-namespaces, \-\-apple\-objc +Dump the specified DWARF section by name. Only the +\fI\&.debug_info\fP section is shown by default. Some entries +support adding an \fI=\fP as a way to provide an +optional offset of the exact entry to dump within the +respective section. When an offset is provided, only the +entry at that offset will be dumped, else the entire +section will be dumped. Children of items at a specific +offset can be dumped by also using the +\fI\%\-\-show\-children\fP option where applicable. .UNINDENT .SH EXIT STATUS .sp \fBllvm\-dwarfdump\fP returns 0 if the input files were parsed and dumped successfully. Otherwise, it returns 1. +.SH SEE ALSO +.sp +\fBdsymutil(1)\fP .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-extract/llvm-extract.1 b/usr.bin/clang/llvm-extract/llvm-extract.1 index b69439c3f77c..cfdbdbb6ec27 100644 --- a/usr.bin/clang/llvm-extract/llvm-extract.1 +++ b/usr.bin/clang/llvm-extract/llvm-extract.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-EXTRACT" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-EXTRACT" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-extract \- extract a function from an LLVM module . @@ -124,6 +124,6 @@ bugpoint .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-link/llvm-link.1 b/usr.bin/clang/llvm-link/llvm-link.1 index 91ed3770f50b..a7b57f5ae0ef 100644 --- a/usr.bin/clang/llvm-link/llvm-link.1 +++ b/usr.bin/clang/llvm-link/llvm-link.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-LINK" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-LINK" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-link \- LLVM bitcode linker . @@ -84,6 +84,6 @@ occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-nm/llvm-nm.1 b/usr.bin/clang/llvm-nm/llvm-nm.1 index 7454a15a1562..62fce6ecb0ce 100644 --- a/usr.bin/clang/llvm-nm/llvm-nm.1 +++ b/usr.bin/clang/llvm-nm/llvm-nm.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-NM" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-NM" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-nm \- list LLVM bitcode and object file's symbol table . @@ -115,12 +115,12 @@ file. .INDENT 0.0 .TP .B \-B (default) -Use BSD output format. Alias for \fB\-\-format=bsd\fP\&. +Use BSD output format. Alias for \fI\-\-format=bsd\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-P -Use POSIX.2 output format. Alias for \fB\-\-format=posix\fP\&. +Use POSIX.2 output format. Alias for \fI\-\-format=posix\fP\&. .UNINDENT .INDENT 0.0 .TP @@ -186,14 +186,17 @@ Sort symbols by size. .B \-\-undefined\-only, \-u Print only symbols referenced but not defined in this file. .UNINDENT +.INDENT 0.0 +.TP +.B \-\-radix=RADIX, \-t +Specify the radix of the symbol address(es). Values accepted d(decimal), +x(hexadecomal) and o(octal). +.UNINDENT .SH BUGS .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 -\fBllvm\-nm\fP cannot demangle C++ mangled names, like GNU \fBnm\fP -can. -.IP \(bu 2 \fBllvm\-nm\fP does not support the full set of arguments that GNU \fBnm\fP does. .UNINDENT @@ -208,6 +211,6 @@ llvm\-dis, ar(1), nm(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-pdbutil/Makefile b/usr.bin/clang/llvm-pdbutil/Makefile index 6975a00bd65b..c6683496bae0 100644 --- a/usr.bin/clang/llvm-pdbutil/Makefile +++ b/usr.bin/clang/llvm-pdbutil/Makefile @@ -1,7 +1,6 @@ # $FreeBSD$ PROG_CXX= llvm-pdbutil -MAN= SRCDIR= tools/llvm-pdbutil SRCS+= Analyze.cpp diff --git a/usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 b/usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 new file mode 100644 index 000000000000..f4960f53a194 --- /dev/null +++ b/usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 @@ -0,0 +1,745 @@ +.\" $FreeBSD$ +.\" Man page generated from reStructuredText. +. +.TH "LLVM-PDBUTIL" "1" "2017-12-24" "6" "LLVM" +.SH NAME +llvm-pdbutil \- PDB File forensics and diagnostics +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.INDENT 0.0 +.IP \(bu 2 +\fI\%Synopsis\fP +.IP \(bu 2 +\fI\%Description\fP +.IP \(bu 2 +\fI\%Subcommands\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%pretty\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%Summary\fP +.IP \(bu 2 +\fI\%Options\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%Filtering and Sorting Options\fP +.IP \(bu 2 +\fI\%Symbol Type Options\fP +.IP \(bu 2 +\fI\%Other Options\fP +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fI\%dump\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%Summary\fP +.IP \(bu 2 +\fI\%Options\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%MSF Container Options\fP +.IP \(bu 2 +\fI\%Module & File Options\fP +.IP \(bu 2 +\fI\%Symbol Options\fP +.IP \(bu 2 +\fI\%Type Record Options\fP +.IP \(bu 2 +\fI\%Miscellaneous Options\fP +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fI\%bytes\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%Summary\fP +.IP \(bu 2 +\fI\%Options\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%MSF File Options\fP +.IP \(bu 2 +\fI\%PDB Stream Options\fP +.IP \(bu 2 +\fI\%DBI Stream Options\fP +.IP \(bu 2 +\fI\%Module Options\fP +.IP \(bu 2 +\fI\%Type Record Options\fP +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fI\%pdb2yaml\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%Summary\fP +.IP \(bu 2 +\fI\%Options\fP +.UNINDENT +.IP \(bu 2 +\fI\%yaml2pdb\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%Summary\fP +.IP \(bu 2 +\fI\%Options\fP +.UNINDENT +.IP \(bu 2 +\fI\%merge\fP +.INDENT 2.0 +.IP \(bu 2 +\fI\%Summary\fP +.IP \(bu 2 +\fI\%Options\fP +.UNINDENT +.UNINDENT +.UNINDENT +.SH SYNOPSIS +.sp +\fBllvm\-pdbutil\fP [\fIsubcommand\fP] [\fIoptions\fP] +.SH DESCRIPTION +.sp +Display types, symbols, CodeView records, and other information from a +PDB file, as well as manipulate and create PDB files. \fBllvm\-pdbutil\fP +is normally used by FileCheck\-based tests to test LLVM\(aqs PDB reading and +writing functionality, but can also be used for general PDB file investigation +and forensics, or as a replacement for cvdump. +.SH SUBCOMMANDS +.sp +\fBllvm\-pdbutil\fP is separated into several subcommands each tailored to +a different purpose. A brief summary of each command follows, with more detail +in the sections that follow. +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +\fI\%pretty\fP \- Dump symbol and type information in a format that +tries to look as much like the original source code as possible. +.IP \(bu 2 +\fI\%dump\fP \- Dump low level types and structures from the PDB +file, including CodeView records, hash tables, PDB streams, etc. +.IP \(bu 2 +\fI\%bytes\fP \- Dump data from the PDB file\(aqs streams, records, +types, symbols, etc as raw bytes. +.IP \(bu 2 +\fI\%yaml2pdb\fP \- Given a yaml description of a PDB file, produce +a valid PDB file that matches that description. +.IP \(bu 2 +\fI\%pdb2yaml\fP \- For a given PDB file, produce a YAML +description of some or all of the file in a way that the PDB can be +reconstructed. +.IP \(bu 2 +\fI\%merge\fP \- Given two PDBs, produce a third PDB that is the +result of merging the two input PDBs. +.UNINDENT +.UNINDENT +.UNINDENT +.SS pretty +.sp +\fBIMPORTANT:\fP +.INDENT 0.0 +.INDENT 3.5 +The \fBpretty\fP subcommand is built on the Windows DIA SDK, and as such is not +supported on non\-Windows platforms. +.UNINDENT +.UNINDENT +.sp +USAGE: \fBllvm\-pdbutil\fP pretty [\fIoptions\fP] +.SS Summary +.sp +The \fIpretty\fP subcommand displays a very high level representation of your +program\(aqs debug info. Since it is built on the Windows DIA SDK which is the +standard API that Windows tools and debuggers query debug information, it +presents a more authoritative view of how a debugger is going to interpret your +debug information than a mode which displays low\-level CodeView records. +.SS Options +.SS Filtering and Sorting Options +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +\fIexclude\fP filters take priority over \fIinclude\fP filters. So if a filter +matches both an include and an exclude rule, then it is excluded. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-exclude\-compilands= +When dumping compilands, compiland source\-file contributions, or per\-compiland +symbols, this option instructs \fBllvm\-pdbutil\fP to omit any compilands that +match the specified regular expression. +.UNINDENT +.INDENT 0.0 +.TP +.B \-exclude\-symbols= +When dumping global, public, or per\-compiland symbols, this option instructs +\fBllvm\-pdbutil\fP to omit any symbols that match the specified regular +expression. +.UNINDENT +.INDENT 0.0 +.TP +.B \-exclude\-types= +When dumping types, this option instructs \fBllvm\-pdbutil\fP to omit any types +that match the specified regular expression. +.UNINDENT +.INDENT 0.0 +.TP +.B \-include\-compilands= +When dumping compilands, compiland source\-file contributions, or per\-compiland +symbols, limit the initial search to only those compilands that match the +specified regular expression. +.UNINDENT +.INDENT 0.0 +.TP +.B \-include\-symbols= +When dumping global, public, or per\-compiland symbols, limit the initial +search to only those symbols that match the specified regular expression. +.UNINDENT +.INDENT 0.0 +.TP +.B \-include\-types= +When dumping types, limit the initial search to only those types that match +the specified regular expression. +.UNINDENT +.INDENT 0.0 +.TP +.B \-min\-class\-padding= +Only display types that have at least the specified amount of alignment +padding, accounting for padding in base classes and aggregate field members. +.UNINDENT +.INDENT 0.0 +.TP +.B \-min\-class\-padding\-imm= +Only display types that have at least the specified amount of alignment +padding, ignoring padding in base classes and aggregate field members. +.UNINDENT +.INDENT 0.0 +.TP +.B \-min\-type\-size= +Only display types T where sizeof(T) is greater than or equal to the specified +amount. +.UNINDENT +.INDENT 0.0 +.TP +.B \-no\-compiler\-generated +Don\(aqt show compiler generated types and symbols +.UNINDENT +.INDENT 0.0 +.TP +.B \-no\-enum\-definitions +When dumping an enum, don\(aqt show the full enum (e.g. the individual enumerator +values). +.UNINDENT +.INDENT 0.0 +.TP +.B \-no\-system\-libs +Don\(aqt show symbols from system libraries +.UNINDENT +.SS Symbol Type Options +.INDENT 0.0 +.TP +.B \-all +Implies all other options in this category. +.UNINDENT +.INDENT 0.0 +.TP +.B \-class\-definitions= +Displays class definitions in the specified format. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +=all \- Display all class members including data, constants, typedefs, functions, etc (default) +=layout \- Only display members that contribute to class size. +=none \- Don\(aqt display class definitions (e.g. only display the name and base list) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-class\-order +Displays classes in the specified order. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +=none \- Undefined / no particular sort order (default) +=name \- Sort classes by name +=size \- Sort classes by size +=padding \- Sort classes by amount of padding +=padding\-pct \- Sort classes by percentage of space consumed by padding +=padding\-imm \- Sort classes by amount of immediate padding +=padding\-pct\-imm \- Sort classes by percentage of space consumed by immediate padding +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-class\-recurse\-depth= +When dumping class definitions, stop after recursing the specified number of times. The +default is 0, which is no limit. +.UNINDENT +.INDENT 0.0 +.TP +.B \-classes +Display classes +.UNINDENT +.INDENT 0.0 +.TP +.B \-compilands +Display compilands (e.g. object files) +.UNINDENT +.INDENT 0.0 +.TP +.B \-enums +Display enums +.UNINDENT +.INDENT 0.0 +.TP +.B \-externals +Dump external (e.g. exported) symbols +.UNINDENT +.INDENT 0.0 +.TP +.B \-globals +Dump global symbols +.UNINDENT +.INDENT 0.0 +.TP +.B \-lines +Dump the mappings between source lines and code addresses. +.UNINDENT +.INDENT 0.0 +.TP +.B \-module\-syms +Display symbols (variables, functions, etc) for each compiland +.UNINDENT +.INDENT 0.0 +.TP +.B \-sym\-types= +Type of symbols to dump when \-globals, \-externals, or \-module\-syms is +specified. (default all) +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +=thunks \- Display thunk symbols +=data \- Display data symbols +=funcs \- Display function symbols +=all \- Display all symbols (default) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-symbol\-order= +For symbols dumped via the \-module\-syms, \-globals, or \-externals options, sort +the results in specified order. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +=none \- Undefined / no particular sort order +=name \- Sort symbols by name +=size \- Sort symbols by size +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-typedefs +Display typedef types +.UNINDENT +.INDENT 0.0 +.TP +.B \-types +Display all types (implies \-classes, \-enums, \-typedefs) +.UNINDENT +.SS Other Options +.INDENT 0.0 +.TP +.B \-color\-output +Force color output on or off. By default, color if used if outputting to a +terminal. +.UNINDENT +.INDENT 0.0 +.TP +.B \-load\-address= +When displaying relative virtual addresses, assume the process is loaded at the +given address and display what would be the absolute address. +.UNINDENT +.SS dump +.sp +USAGE: \fBllvm\-pdbutil\fP dump [\fIoptions\fP] +.SS Summary +.sp +The \fBdump\fP subcommand displays low level information about the structure of a +PDB file. It is used heavily by LLVM\(aqs testing infrastructure, but can also be +used for PDB forensics. It serves a role similar to that of Microsoft\(aqs +\fIcvdump\fP tool. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +The \fBdump\fP subcommand exposes internal details of the file format. As +such, the reader should be familiar with /PDB/index before using this +command. +.UNINDENT +.UNINDENT +.SS Options +.SS MSF Container Options +.INDENT 0.0 +.TP +.B \-streams +dump a summary of all of the streams in the PDB file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-stream\-blocks +In conjunction with \fI\%\-streams\fP, add information to the output about +what blocks the specified stream occupies. +.UNINDENT +.INDENT 0.0 +.TP +.B \-summary +Dump MSF and PDB header information. +.UNINDENT +.SS Module & File Options +.INDENT 0.0 +.TP +.B \-modi= +For all options that dump information from each module/compiland, limit to +the specified module. +.UNINDENT +.INDENT 0.0 +.TP +.B \-files +Dump the source files that contribute to each displayed module. +.UNINDENT +.INDENT 0.0 +.TP +.B \-il +Dump inlinee line information (DEBUG_S_INLINEELINES CodeView subsection) +.UNINDENT +.INDENT 0.0 +.TP +.B \-l +Dump line information (DEBUG_S_LINES CodeView subsection) +.UNINDENT +.INDENT 0.0 +.TP +.B \-modules +Dump compiland information +.UNINDENT +.INDENT 0.0 +.TP +.B \-xme +Dump cross module exports (DEBUG_S_CROSSSCOPEEXPORTS CodeView subsection) +.UNINDENT +.INDENT 0.0 +.TP +.B \-xmi +Dump cross module imports (DEBUG_S_CROSSSCOPEIMPORTS CodeView subsection) +.UNINDENT +.SS Symbol Options +.INDENT 0.0 +.TP +.B \-globals +dump global symbol records +.UNINDENT +.INDENT 0.0 +.TP +.B \-global\-extras +dump additional information about the globals, such as hash buckets and hash +values. +.UNINDENT +.INDENT 0.0 +.TP +.B \-publics +dump public symbol records +.UNINDENT +.INDENT 0.0 +.TP +.B \-public\-extras +dump additional information about the publics, such as hash buckets and hash +values. +.UNINDENT +.INDENT 0.0 +.TP +.B \-symbols +dump symbols (functions, variables, etc) for each module dumped. +.UNINDENT +.INDENT 0.0 +.TP +.B \-sym\-data +For each symbol record dumped as a result of the \fI\%\-symbols\fP option, +display the full bytes of the record in binary as well. +.UNINDENT +.SS Type Record Options +.INDENT 0.0 +.TP +.B \-types +Dump CodeView type records from TPI stream +.UNINDENT +.INDENT 0.0 +.TP +.B \-type\-extras +Dump additional information from the TPI stream, such as hashes and the type +index offsets array. +.UNINDENT +.INDENT 0.0 +.TP +.B \-type\-data +For each type record dumped, display the full bytes of the record in binary as +well. +.UNINDENT +.INDENT 0.0 +.TP +.B \-type\-index= +Only dump types with the specified type index. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ids +Dump CodeView type records from IPI stream. +.UNINDENT +.INDENT 0.0 +.TP +.B \-id\-extras +Dump additional information from the IPI stream, such as hashes and the type +index offsets array. +.UNINDENT +.INDENT 0.0 +.TP +.B \-id\-data +For each ID record dumped, display the full bytes of the record in binary as +well. +.UNINDENT +.INDENT 0.0 +.TP +.B \-id\-index= +only dump ID records with the specified hexadecimal type index. +.UNINDENT +.INDENT 0.0 +.TP +.B \-dependents +When used in conjunction with \fI\%\-type\-index\fP or \fI\%\-id\-index\fP, +dumps the entire dependency graph for the specified index instead of just the +single record with the specified index. For example, if type index 0x4000 is +a function whose return type has index 0x3000, and you specify +\fI\-dependents=0x4000\fP, then this would dump both records (as well as any other +dependents in the tree). +.UNINDENT +.SS Miscellaneous Options +.INDENT 0.0 +.TP +.B \-all +Implies most other options. +.UNINDENT +.INDENT 0.0 +.TP +.B \-section\-contribs +Dump section contributions. +.UNINDENT +.INDENT 0.0 +.TP +.B \-section\-headers +Dump image section headers. +.UNINDENT +.INDENT 0.0 +.TP +.B \-section\-map +Dump section map. +.UNINDENT +.INDENT 0.0 +.TP +.B \-string\-table +Dump PDB string table. +.UNINDENT +.SS bytes +.sp +USAGE: \fBllvm\-pdbutil\fP bytes [\fIoptions\fP] +.SS Summary +.sp +Like the \fBdump\fP subcommand, the \fBbytes\fP subcommand displays low level +information about the structure of a PDB file, but it is used for even deeper +forensics. The \fBbytes\fP subcommand finds various structures in a PDB file +based on the command line options specified, and dumps them in hex. Someone +working on support for emitting PDBs would use this heavily, for example, to +compare one PDB against another PDB to ensure byte\-for\-byte compatibility. It +is not enough to simply compare the bytes of an entire file, or an entire stream +because it\(aqs perfectly fine for the same structure to exist at different +locations in two different PDBs, and "finding" the structure is half the battle. +.SS Options +.SS MSF File Options +.INDENT 0.0 +.TP +.B \-block\-range= +Dump binary data from specified range of MSF file blocks. +.UNINDENT +.INDENT 0.0 +.TP +.B \-byte\-range= +Dump binary data from specified range of bytes in the file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fpm +Dump the MSF free page map. +.UNINDENT +.INDENT 0.0 +.TP +.B \-stream\-data= +Dump binary data from the specified streams. Format is SN[:Start][@Size]. +For example, \fI\-stream\-data=7:3@12\fP dumps 12 bytes from stream 7, starting +at offset 3 in the stream. +.UNINDENT +.SS PDB Stream Options +.INDENT 0.0 +.TP +.B \-name\-map +Dump bytes of PDB Name Map +.UNINDENT +.SS DBI Stream Options +.INDENT 0.0 +.TP +.B \-ec +Dump the edit and continue map substream of the DBI stream. +.UNINDENT +.INDENT 0.0 +.TP +.B \-files +Dump the file info substream of the DBI stream. +.UNINDENT +.INDENT 0.0 +.TP +.B \-modi +Dump the modi substream of the DBI stream. +.UNINDENT +.INDENT 0.0 +.TP +.B \-sc +Dump section contributions substream of the DBI stream. +.UNINDENT +.INDENT 0.0 +.TP +.B \-sm +Dump the section map from the DBI stream. +.UNINDENT +.INDENT 0.0 +.TP +.B \-type\-server +Dump the type server map from the DBI stream. +.UNINDENT +.SS Module Options +.INDENT 0.0 +.TP +.B \-mod= +Limit all options in this category to the specified module index. By default, +options in this category will dump bytes from all modules. +.UNINDENT +.INDENT 0.0 +.TP +.B \-chunks +Dump the bytes of each module\(aqs C13 debug subsection. +.UNINDENT +.INDENT 0.0 +.TP +.B \-split\-chunks +When specified with \fI\%\-chunks\fP, split the C13 debug subsection into a +separate chunk for each subsection type, and dump them separately. +.UNINDENT +.INDENT 0.0 +.TP +.B \-syms +Dump the symbol record substream from each module. +.UNINDENT +.SS Type Record Options +.INDENT 0.0 +.TP +.B \-id= +Dump the record from the IPI stream with the given type index. +.UNINDENT +.INDENT 0.0 +.TP +.B \-type= +Dump the record from the TPI stream with the given type index. +.UNINDENT +.SS pdb2yaml +.sp +USAGE: \fBllvm\-pdbutil\fP pdb2yaml [\fIoptions\fP] +.SS Summary +.SS Options +.SS yaml2pdb +.sp +USAGE: \fBllvm\-pdbutil\fP yaml2pdb [\fIoptions\fP] +.SS Summary +.sp +Generate a PDB file from a YAML description. The YAML syntax is not described +here. Instead, use \fI\%llvm\-pdbutil pdb2yaml\fP and +examine the output for an example starting point. +.SS Options +.INDENT 0.0 +.TP +.B \-pdb= +.UNINDENT +.sp +Write the resulting PDB to the specified file. +.SS merge +.sp +USAGE: \fBllvm\-pdbutil\fP merge [\fIoptions\fP] +.SS Summary +.sp +Merge two PDB files into a single file. +.SS Options +.INDENT 0.0 +.TP +.B \-pdb= +.UNINDENT +.sp +Write the resulting PDB to the specified file. +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2003-2017, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-profdata/llvm-profdata.1 b/usr.bin/clang/llvm-profdata/llvm-profdata.1 index 18c26fc9b5fe..f76454111585 100644 --- a/usr.bin/clang/llvm-profdata/llvm-profdata.1 +++ b/usr.bin/clang/llvm-profdata/llvm-profdata.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-PROFDATA" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-PROFDATA" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-profdata \- Profile data tool . @@ -61,6 +61,9 @@ or counts it contains. In general, the input from a longer training run will be interpreted as relatively more important than a shorter run. Depending on the nature of the training runs it may be useful to adjust the weight given to each input file by using the \fB\-weighted\-input\fP option. +.sp +Profiles passed in via \fB\-weighted\-input\fP, \fB\-input\-files\fP, or via positional +arguments are processed once for each time they are seen. .SS OPTIONS .INDENT 0.0 .TP @@ -76,10 +79,18 @@ indexed profile data can\(aqt be written to standard output. .INDENT 0.0 .TP .B \-weighted\-input=weight,filename -Specify an input file name along with a weight. The profile counts of the input -file will be scaled (multiplied) by the supplied \fBweight\fP, where where \fBweight\fP -is a decimal integer >= 1. Input files specified without using this option are -assigned a default weight of 1. Examples are shown below. +Specify an input file name along with a weight. The profile counts of the +supplied \fBfilename\fP will be scaled (multiplied) by the supplied +\fBweight\fP, where where \fBweight\fP is a decimal integer >= 1. +Input files specified without using this option are assigned a default +weight of 1. Examples are shown below. +.UNINDENT +.INDENT 0.0 +.TP +.B \-input\-files=path, \-f=path +Specify a file which contains a list of files to merge. The entries in this +file are newline\-separated. Lines starting with \(aq#\(aq are skipped. Entries may +be of the form or ,. .UNINDENT .INDENT 0.0 .TP @@ -115,6 +126,19 @@ reader. .sp Emit the profile using GCC\(aqs gcov format (Not yet supported). .UNINDENT +.INDENT 0.0 +.TP +.B \-sparse[=true|false] +Do not emit function records with 0 execution count. Can only be used in +conjunction with \-instr. Defaults to false, since it can inhibit compiler +optimization during PGO. +.UNINDENT +.INDENT 0.0 +.TP +.B \-num\-threads=N, \-j=N +Use N threads to perform profile merging. When N=0, llvm\-profdata auto\-detects +an appropriate number of threads to use. This is the default. +.UNINDENT .SS EXAMPLES .SS Basic Usage .sp @@ -208,9 +232,21 @@ annotations. .UNINDENT .INDENT 0.0 .TP +.B \-topn=n +Instruct the profile dumper to show the top \fBn\fP functions with the +hottest basic blocks in the summary section. By default, the topn functions +are not dumped. +.UNINDENT +.INDENT 0.0 +.TP .B \-sample Specify that the input profile is a sample\-based profile. .UNINDENT +.INDENT 0.0 +.TP +.B \-memop\-sizes +Show the profiled sizes of the memory intrinsic calls for shown functions. +.UNINDENT .SH EXIT STATUS .sp \fBllvm\-profdata\fP returns 1 if the command is omitted or is invalid, @@ -218,6 +254,6 @@ if it cannot read input files, or if there is a mismatch between their data. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 b/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 index fc43d8d43955..520d84354c98 100644 --- a/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 +++ b/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-SYMBOLIZER" "1" "2016-03-03" "3.8" "LLVM" +.TH "LLVM-SYMBOLIZER" "1" "2017-12-24" "6" "LLVM" .SH NAME llvm-symbolizer \- convert addresses into source code locations . @@ -158,6 +158,6 @@ prefixed by (inlined by). Refer to listed examples. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/opt/opt.1 b/usr.bin/clang/opt/opt.1 index a498d998bea4..c778332df495 100644 --- a/usr.bin/clang/opt/opt.1 +++ b/usr.bin/clang/opt/opt.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "OPT" "1" "2016-03-03" "3.8" "LLVM" +.TH "OPT" "1" "2017-12-24" "6" "LLVM" .SH NAME opt \- LLVM optimizer . @@ -39,16 +39,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] The \fBopt\fP command is the modular LLVM optimizer and analyzer. It takes LLVM source files as input, runs the specified optimizations or analyses on it, and then outputs the optimized file or the analysis results. The -function of \fBopt\fP depends on whether the \fB\-analyze\fP option is +function of \fBopt\fP depends on whether the \fI\-analyze\fP option is given. .sp -When \fB\-analyze\fP is specified, \fBopt\fP performs various analyses +When \fI\-analyze\fP is specified, \fBopt\fP performs various analyses of the input source. It will usually print the results on standard output, but in a few cases, it will print output to standard error or generate a file with the analysis output, which is usually done when the output is meant for another program. .sp -While \fB\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an +While \fI\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an optimized output file. The optimizations available via \fBopt\fP depend upon what libraries were linked into it as well as any additional libraries that have been loaded with the \fI\%\-load\fP option. Use the \fI\%\-help\fP @@ -99,21 +99,21 @@ This option simply removes the inlining pass from the standard list. .INDENT 0.0 .TP .B \-disable\-opt -This option is only meaningful when \fB\-std\-link\-opts\fP is given. It +This option is only meaningful when \fI\-std\-link\-opts\fP is given. It disables most passes. .UNINDENT .INDENT 0.0 .TP .B \-strip\-debug This option causes opt to strip debug information from the module before -applying other optimizations. It is essentially the same as \fB\-strip\fP +applying other optimizations. It is essentially the same as \fI\-strip\fP but it ensures that stripping of debug information is done first. .UNINDENT .INDENT 0.0 .TP .B \-verify\-each This option causes opt to add a verify pass after every pass otherwise -specified on the command line (including \fB\-verify\fP). This is useful +specified on the command line (including \fI\-verify\fP). This is useful for cases where it is suspected that a pass is creating an invalid module but it is not clear which pass is doing it. .UNINDENT @@ -165,6 +165,6 @@ occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2016, LLVM Project +2003-2017, LLVM Project .\" Generated by docutils manpage writer. .