mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 16:56:06 +00:00

This is the first commit in a series that will reformat all the python files in the LLVM repository. Reformatting is done with `black`. See more information here: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style Reviewed By: jhenderson, JDevlieghere, MatzeB Differential Revision: https://reviews.llvm.org/D150545
40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
desc = """
|
|
A script to extract ConstraintElimination's reproducer remarks. The extracted
|
|
modules are written as textual LLVM IR to files named reproducerXXXX.ll in the
|
|
current directory.
|
|
"""
|
|
|
|
import optrecord
|
|
import argparse
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description=desc)
|
|
parser.add_argument(
|
|
"yaml_dirs_or_files",
|
|
nargs="+",
|
|
help="List of optimization record files or directories searched "
|
|
"for optimization record files.",
|
|
)
|
|
|
|
args = parser.parse_args()
|
|
|
|
print_progress = False
|
|
jobs = 1
|
|
|
|
files = optrecord.find_opt_files(*args.yaml_dirs_or_files)
|
|
if not files:
|
|
parser.error("No *.opt.yaml files found")
|
|
sys.exit(1)
|
|
|
|
all_remarks, file_remarks, _ = optrecord.gather_results(files, jobs, True)
|
|
|
|
i = 0
|
|
for r in all_remarks:
|
|
if r[1] != "constraint-elimination" or r[2] != "Reproducer":
|
|
continue
|
|
with open("reproducer{}.ll".format(i), "wt") as f:
|
|
f.write(r[7][1][0][1])
|
|
i += 1
|