aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/shared.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/shared.py b/tools/shared.py
index cb0d0691..93c417a1 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -145,3 +145,26 @@ def pick_llvm_opts(optimization_level, optimize_size, allow_nonportable=False, q
if optimization_level > 1: opts.append('-constmerge')
return opts
+
+def read_auto_optimize_data(filename):
+ '''
+ Reads the output of AUTO_OPTIMIZE and generates proper information for CORRECT_* == 2 's *_LINES options
+ '''
+ signs_lines = []
+ overflows_lines = []
+
+ for line in open(filename, 'r'):
+ if line.rstrip() == '': continue
+ if '%0 failures' in line: continue
+ left, right = line.split(' : ')
+ signature = left.split('|')[1]
+ if 'Sign' in left:
+ signs_lines.append(signature)
+ elif 'Overflow' in left:
+ overflows_lines.append(signature)
+
+ return {
+ 'signs_lines': signs_lines,
+ 'overflows_lines': overflows_lines
+ }
+