[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