Lines Matching refs:bugpoint

2 LLVM bugpoint tool: design and usage
11 ``bugpoint`` narrows down the source of problems in LLVM tools and passes. It
25 ``bugpoint`` is designed to be a useful tool without requiring any hooks into
28 appear to do stupid things or miss obvious simplifications. ``bugpoint`` is
32 that ``bugpoint`` is generally very quick unless debugging a miscompilation
38 ``bugpoint`` reads each ``.bc`` or ``.ll`` file specified on the command line
42 causes the verifier to abort), ``bugpoint`` starts the `crash debugger`_.
44 Otherwise, if the ``-output`` option was not specified, ``bugpoint`` runs the
46 generate a reference output. Once ``bugpoint`` has a reference output for the
48 selected code generator crashes, ``bugpoint`` starts the `crash debugger`_ on
54 output, ``bugpoint`` runs the test program after all of the LLVM passes have
57 `miscompilation debugger`_. Otherwise, there is no problem ``bugpoint`` can
65 If an optimizer or code generator crashes, ``bugpoint`` will try as hard as it
67 test program. First, ``bugpoint`` figures out which combination of optimizer
71 Next, ``bugpoint`` tries removing functions from the test program, to reduce its
75 reduce the size of the function as much as possible. Finally, ``bugpoint``
77 failure. At the end, ``bugpoint`` should tell you what passes crash, give you a
111 Advice for using bugpoint
114 ``bugpoint`` can be a remarkably useful tool, but it sometimes works in
117 * In the code generator and miscompilation debuggers, ``bugpoint`` only works
119 ``argv[0]``, the date, time, or any other "random" data, ``bugpoint`` may
128 * ``bugpoint`` is extremely useful when working on a new optimization: it helps
129 track down regressions quickly. To avoid having to relink ``bugpoint`` every
130 time you change your optimization however, have ``bugpoint`` dynamically load
133 * ``bugpoint`` can generate a lot of output and run for a long period of time.
139 $ bugpoint ... |& tee bugpoint.log
141 to get a copy of ``bugpoint``'s output in the file ``bugpoint.log``, as well
144 * ``bugpoint`` cannot debug problems with the LLVM linker. If ``bugpoint``
149 * ``bugpoint`` is useful for proactively finding bugs in LLVM. Invoking
150 ``bugpoint`` with the ``-find-bugs`` option will cause the list of specified
152 repeat until a bug is found or the user kills ``bugpoint``.
154 What to do when bugpoint isn't enough
157 Sometimes, ``bugpoint`` is not enough. In particular, InstCombine and
159 transformations. If the process of using bugpoint has left you with still too