summaryrefslogtreecommitdiff
path: root/tools/opt-viewer/optrecord.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/opt-viewer/optrecord.py')
-rw-r--r--tools/opt-viewer/optrecord.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/tools/opt-viewer/optrecord.py b/tools/opt-viewer/optrecord.py
index 61ed9626cffad..4599e12d7e688 100644
--- a/tools/opt-viewer/optrecord.py
+++ b/tools/opt-viewer/optrecord.py
@@ -12,8 +12,10 @@ except ImportError:
import cgi
from collections import defaultdict
+import fnmatch
import functools
from multiprocessing import Lock
+import os, os.path
import subprocess
import optpmap
@@ -47,7 +49,7 @@ def demangle(name):
def html_file_name(filename):
- return filename.replace('/', '_') + ".html"
+ return filename.replace('/', '_').replace('#', '_') + ".html"
def make_link(File, Line):
@@ -233,3 +235,19 @@ def gather_results(filenames, num_jobs, should_print_progress):
all_remarks.update(all_remarks_job)
return all_remarks, file_remarks, max_hotness != 0
+
+
+def find_opt_files(dirs_or_files):
+ all = []
+ for dir_or_file in dirs_or_files:
+ if os.path.isfile(dir_or_file):
+ all.append(dir_or_file)
+ else:
+ for dir, subdirs, files in os.walk(dir_or_file):
+ # Exclude mounted directories and symlinks (os.walk default).
+ subdirs[:] = [d for d in subdirs
+ if not os.path.ismount(os.path.join(dir, d))]
+ for file in files:
+ if fnmatch.fnmatch(file, "*.opt.yaml"):
+ all.append(os.path.join(dir, file))
+ return all