diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-02-11 17:03:23 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-02-11 17:03:23 -0800 |
commit | 95c142a60924eede921a2ba9e92c7db21128e5d1 (patch) | |
tree | 5cf1b245aa5c3ef97b4d2e1b446552e6c4313218 | |
parent | e22e4a8192810891c7b3ff0b5790cd63ce5119ae (diff) |
silly little llvm debug tool
-rw-r--r-- | tools/stubify_ll.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/stubify_ll.py b/tools/stubify_ll.py new file mode 100644 index 00000000..1e10ae4e --- /dev/null +++ b/tools/stubify_ll.py @@ -0,0 +1,28 @@ + +# given a file of ll and a list of names to retain, makes all other functions into stubs. +# you can then build with -s LINKABLE=1 and see any compilation errors on the specific functions + +import os, sys + +kill = False + +valids = sys.argv[2].split(',') + +for line in open(sys.argv[1]).readlines(): + line = line.replace('\n', '') + if line.startswith('define ') and line.endswith('{'): + ok = False + for valid in valids: + if valid in line: ok = True + if not ok: + line = line.replace('define ', 'declare ').replace(' internal ', ' ').replace(' weak ', ' ')[:-1] + kill = True + else: + line = line.replace(' internal ', ' ') + print line + else: + if not kill: + print line + else: + if line == '}': kill = False + |