Add -rfunc and -rglob options to llvm-extract to support regular
[oota-llvm.git] / docs / CommandGuide / llvm-extract.pod
1 =pod
2
3 =head1 NAME
4
5 llvm-extract - extract a function from an LLVM module
6
7 =head1 SYNOPSIS
8
9 B<llvm-extract> [I<options>] B<--func> I<function-name> [I<filename>]
10
11 =head1 DESCRIPTION
12
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.
16
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.
20
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).
24
25 =head1 OPTIONS
26
27 =over
28
29 =item B<-f>
30
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.
34
35 =item B<--func> I<function-name>
36
37 Extract the function named I<function-name> from the LLVM bitcode. May be
38 specified multiple times to extract multiple functions at once.
39
40 =item B<--rfunc> I<function-regular-expr>
41
42 Extract the function(s) matching I<function-regular-expr> from the LLVM bitcode.
43 All functions matching the regular expression will be extracted.  May be 
44 specified multiple times.
45
46 =item B<--glob> I<global-name>
47
48 Extract the global variable named I<global-name> from the LLVM bitcode. May be
49 specified multiple times to extract multiple global variables at once.
50
51 =item B<--rglob> I<glob-regular-expr>
52
53 Extract the global variable(s) matching I<global-regular-expr> from the LLVM
54 bitcode. All global variables matching the regular expression will be extracted.
55 May be specified multiple times.
56
57 =item B<-help>
58
59 Print a summary of command line options.
60
61 =item B<-o> I<filename>
62
63 Specify the output filename.  If filename is "-" (the default), then
64 B<llvm-extract> sends its output to standard output.
65
66 =item B<-S>
67
68 Write output in LLVM intermediate language (instead of bitcode).
69
70 =back
71
72 =head1 EXIT STATUS
73
74 If B<llvm-extract> succeeds, it will exit with 0.  Otherwise, if an error
75 occurs, it will exit with a non-zero value.
76
77 =head1 SEE ALSO
78
79 L<bugpoint|bugpoint>
80
81 =head1 AUTHORS
82
83 Maintained by the LLVM Team (L<http://llvm.org/>).
84
85 =cut