text: #!/usr/bin/env python
  # Given a -print-before-all -print-module-scope log from an opt invocation,
  # chunk it into a series of individual IR files, one for each pass invocation.
  # If the log ends with an obvious stack trace, try to split off a separate
  # "crashinfo.txt" file leaving only the valid input IR in the last chunk.
  # Files are written to current working directory.
  
  import sys
  
  basename = "chunk-"
  chunk_id = 0
  
  def print_chunk(lines):
      global chunk_id
      global basename
      fname = basename + str(chunk_id) + ".ll"
      chunk_id = chunk_id + 1
      print "writing chunk " + fname + " (" + str(len(lines)) + " lines)"
      with open(fname, "w") as f:
          f.writelines(lines)
  
  is_dump = False
  cur = []
  for line in sys.stdin:
      if line.startswith("*** IR Dump Before ") and len(cur) != 0:
          print_chunk(cur);
          cur = []
          cur.append("; " + line)
      elif line.startswith("Stack dump:"):
          print_chunk(cur);
          cur = []
          cur.append(line)
          is_dump = True
      else:
          cur.append(line)
  
  if is_dump:
      print "writing crashinfo.txt (" + str(len(cur)) + " lines)"
      with open("crashinfo.txt", "w") as f:
          f.writelines(cur)
  else:
      print_chunk(cur);
  