[llvm-commits] [test-suite] r44562 - in /test-suite/trunk: TEST.beta-compare.Makefile TEST.beta-compare.report
Chris Lattner
sabre at nondot.org
Mon Dec 3 15:57:32 PST 2007
Author: lattner
Date: Mon Dec 3 17:57:31 2007
New Revision: 44562
URL: http://llvm.org/viewvc/llvm-project?rev=44562&view=rev
Log:
Add a new beta-compare report, for comparing static measurements of
llc output. At this point, it compares code size. For example, running
this on ppc on olden currently prints:
$ make TEST=beta-compare report
Name: | #Insts Beta LLC/BETA |
bh/bh | 1968 1875 1.050 |
em3d/em3d | 651 631 1.032 |
mst/mst | 444 416 1.067 |
power/power | 1012 994 1.018 |
tsp/tsp | 860 777 1.107 |
bisort/bisort | 764 712 1.073 |
health/health | 855 806 1.061 |
perimeter/perimeter | 1308 1129 1.159 |
treeadd/treeadd | 247 233 1.060 |
voronoi/voronoi | 2539 2420 1.049 |
Looks like llc-beta is good right now :)
Added:
test-suite/trunk/TEST.beta-compare.Makefile
test-suite/trunk/TEST.beta-compare.report
Added: test-suite/trunk/TEST.beta-compare.Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/TEST.beta-compare.Makefile?rev=44562&view=auto
==============================================================================
--- test-suite/trunk/TEST.beta-compare.Makefile (added)
+++ test-suite/trunk/TEST.beta-compare.Makefile Mon Dec 3 17:57:31 2007
@@ -0,0 +1,38 @@
+##===- TEST.beta-compare.Makefile -----------------------------------*- Makefile -*-===##
+#
+# This test runs llc and llc-beta and generates numbers to compare their static
+# values produced by -stats.
+#
+##===----------------------------------------------------------------------===##
+
+LLC_OPTS = $(LLCFLAGS) -f -o=/dev/null -stats -time-passes
+CURDIR := $(shell cd .; pwd)
+PROGDIR := $(PROJ_SRC_ROOT)
+RELDIR := $(subst $(PROGDIR),,$(CURDIR))
+
+$(PROGRAMS_TO_TEST:%=Output/%.$(TEST).llc-info.txt): \
+Output/%.$(TEST).llc-info.txt: Output/%.llvm.bc $(LLC)
+ - $(LLC) $(LLC_OPTS) $< -info-output-file=$@
+
+$(PROGRAMS_TO_TEST:%=Output/%.$(TEST).llc-beta-info.txt): \
+Output/%.$(TEST).llc-beta-info.txt: Output/%.llvm.bc $(LLC)
+ - $(LLC) $(LLC_OPTS) $(LLCBETAOPTION) $< -info-output-file=$@
+
+
+$(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \
+Output/%.$(TEST).report.txt: Output/%.$(TEST).llc-info.txt Output/%.$(TEST).llc-beta-info.txt
+ - at printf "LLC: " > $@
+ -grep 'Number of machine instrs printed' Output/$*.$(TEST).llc-info.txt >> $@
+ - at printf "LLCBETA: " >> $@
+ -grep 'Number of machine instrs printed' Output/$*.$(TEST).llc-beta-info.txt >> $@
+
+$(PROGRAMS_TO_TEST:%=test.$(TEST).%): \
+test.$(TEST).%: Output/%.$(TEST).report.txt
+ @echo "---------------------------------------------------------------"
+ @echo ">>> ========= '$(RELDIR)/$*' Program"
+ @echo "---------------------------------------------------------------"
+ @cat $<
+
+# Define REPORT_DEPENDENCIES so that the report is regenerated if llc changes
+#
+REPORT_DEPENDENCIES := $(LLC)
Added: test-suite/trunk/TEST.beta-compare.report
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/TEST.beta-compare.report?rev=44562&view=auto
==============================================================================
--- test-suite/trunk/TEST.beta-compare.report (added)
+++ test-suite/trunk/TEST.beta-compare.report Mon Dec 3 17:57:31 2007
@@ -0,0 +1,32 @@
+##=== TEST.beta-compare.report - Compare llc vs llcbeta -*- perl -*-===##
+#
+# This file defines a report to be generated for the beta-compare test.
+#
+##===----------------------------------------------------------------------===##
+
+# Sort by name
+$SortCol = 1;
+$TrimRepeatedPrefix = 1;
+
+sub SizeRatio {
+ my ($Cols, $Col) = @_;
+ my $LLC = $Cols->[$Col-2];
+ my $BETA = $Cols->[$Col-1];
+ return "n/a" if ($LLC eq "*" or $BETA eq "*");
+ return sprintf("%2.3f", $LLC/$BETA);
+}
+
+
+# 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.
+(
+# Name
+ ["Name:" , '\'([^\']+)\' Program'],
+ [],
+# Code Size
+ ["#Insts", 'LLC: ([0-9]+).*Number of machine instrs printed'],
+ ["Beta", 'LLCBETA: ([0-9]+).*Number of machine instrs printed'],
+ ["LLC/BETA" , \&SizeRatio],
+ []
+ );
More information about the llvm-commits
mailing list