freebsd-dev/usr.bin/clang/llvm-extract/llvm-extract.1
Dimitry Andric d409305fa3 Merge llvm-project 12.0.0 release
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release.

PR:		255570
MFC after:	6 weeks
2021-06-13 22:01:15 +02:00

178 lines
4.7 KiB
Groff

.\" $FreeBSD$
.\" 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" "2021-06-07" "12" "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 "\-" (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-2021, LLVM Project
.\" Generated by docutils manpage writer.
.