[llvm-commits] CVS: llvm-test/TEST.dsgraph.Makefile TEST.dsgraph.report

Chris Lattner lattner at cs.uiuc.edu
Mon Mar 21 20:05:17 PST 2005



Changes in directory llvm-test:

TEST.dsgraph.Makefile updated: 1.14 -> 1.15
TEST.dsgraph.report updated: 1.10 -> 1.11
---
Log message:

Clean up this report a LOT.  In particular, don't spew tons of crap to the
console and eliminate pointless columns.

The biggest change is that we now run DSA twice: once with and once without
-track-memory.  -track-memory can severely throw off timings, so we do a
timing run without it, then do a run with it to get memory numbers.


---
Diffs of the changes:  (+48 -22)

 TEST.dsgraph.Makefile |   46 +++++++++++++++++++++++++++++++++++++++++-----
 TEST.dsgraph.report   |   24 +++++++-----------------
 2 files changed, 48 insertions(+), 22 deletions(-)


Index: llvm-test/TEST.dsgraph.Makefile
diff -u llvm-test/TEST.dsgraph.Makefile:1.14 llvm-test/TEST.dsgraph.Makefile:1.15
--- llvm-test/TEST.dsgraph.Makefile:1.14	Mon Jan 24 15:21:14 2005
+++ llvm-test/TEST.dsgraph.Makefile	Mon Mar 21 22:05:01 2005
@@ -13,16 +13,52 @@
 # PASS - The dsgraph pass to run: ds, bu, td
 PASS := td
 
-ANALYZE_OPTS := -stats -time-passes -only-print-main-ds -dsstats -instcount
-
-MEM := -track-memory
+ANALYZE_OPTS := -stats -time-passes -only-print-main-ds -dsstats
+ANALYZE_OPTS +=  -instcount -disable-verify
+MEM := -track-memory -time-passes
 
 $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \
 Output/%.$(TEST).report.txt: Output/%.lib.bc Output/%.LOC.txt $(LANALYZE) $(LOPT)
+	@# Gather data
+	-($(LANALYZE) -$(PASS)datastructure $(ANALYZE_OPTS) $<)>> $@.time.1 2>&1
+	-($(LANALYZE) $(MEM) -$(PASS)datastructure -disable-verify $<)> $@.mem.1 2>&1
+	-($(LOPT) -steens-aa -time-passes -disable-output $<) >> $@.time.2 2>&1
+	-($(LOPT) -steens-aa $(MEM) -disable-output $<) >> $@.mem.2 2>&1
+	@# Emit data.
 	@echo -n "LOC: " > $@
 	@cat Output/$*.LOC.txt >> $@
-	-(time -p $(LANALYZE) $(MEM) -$(PASS)datastructure $(ANALYZE_OPTS) $<)>> $@ 2>&1
-	-($(LOPT) -steens-aa $(MEM) -time-passes > /dev/null < $<) >> $@ 2>&1
+	@echo -n "MEMINSTS: " >> $@
+	- at grep 'Number of memory instructions' $@.time.1 >> $@
+	@echo -n "FOLDEDNODES: " >> $@
+	- at grep 'Number of folded nodes' $@.time.1 >> $@
+	@echo -n "TOTALNODES: " >> $@
+	- at grep 'Graphs contain.*nodes total' $@.time.1 >> $@
+	@echo -n "MAXGRAPHSIZE: " >> $@
+	- at grep 'Maximum graph size' $@.time.1 >> $@
+	@echo -n "GLOBALSGRAPH: " >> $@
+	- at grep 'td.GlobalsGraph.dot' $@.time.1 >> $@
+	@echo -n "SCCSIZE: " >> $@
+	- at grep 'Maximum SCC Size in Call Graph' $@.time.1 >> $@
+	@# Emit timing data.
+	@echo -n "TIME: " >> $@
+	- at grep '  Local Data Structure' $@.time.1 >> $@
+	@echo -n "TIME: " >> $@
+	- at grep '  Bottom-up Data Structure' $@.time.1 >> $@
+	@echo -n "TIME: " >> $@
+	- at grep '  Top-down Data Structure' $@.time.1 >> $@
+	@echo -n "TIME: " >> $@
+	- at grep '  Steensgaard.s alias analysis' $@.time.2 >> $@
+	@# Emit space data.
+	@echo -n "MEM: " >> $@
+	- at grep '  Local Data Structure' $@.mem.1 >> $@
+	@echo -n "MEM: " >> $@
+	- at grep '  Bottom-up Data Structure' $@.mem.1 >> $@
+	@echo -n "MEM: " >> $@
+	- at grep '  Top-down Data Structure' $@.mem.1 >> $@
+	@echo -n "MEM: " >> $@
+	- at grep '  Steensgaard.s alias analysis' $@.mem.2 >> $@
+
+
 
 $(PROGRAMS_TO_TEST:%=test.$(TEST).%): \
 test.$(TEST).%: Output/%.$(TEST).report.txt


Index: llvm-test/TEST.dsgraph.report
diff -u llvm-test/TEST.dsgraph.report:1.10 llvm-test/TEST.dsgraph.report:1.11
--- llvm-test/TEST.dsgraph.report:1.10	Sat Jul 10 23:04:10 2004
+++ llvm-test/TEST.dsgraph.report	Mon Mar 21 22:05:01 2005
@@ -111,18 +111,20 @@
 # These are the columns for the report.  The first entry is the header for the
 # column, the second is the regex to use to match the value.  Empty list create
 # seperators, and closures may be put in for custom processing.
+
+my $USERSYSTTIME = '([0-9.]+)[ 0-9.]+\([^)]+\)[ 0-9.]+\([^)]+\) +';
 (
 # Name
             ["Name:" , '\'([^\']+)\' Program'],
             ["LOC:"  , 'LOC: *([0-9]+)'],
+            ["MemInsts", '([0-9]+).*Number of memory instructions'],
             [],
 # Times
-            ["Anlyz:", '([0-9.]+) \([^)]+\)[ 0-9]+TOTAL'],
-            ["LocTm:", '([0-9.]+) \([^)]+\)[ 0-9]+Local'],
-            ["BUTim:", '([0-9.]+) \([^)]+\)[ 0-9]+Bottom'],
-            ["TDTim:", '([0-9.]+) \([^)]+\)[ 0-9]+Top'],
+            ["LocTm:", "${USERSYSTTIME}Local"],
+            ["BUTim:", "${USERSYSTTIME}Bottom"],
+            ["TDTim:", "${USERSYSTTIME}Top"],
             ["SumTm:", sub { return SumCols(@_, 3); }],
-            ["SteTm:", '([0-9.]+) \([^)]+\)[ 0-9]+Steensgaard'],
+            ["SteTm:", "${USERSYSTTIME}Steensgaard"],
             [],
 # Sizes
             ["LcSize:" , '([0-9]+)  Local'],
@@ -136,17 +138,5 @@
             ["MaxSz"   , '([0-9]+).*Maximum graph size'],
             ["GlobGr"  , '\\.GlobalsGraph\\.dot\'... \\[([0-9+]+)\\]'],
             ["MaxSCC"  , '([0-9]+).*Maximum SCC Size in Call Graph'],
-            [],
-            ["Loads"   , '([0-9]+).*Number of Load insts'],
-            ["Store"   , '([0-9]+).*Number of Store insts'],
-            ["Calls"   , '([0-9]+).*Number of Call insts'],
-            ["Allca"   , '([0-9]+).*Number of Alloca insts'],
-            ["Mallc"   , '([0-9]+).*Number of Malloc insts'],
-            ["GEP"     , '([0-9]+).*Number of GetElementPtr insts'],
-            ["Sum"   , sub { return SumCols(@_, 6); }],
-            [],
-            ["num/ind" , '([0-9]+).*number of indirect call sites'],
-            ["indcallee",'([0-9]+).*number of callee functions at'],
-            ["ratio"   , \&Ratio],  # indcallee / num/ind
             []
            );






More information about the llvm-commits mailing list