| #!/usr/bin/env python3 | |
| # Copyright 2021 The IREE Authors | |
| # | |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| """Generates a flagfile for iree-benchmark-module.""" | |
| import argparse | |
| import os | |
| def parse_arguments(): | |
| """Parses command line arguments.""" | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument( | |
| "--module", | |
| type=str, | |
| required=True, | |
| metavar="<module>", | |
| help="The name of the module file", | |
| ) | |
| parser.add_argument( | |
| "--device", | |
| type=str, | |
| required=True, | |
| metavar="<device>", | |
| help="The name of the HAL device", | |
| ) | |
| parser.add_argument( | |
| "--function", | |
| type=str, | |
| required=True, | |
| metavar="<function>", | |
| help="The name of the entry function", | |
| ) | |
| parser.add_argument( | |
| "--inputs", | |
| type=str, | |
| required=True, | |
| metavar="<inputs>", | |
| help="A list of comma-separated function inputs", | |
| ) | |
| parser.add_argument( | |
| "--additional_args", | |
| type=str, | |
| required=True, | |
| metavar="<additional-cl-args>", | |
| help="Additional command-line arguments", | |
| ) | |
| parser.add_argument( | |
| "-o", | |
| "--output", | |
| type=str, | |
| required=True, | |
| metavar="<output-file>", | |
| help="Output file to write to", | |
| ) | |
| return parser.parse_args() | |
| def main(args): | |
| lines = [ | |
| f"--device={args.device}", | |
| f"--module={args.module}", | |
| f"--function={args.function}", | |
| ] | |
| lines.extend([("--input=" + e) for e in args.inputs.split(",")]) | |
| lines.extend(args.additional_args.split(";")) | |
| content = "\n".join(lines) + "\n" | |
| with open(args.output, "w") as f: | |
| f.writelines(content) | |
| if __name__ == "__main__": | |
| main(parse_arguments()) |