30 lines
856 B
Python
Executable File
30 lines
856 B
Python
Executable File
"""
|
|
Script to disassembles a bitcode file and run FileCheck on the output with the
|
|
provided arguments. The first 2 arguments are the paths to the llvm-dis and
|
|
FileCheck binaries, followed by arguments to be passed to FileCheck. The last
|
|
argument is the bitcode file to disassemble.
|
|
|
|
Usage:
|
|
python llvm-dis-and-filecheck.py
|
|
<path to llvm-dis> <path to FileCheck>
|
|
[arguments passed to FileCheck] <path to bitcode file>
|
|
|
|
"""
|
|
|
|
|
|
import sys
|
|
import subprocess
|
|
|
|
llvm_dis = sys.argv[1]
|
|
filecheck = sys.argv[2]
|
|
filecheck_args = [filecheck, ]
|
|
filecheck_args.extend(sys.argv[3:-1])
|
|
bitcode_file = sys.argv[-1]
|
|
|
|
disassemble = subprocess.Popen([llvm_dis, "-o", "-", bitcode_file],
|
|
stdout=subprocess.PIPE)
|
|
check = subprocess.Popen(filecheck_args, stdin=disassemble.stdout)
|
|
disassemble.stdout.close()
|
|
check.communicate()
|
|
sys.exit(check.returncode)
|