Add a small utility called bisect that enables commandline bisecting on a counter.
authorMichael Gottesman <mgottesman@apple.com>
Sat, 2 Aug 2014 01:39:08 +0000 (01:39 +0000)
committerMichael Gottesman <mgottesman@apple.com>
Sat, 2 Aug 2014 01:39:08 +0000 (01:39 +0000)
commit55fcf347051fc575699850f9f2bf89189737d85c
tree9f4fbeb01427b94ad276c76cbaf37398df2aaf9d
parentc85f00a0622d7e49e9ac8a6612e0fd23a0417bd5
Add a small utility called bisect that enables commandline bisecting on a counter.

This is something that I have found to be very useful in my work and I
wanted to contribute it back to the community since several people in
the past have asked me for something along these lines. (Jakob, I know
this has been a while coming ; )]

The way you use this is you create a script that takes in as its first
argument a count. The script passes into LLVM the count via a command
line flag that disables a pass after LLVM has run after the pass has
run for count number of times. Then the script invokes a test of some
sort and indicates whether LLVM successfully compiled the test via the
scripts exit status. Then you invoke bisect as follows:

bisect --start=<start_num> --end=<end_num> ./script.sh "%(count)s"

And bisect will continually call ./script.sh with various counts using
the exit status to determine success and failure.

llvm-svn: 214610
llvm/utils/bisect [new file with mode: 0755]