<html>
<title>
LLVM: llvm-dis tool
</title>

<body bgcolor=white>

<center><h1>LLVM: <tt>llvm-dis</tt> tool</h1></center>
<HR>

<h3>NAME</h3>
<tt>llvm-dis</tt>

<h3>SYNOPSIS</h3>
<tt>llvm-dis [options] [filename]</tt>

<h3>DESCRIPTION</h3>

The <tt>llvm-dis</tt> command is the LLVM disassembler.  It takes an LLVM
bytecode file and converts it into LLVM assembly language or C source code with
equivalent functionality.
<p>

If filename is omitted, <tt>llvm-dis</tt> reads its input from standard input.
<p>

The default output file for <tt>llvm-dis</tt> is determined by the following logic:
<ul>
	<li>
	If the input is standard input or the file -, then the output is
	standard output.
	<p>

	<li>
	If the input filename ends in .bc, then the output filename will be
	identical, except that the .bc suffix will be replaced by the .ll or .c
	suffix (for LLVM assembly language and C code, respectively).
	<p>

	<li>
	If the input filename does not end in .bc, then the output filename will
	be identical to the input filename, except that the .ll or .c suffix
	will be appended to the filename (for LLVM assembly language and C code,
	respectively).
</ul>

<h3>OPTIONS</h3>

<ul>
	<li> -llvm
	<br>
	Instruct <tt>llvm-dis</tt> to generate LLVM assembly code in human
	readable format.  This is the default behavior.
	<p>

	<li> -c
	<br>
	Instruct <tt>llvm-dis</tt> to generate C source code.
	<p>

	<li> -f
	<br>
	Force overwrite.  Normally, <tt>llvm-dis</tt> will refuse to overwrite
	an output file that already exists.  With this option, <tt>llvm-dis</tt>
	will overwrite the output file.
	<p>

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

	<li> -o &lt;filename&gt;
	<br>
	Specify the output filename.  If filename is -, then the output is sent
	to standard output.
	<p>

	<li> -time-passes
	<br>
	Record the amount of time needed for each pass and print it to standard
	error.
	<p>
</ul>

<h3>EXIT STATUS</h3>

If <tt>llvm-dis</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="llvm-as.html"><tt>llvm-as</tt></a>

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

