[llvm-commits] CVS: llvm/utils/DSAclean.py
Patrick Meredith
pmeredit at cs.uiuc.edu
Thu Oct 13 09:27:01 PDT 2005
Changes in directory llvm/utils:
DSAclean.py added (r1.1)
---
Log message:
This script is used to remove nodes with the label %tmp(.#)* and all
edges associated with said node from the dot files produced by
DSA.
---
Diffs of the changes: (+30 -0)
DSAclean.py | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+)
Index: llvm/utils/DSAclean.py
diff -c /dev/null llvm/utils/DSAclean.py:1.1
*** /dev/null Thu Oct 13 11:27:00 2005
--- llvm/utils/DSAclean.py Thu Oct 13 11:26:50 2005
***************
*** 0 ****
--- 1,30 ----
+ #! /usr/bin/python
+
+ #changelog:
+ #10/13/2005: exntended to remove variables of the form %tmp(.#)* rather than just
+ #%tmp.#, i.e. it now will remove %tmp.12.3.15 etc, additionally fixed a spelling error in
+ #the comments
+ #10/12/2005: now it only removes nodes and edges for which the label is %tmp.# rather
+ #than removing all lines for which the lable CONTAINS %tmp.#
+ import re
+ import sys
+ if( len(sys.argv) < 3 ):
+ print 'usage is: ./DSAclean <dot_file_to_be_cleaned> <out_put_file>'
+ sys.exit(1)
+ #get a file object
+ input = open(sys.argv[1], 'r')
+ output = open(sys.argv[2], 'w')
+ #we'll get this one line at a time...while we could just put the whole thing in a string
+ #it would kill old computers
+ buffer = input.readline()
+ while buffer != '':
+ if re.compile("label(\s*)=(\s*)\"\s%tmp(.\d*)*(\s*)\"").search(buffer):
+ #skip next line, write neither this line nor the next
+ buffer = input.readline()
+ else:
+ #this isn't a tmp Node, we can write it
+ output.write(buffer)
+ #prepare for the next iteration
+ buffer = input.readline()
+ input.close()
+ output.close()
More information about the llvm-commits
mailing list