diff options
Diffstat (limited to 'usr.bin/clang/llvm-extract/llvm-extract.1')
-rw-r--r-- | usr.bin/clang/llvm-extract/llvm-extract.1 | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/usr.bin/clang/llvm-extract/llvm-extract.1 b/usr.bin/clang/llvm-extract/llvm-extract.1 new file mode 100644 index 000000000000..b5f3550e8f76 --- /dev/null +++ b/usr.bin/clang/llvm-extract/llvm-extract.1 @@ -0,0 +1,176 @@ +.\" Man page generated from reStructuredText. +. +. +.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 +.. +.TH "LLVM-EXTRACT" "1" "2023-05-24" "16" "LLVM" +.SH NAME +llvm-extract \- extract a function from an LLVM module +.SH SYNOPSIS +.sp +\fBllvm\-extract\fP [\fIoptions\fP] \fB\-\-func\fP \fIfunction\-name\fP [\fIfilename\fP] +.SH DESCRIPTION +.sp +The \fBllvm\-extract\fP command takes the name of a function and extracts +it from the specified LLVM bitcode file. It is primarily used as a debugging +tool to reduce test cases from larger programs that are triggering a bug. +.sp +In addition to extracting the bitcode of the specified function, +\fBllvm\-extract\fP will also remove unreachable global variables, +prototypes, and unused types. +.sp +The \fBllvm\-extract\fP command reads its input from standard input if +filename is omitted or if filename is \fB\-\fP\&. The output is always written to +standard output, unless the \fB\-o\fP option is specified (see below). +.SH OPTIONS +.sp +\fB\-\-alias\fP \fIalias\-name\fP +.INDENT 0.0 +.INDENT 3.5 +Extract the alias named \fIfunction\-name\fP from the LLVM bitcode. May be +specified multiple times to extract multiple alias at once. +.UNINDENT +.UNINDENT +.sp +\fB\-\-ralias\fP \fIalias\-regular\-expr\fP +.INDENT 0.0 +.INDENT 3.5 +Extract the alias matching \fIalias\-regular\-expr\fP from the LLVM bitcode. +All alias matching the regular expression will be extracted. May be +specified multiple times. +.UNINDENT +.UNINDENT +.sp +\fB\-\-bb\fP \fIbasic\-block\-specifier\fP +.INDENT 0.0 +.INDENT 3.5 +Extract basic blocks(s) specified in \fIbasic\-block\-specifier\fP\&. May be +specified multiple times. Each <function:bb[;bb]> specifier pair will create +a function. If multiple basic blocks are specified in one pair, the first +block in the sequence should dominate the rest. +.UNINDENT +.UNINDENT +.sp +\fB\-\-delete\fP +.INDENT 0.0 +.INDENT 3.5 +Delete specified Globals from Module. +.UNINDENT +.UNINDENT +.sp +\fB\-f\fP +.INDENT 0.0 +.INDENT 3.5 +Enable binary output on terminals. Normally, \fBllvm\-extract\fP will +refuse to write raw bitcode output if the output stream is a terminal. With +this option, \fBllvm\-extract\fP will write raw bitcode regardless of the +output device. +.UNINDENT +.UNINDENT +.sp +\fB\-\-func\fP \fIfunction\-name\fP +.INDENT 0.0 +.INDENT 3.5 +Extract the function named \fIfunction\-name\fP from the LLVM bitcode. May be +specified multiple times to extract multiple functions at once. +.UNINDENT +.UNINDENT +.sp +\fB\-\-rfunc\fP \fIfunction\-regular\-expr\fP +.INDENT 0.0 +.INDENT 3.5 +Extract the function(s) matching \fIfunction\-regular\-expr\fP from the LLVM bitcode. +All functions matching the regular expression will be extracted. May be +specified multiple times. +.UNINDENT +.UNINDENT +.sp +\fB\-\-glob\fP \fIglobal\-name\fP +.INDENT 0.0 +.INDENT 3.5 +Extract the global variable named \fIglobal\-name\fP from the LLVM bitcode. May be +specified multiple times to extract multiple global variables at once. +.UNINDENT +.UNINDENT +.sp +\fB\-\-rglob\fP \fIglob\-regular\-expr\fP +.INDENT 0.0 +.INDENT 3.5 +Extract the global variable(s) matching \fIglobal\-regular\-expr\fP from the LLVM +bitcode. All global variables matching the regular expression will be +extracted. May be specified multiple times. +.UNINDENT +.UNINDENT +.sp +\fB\-\-keep\-const\-init\fP +.INDENT 0.0 +.INDENT 3.5 +Preserve the values of constant globals. +.UNINDENT +.UNINDENT +.sp +\fB\-\-recursive\fP +.INDENT 0.0 +.INDENT 3.5 +Recursively extract all called functions +.UNINDENT +.UNINDENT +.sp +\fB\-help\fP +.INDENT 0.0 +.INDENT 3.5 +Print a summary of command line options. +.UNINDENT +.UNINDENT +.sp +\fB\-o\fP \fIfilename\fP +.INDENT 0.0 +.INDENT 3.5 +Specify the output filename. If filename is \(dq\-\(dq (the default), then +\fBllvm\-extract\fP sends its output to standard output. +.UNINDENT +.UNINDENT +.sp +\fB\-S\fP +.INDENT 0.0 +.INDENT 3.5 +Write output in LLVM intermediate language (instead of bitcode). +.UNINDENT +.UNINDENT +.SH EXIT STATUS +.sp +If \fBllvm\-extract\fP succeeds, it will exit with 0. Otherwise, if an error +occurs, it will exit with a non\-zero value. +.SH SEE ALSO +.sp +\fBbugpoint(1)\fP +.SH AUTHOR +Maintained by the LLVM Team (https://llvm.org/). +.SH COPYRIGHT +2003-2023, LLVM Project +.\" Generated by docutils manpage writer. +. |