[llvm-dev] Bugpoint Redesign
Joshua Cranmer 🐧 via llvm-dev
llvm-dev at lists.llvm.org
Sat Jun 8 13:59:29 PDT 2019
On 6/7/2019 5:19 PM, Diego Treviño via llvm-dev wrote:
> ### Narrow focus: test-case reduction
> The main focus will be a code reduction strategy to obtain much
> smaller test cases that still have the same property as the original
> one. This will be done via classic delta debugging and by adding some
> IR-specific reductions (e.g. replacing globals, removing unused
> instructions, etc), similar to what already exists, but with more
> in-depth minimization.
> Granted, if the community differs on this proposal, the legacy code
> could still be present in the tool, but with the caveat of still being
> documented and designed towards delta reduction.
As Hal points out, there are really two dimensions of reduction you can
do with bugpoint. One is delta debugging of passes, to figure out which
pass is causing the problem, and another is regular delta debugging of
the program itself. Supporting both use cases is important. My personal
experience, however, has been to only use bugpoint for delta debugging
of code, as I'm trying to work out what features of the input
programming is causing the pass I'm working on to crash. I can't say
what the relative balance of these two use cases are, and it may be that
we can solve this by having two versions of bugpoint to solve the two
> ### Command-Line Options
> We are proposing to reduce the plethora of bugpoint’s options to just
> two: an interesting-ness test and the arguments for said test, similar
> to other delta reduction tools such as CReduce, Delta, and Lithium;
> the tool should feel less cluttered, and there should also be no
> uncertainty about how to operate it.
I am /strongly/ in favor of going to an interesting-ness test approach
in lieu of the current "try and guess what kind of bug you're looking
for" in the current approach. Writing correct test detection scripts is
definitely a challenge, but you can usually crib from a preexisting script.
A second note is that we can provide much of the current "automatic"
functionality in bugpoint via a set of useful test scripts, one for each
Thunderbird and DXR developer
Source code archæologist
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev