.\" Automatically generated by Pod::Man version 1.15 .\" Sat Jul 10 01:00:16 2004 .\" .\" Standard preamble: .\" ====================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used .\" to do unbreakable dashes and therefore won't be available. \*(C` and .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and .\" index entries marked with X<> in POD. Of course, you'll have to process .\" the output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it .\" makes way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ====================================================================== .\" .IX Title "EXTRACT 1" .TH EXTRACT 1 "1.3" "2004-07-04" "LLVM Command Guide" .UC .SH "NAME" extract \- extract a function from an \s-1LLVM\s0 module .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBextract\fR [\fIoptions\fR] \fB\*(--func\fR \fIfunction-name\fR [\fIfilename\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBextract\fR command takes the name of a function and extracts it from the specified \s-1LLVM\s0 bytecode file. It is primarily used as a debugging tool to reduce test cases from larger programs that are triggering a bug. .PP In addition to extracting the bytecode of the specified function, \&\fBextract\fR will also remove unreachable global variables, prototypes, and unused types. .PP The \fBextract\fR command reads its input from standard input if filename is omitted or if filename is \-. The output is always written to standard output, unless the \fB\-o\fR option is specified (see below). .SH "OPTIONS" .IX Header "OPTIONS" .Ip "\fB\-f\fR" 4 .IX Item "-f" Force overwrite. Normally, \fBextract\fR will refuse to overwrite an output file that already exists. With this option, \fBextract\fR will overwrite the output file and replace it with new bytecode. .Ip "\fB\*(--func\fR \fIfunction-name\fR" 4 .IX Item "func function-name" Extract the function named \fIfunction-name\fR from the \s-1LLVM\s0 bytecode. .Ip "\fB\*(--help\fR" 4 .IX Item "help" Print a summary of command line options. .Ip "\fB\-o\fR \fIfilename\fR" 4 .IX Item "-o filename" Specify the output filename. If filename is \*(L"\-\*(R" (the default), then \&\fBextract\fR sends its output to standard output. .Ip "\fB\*(--stats\fR" 4 .IX Item "stats" Print statistics. .Ip "\fB\*(--time-passes\fR" 4 .IX Item "time-passes" Record the amount of time needed for each pass and print it to standard error. .SH "EXIT STATUS" .IX Header "EXIT STATUS" If \fBextract\fR succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value. .SH "SEE ALSO" .IX Header "SEE ALSO" bugpoint .SH "AUTHORS" .IX Header "AUTHORS" Maintained by the \s-1LLVM\s0 Team (http://llvm.cs.uiuc.edu).