diff options
| -rwxr-xr-x | llvm/tools/opt-viewer/opt-diff.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/llvm/tools/opt-viewer/opt-diff.py b/llvm/tools/opt-viewer/opt-diff.py index b92f2950011..f3bfd1860b9 100755 --- a/llvm/tools/opt-viewer/opt-diff.py +++ b/llvm/tools/opt-viewer/opt-diff.py @@ -37,12 +37,18 @@ if __name__ == '__main__': type=int, help='Max job count (defaults to %(default)s, the current CPU count)') parser.add_argument( + '--max-size', + '-m', + default=100000, + type=int, + help='Maximum number of remarks stored in an output file') + parser.add_argument( '--no-progress-indicator', '-n', action='store_true', default=False, help='Do not display any indicator of how many YAML files were read.') - parser.add_argument('--output', '-o', default='diff.opt.yaml') + parser.add_argument('--output', '-o', default='diff{}.opt.yaml') args = parser.parse_args() files1 = optrecord.find_opt_files(args.yaml_dir_or_file_1) @@ -60,9 +66,10 @@ if __name__ == '__main__': for r in removed: r.Added = False - result = added | removed + result = list(added | removed) for r in result: r.recover_yaml_structure() - with open(args.output, 'w') as stream: - yaml.dump_all(result, stream) + for i in range(0, len(result), args.max_size): + with open(args.output.format(i / args.max_size), 'w') as stream: + yaml.dump_all(result[i:i + args.max_size], stream) |

