Only read *predecessor once so as to fix a theoretical issue where it changes
[llvm/stm8.git] / docs / CommandGuide / llvm-extract.pod
blob797e79d128d4a18900e06c0dbbc47e8309015cd8
1 =pod
3 =head1 NAME
5 llvm-extract - extract a function from an LLVM module
7 =head1 SYNOPSIS
9 B<llvm-extract> [I<options>] B<--func> I<function-name> [I<filename>]
11 =head1 DESCRIPTION
13 The B<llvm-extract> command takes the name of a function and extracts it from
14 the specified LLVM bitcode file.  It is primarily used as a debugging tool to
15 reduce test cases from larger programs that are triggering a bug.
17 In addition to extracting the bitcode of the specified function,
18 B<llvm-extract> will also remove unreachable global variables, prototypes, and
19 unused types.
21 The B<llvm-extract> command reads its input from standard input if filename is
22 omitted or if filename is -.  The output is always written to standard output,
23 unless the B<-o> option is specified (see below).
25 =head1 OPTIONS
27 =over
29 =item B<-f>
31 Enable binary output on terminals.  Normally, B<llvm-extract> will refuse to
32 write raw bitcode output if the output stream is a terminal. With this option,
33 B<llvm-extract> will write raw bitcode regardless of the output device.
35 =item B<--func> I<function-name>
37 Extract the function named I<function-name> from the LLVM bitcode. May be
38 specified multiple times to extract multiple functions at once.
40 =item B<--glob> I<global-name>
42 Extract the global variable named I<global-name> from the LLVM bitcode. May be
43 specified multiple times to extract multiple global variables at once.
45 =item B<-help>
47 Print a summary of command line options.
49 =item B<-o> I<filename>
51 Specify the output filename.  If filename is "-" (the default), then
52 B<llvm-extract> sends its output to standard output.
54 =item B<-S>
56 Write output in LLVM intermediate language (instead of bitcode).
58 =back
60 =head1 EXIT STATUS
62 If B<llvm-extract> succeeds, it will exit with 0.  Otherwise, if an error
63 occurs, it will exit with a non-zero value.
65 =head1 SEE ALSO
67 L<bugpoint|bugpoint>
69 =head1 AUTHORS
71 Maintained by the LLVM Team (L<http://llvm.org/>).
73 =cut