LLVM: bugpoint tool


NAME

bugpoint

SYNOPSIS

bugpoint [options] [input llvm ll/bc files] [LLVM passes] --args <program arguments>...

DESCRIPTION

The bugpoint tool is a generally useful tool for narrowing down problems in LLVM tools and passes.

bugpoint 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, bugpoint 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 -mode option is specified, bugpoint enters "code generator debugging mode".

Crash debugging mode

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, bugpoint pares down the list of passes to a minimum set. [unfinished]

Miscompilation debugging mode

TODO

Code generator debugging mode

TODO

OPTIONS

EXIT STATUS

If bugpoint succeeds in finding a problem, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

opt analyze
Maintained by the LLVM Team.