Imported Upstream version 5.18.0.246

Former-commit-id: 0c7ce5b1a7851e13f22acfd379b7f9fb304e4833
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-01-23 08:21:40 +00:00
parent a7724cd563
commit 279aa8f685
28482 changed files with 3866972 additions and 44 deletions

37
external/llvm/utils/bisect vendored Executable file
View File

@@ -0,0 +1,37 @@
#!/usr/bin/env python
import os
import sys
import argparse
import subprocess
parser = argparse.ArgumentParser()
parser.add_argument('--start', type=int, default=0)
parser.add_argument('--end', type=int, default=(1 << 32))
parser.add_argument('command', nargs='+')
args = parser.parse_args()
start = args.start
end = args.end
print("Bisect Starting!")
print("Start: %d" % start)
print("End: %d" % end)
last = None
while start != end and start != end-1:
count = start + (end - start)/2
print("Visiting Count: %d with (Start, End) = (%d,%d)" % (count, start, end))
cmd = [x % {'count':count} for x in args.command]
print cmd
result = subprocess.call(cmd)
if result == 0:
print(" PASSES! Setting start to count")
start = count
else:
print(" FAILS! Setting end to count")
end = count
print("Last good count: %d" % start)