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)
commitbcf8459a40ade1493f441ea0f987db7f9e3e5c36
treec6176075ad672912f644857f86594dd11a8cef8e
parent2785e77db1408859a441235e3cbb770d568408d3
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214610 91177308-0d34-0410-b5e6-96231b3b80d8
utils/bisect [new file with mode: 0755]