mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-24 22:32:47 +00:00
3f71722f44
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9167 91177308-0d34-0410-b5e6-96231b3b80d8
118 lines
3.3 KiB
HTML
118 lines
3.3 KiB
HTML
<html>
|
|
<title>LLVM: bugpoint tool</title>
|
|
|
|
<body bgcolor=white>
|
|
|
|
<center><h1>LLVM: <tt>bugpoint</tt> tool</h1></center>
|
|
<HR>
|
|
|
|
<h3>NAME</h3>
|
|
<tt>bugpoint</tt>
|
|
|
|
<h3>SYNOPSIS</h3>
|
|
<tt>bugpoint [options] [input llvm ll/bc files] [LLVM passes] --args <program arguments>...</tt>
|
|
|
|
<img src="../Debugging.gif" width=444 height=314 align=right>
|
|
<h3>DESCRIPTION</h3>
|
|
|
|
The <tt>bugpoint</tt> tool is a generally useful tool for narrowing down
|
|
problems in LLVM tools and passes.<p>
|
|
|
|
<tt>bugpoint</tt> reads the specified list of .bc or .ll files specified on the
|
|
command-line and links them together. It then runs the specified LLVM passes on
|
|
the resultant bytecode file. If any of the passes crash, or if they produce an
|
|
LLVM module which is not verifiable, bugpoint enters "crash debugging mode".
|
|
Otherwise, <tt>bugpoint</tt> tries to run the resultant program with a code
|
|
generator. If the code generated program does not match the reference output,
|
|
it enters "miscompilation debugging mode". If the <tt>-mode</tt> option is
|
|
specified, <tt>bugpoint</tt> enters "code generator debugging mode".
|
|
|
|
<h4>Crash debugging mode</h4>
|
|
|
|
If a pass crashes, bugpoint will try to narrow down the list of passes and the
|
|
code to a more manageable amount. Using a sophisticated binary-search algorithm,
|
|
<tt>bugpoint</tt> pares down the list of passes to a minimum set.
|
|
|
|
[unfinished]
|
|
|
|
<h4>Miscompilation debugging mode</h4>
|
|
|
|
TODO
|
|
|
|
<h4>Code generator debugging mode</h4>
|
|
|
|
TODO
|
|
|
|
|
|
<h3>OPTIONS</h3>
|
|
|
|
<ul>
|
|
<li><tt>-args <arguments></tt>
|
|
<br>
|
|
All arguments specified after <tt>-args</tt> are passed into the
|
|
executed program when the program must be executed.
|
|
<p>
|
|
|
|
<li><tt>-disable-(adce,dce,final-cleanup,simplifycfg)</tt>
|
|
<br>
|
|
<tt>bugpoint</tt> uses several passes internally for cleanup routines to
|
|
reduce the size of the program. If you're trying to find a bug in out
|
|
of these passes, <tt>bugpoint</tt> may crash. These options tell
|
|
<tt>bugpoint</tt> not use the specified passes.
|
|
<p>
|
|
|
|
<li> <tt>-help</tt>
|
|
<br>
|
|
Print a summary of command line options.
|
|
<p>
|
|
|
|
<li> <tt>-input <filename></tt>
|
|
<br>
|
|
Specify the contents of <stdin> when the program must be executed.
|
|
<p>
|
|
|
|
<li> <tt>-load <plugin.so></tt>
|
|
<br>
|
|
Load the dynamic object plugin.so. This object should register new
|
|
optimization passes. Once loaded, the object will add new command line
|
|
options to enable various optimizations. To see the new complete list
|
|
of optimizations, use the -help and -load options together:
|
|
<p>
|
|
<tt>opt -load <plugin.so> -help</tt>
|
|
<p>
|
|
|
|
<li> <tt>-mode=(compile|codegen)</tt>
|
|
<br>
|
|
Specify whether <tt>bugpoint</tt> should operate in compilation
|
|
debugging mode (detecting miscompilations and optimizer crashes), or in
|
|
code generator debugging mode.
|
|
<p>
|
|
|
|
<li> <tt>-output <filename></tt>
|
|
<br>
|
|
Specify a reference output for the <stdout> file stream.
|
|
<p>
|
|
|
|
<li> <tt>-run-(lli|jit|llc|cbe)</tt>
|
|
<br>
|
|
Specify which code generator <tt>bugpoint</tt> should use to run the
|
|
program with.
|
|
<p>
|
|
|
|
</ul>
|
|
|
|
<h3>EXIT STATUS</h3>
|
|
|
|
If <tt>bugpoint</tt> succeeds in finding a problem, it will exit with 0.
|
|
Otherwise, if an error occurs, it will exit with a non-zero value.
|
|
|
|
<h3>SEE ALSO</h3>
|
|
<a href="opt.html"><tt>opt</tt></a>
|
|
<a href="analyze.html"><tt>analyze</tt></a>
|
|
|
|
<HR>
|
|
Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
|
|
</body>
|
|
</html>
|
|
|