.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
.\"
.\" 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 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.
.    \" 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 "BUGPOINT 1"
.TH BUGPOINT 1 "2006-09-13" "CVS" "LLVM Command Guide"
.SH "NAME"
bugpoint \- automatic test case reduction tool
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBbugpoint\fR [\fIoptions\fR] [\fIinput \s-1LLVM\s0 ll/bc files\fR] [\fI\s-1LLVM\s0 passes\fR] \fB\-\-args\fR
\&\fIprogram arguments\fR
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fBbugpoint\fR narrows down the source of problems in \s-1LLVM\s0 tools and passes.  It
can be used to debug three types of failures: optimizer crashes, miscompilations
by optimizers, or bad native code generation (including problems in the static
and \s-1JIT\s0 compilers).  It aims to reduce large test cases to small, useful ones.
For more information on the design and inner workings of \fBbugpoint\fR, as well as
advice for using bugpoint, see \fIllvm/docs/Bugpoint.html\fR in the \s-1LLVM\s0
distribution.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-\-additional\-so\fR \fIlibrary\fR" 4
.IX Item "--additional-so library"
Load the dynamic shared object \fIlibrary\fR into the test program whenever it is
run.  This is useful if you are debugging programs which depend on non-LLVM
libraries (such as the X or curses libraries) to run.
.IP "\fB\-\-args\fR \fIprogram args\fR" 4
.IX Item "--args program args"
Pass all arguments specified after \-args to the test program whenever it runs.
Note that if any of the \fIprogram args\fR start with a '\-', you should use:
.Sp
.Vb 1
\&    bugpoint [bugpoint args] --args -- [program args]
.Ve
.Sp
The \*(L"\-\-\*(R" right after the \fB\-\-args\fR option tells \fBbugpoint\fR to consider any
options starting with \f(CW\*(C`\-\*(C'\fR to be part of the \fB\-\-args\fR option, not as options to
\&\fBbugpoint\fR itself.
.IP "\fB\-\-tool\-args\fR \fItool args\fR" 4
.IX Item "--tool-args tool args"
Pass all arguments specified after \-\-tool\-args to the \s-1LLVM\s0 tool under test
(\fBllc\fR, \fBlli\fR, etc.) whenever it runs.  You should use this option in the
following way:
.Sp
.Vb 1
\&    bugpoint [bugpoint args] --tool-args -- [tool args]
.Ve
.Sp
The \*(L"\-\-\*(R" right after the \fB\-\-tool\-args\fR option tells \fBbugpoint\fR to consider any
options starting with \f(CW\*(C`\-\*(C'\fR to be part of the \fB\-\-tool\-args\fR option, not as
options to \fBbugpoint\fR itself. (See \fB\-\-args\fR, above.)
.IP "\fB\-\-check\-exit\-code\fR=\fI{true,false}\fR" 4
.IX Item "--check-exit-code={true,false}"
Assume a non-zero exit code or core dump from the test program is a failure.
Defaults to true.
.IP "\fB\-\-disable\-{dce,simplifycfg}\fR" 4
.IX Item "--disable-{dce,simplifycfg}"
Do not run the specified passes to clean up and reduce the size of the test
program. By default, \fBbugpoint\fR uses these passes internally when attempting to
reduce test programs.  If you're trying to find a bug in one of these passes,
\&\fBbugpoint\fR may crash.
.IP "\fB\-find\-bugs\fR" 4
.IX Item "-find-bugs"
Continually randomize the specified passes and run them on the test program
until a bug is found or the user kills \fBbugpoint\fR. 
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
Print a summary of command line options.
.IP "\fB\-\-input\fR \fIfilename\fR" 4
.IX Item "--input filename"
Open \fIfilename\fR and redirect the standard input of the test program, whenever
it runs, to come from that file.
.IP "\fB\-\-load\fR \fIplugin\fR" 4
.IX Item "--load plugin"
Load the dynamic object \fIplugin\fR into \fBbugpoint\fR itself.  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 \fB\-\-help\fR and \fB\-\-load\fR options together; for example:
.Sp
.Vb 1
\&    bugpoint --load myNewPass.so --help
.Ve
.IP "\fB\-\-output\fR \fIfilename\fR" 4
.IX Item "--output filename"
Whenever the test program produces output on its standard output stream, it
should match the contents of \fIfilename\fR (the \*(L"reference output\*(R"). If you
do not use this option, \fBbugpoint\fR will attempt to generate a reference output
by compiling the program with the C backend and running it.
.IP "\fB\-\-profile\-info\-file\fR \fIfilename\fR" 4
.IX Item "--profile-info-file filename"
Profile file loaded by \fB\-\-profile\-loader\fR.
.IP "\fB\-\-run\-{int,jit,llc,cbe}\fR" 4
.IX Item "--run-{int,jit,llc,cbe}"
Whenever the test program is compiled, \fBbugpoint\fR should generate code for it
using the specified code generator.  These options allow you to choose the
interpreter, the \s-1JIT\s0 compiler, the static native code compiler, or the C
backend, respectively.
.IP "\fB\-\-enable\-valgrind\fR" 4
.IX Item "--enable-valgrind"
Use valgrind to find faults in the optimization phase. This will allow
bugpoint to find otherwise asymptomatic problems caused by memory
mis\-management.
.SH "EXIT STATUS"
.IX Header "EXIT STATUS"
If \fBbugpoint\fR succeeds in finding a problem, 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"
opt
.SH "AUTHOR"
.IX Header "AUTHOR"
Maintained by the \s-1LLVM\s0 Team (<http://llvm.org>).
