<html>
<title>
LLVM: extract tool
</title>

<body bgcolor=white>

<center>
<h1>LLVM: <tt>extract</tt> tool</h1>
</center>
<HR>

<h3>NAME</h3>
<tt>extract</tt>

<h3>
SYNOPSIS
</h3>

<tt>extract [options] [filename]</tt>
<h3>
DESCRIPTION
</h3>

The <tt>extract</tt> command takes the name of a function and extracts it from
the specified LLVM bytecode file.  It is primarily used as a debugging tool to
reduce test cases from larger programs that are triggering a bug.
<p>

In addition to extracting the bytecode of the specified function,
<tt>extract</tt> will also remove unreachable global variables, prototypes, and
unused types.
<p>

The <tt>extract</tt> command reads its input from standard input if filename is
omitted or if filename is -.  The output is always written to standard output.

<h3>
OPTIONS
</h3>

<ul>
	<li>-func &lt;function&gt;
	<br>
	Extract the specified function from the LLVM bytecode.
	<p>

	<li> -help
	<br>
	Print a summary of command line options.
	<p>
</ul>

<h3>
EXIT STATUS
</h3>

If <tt>extract</tt> succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.

<h3>
SEE ALSO
</h3>
<a href="bugpoint.html"><tt>bugpoint</tt></a>

<HR>
Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
</body>
</html>

