[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