summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xllvm/tools/opt-viewer/opt-diff.py15
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)
OpenPOWER on IntegriCloud