aboutsummaryrefslogtreecommitdiff
path: root/tools/scan_ll.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/scan_ll.py')
-rw-r--r--tools/scan_ll.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/scan_ll.py b/tools/scan_ll.py
new file mode 100644
index 00000000..d7d42057
--- /dev/null
+++ b/tools/scan_ll.py
@@ -0,0 +1,18 @@
+'''
+Finds why an .ll file is large by printing functions by size
+'''
+
+import os, sys
+
+funcs = []
+i = 0
+for line in open(sys.argv[1]):
+ i += 1
+ if line.startswith('define '):
+ inside = line.replace('define ', '').replace('\n', '')
+ start = i
+ elif line.startswith('}'):
+ funcs.append((inside, i-start))
+
+print '\n'.join(map(lambda func: str(func[1]) + ':' + func[0], sorted(funcs, key=lambda func: -func[1])))
+