aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/clang/llvm-extract/llvm-extract.1
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/clang/llvm-extract/llvm-extract.1')
-rw-r--r--usr.bin/clang/llvm-extract/llvm-extract.1176
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.
+.