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

Andrew Lenharth alenhar2 at cs.uiuc.edu
Thu Apr 26 10:21:00 PDT 2007



Changes in directory llvm-poolalloc/test:

TEST.dsgraph.Makefile added (r1.1)
TEST.dsgraph.gnuplot added (r1.1)
TEST.dsgraph.report added (r1.1)
TEST.dsprecision.Makefile added (r1.1)
TEST.dsprecision.report added (r1.1)
---
Log message:

more dsa tests here

---
Diffs of the changes:  (+545 -0)

 TEST.dsgraph.Makefile     |   78 +++++++++++++++++++++
 TEST.dsgraph.gnuplot      |   70 +++++++++++++++++++
 TEST.dsgraph.report       |  164 ++++++++++++++++++++++++++++++++++++++++++++++
 TEST.dsprecision.Makefile |  113 +++++++++++++++++++++++++++++++
 TEST.dsprecision.report   |  120 +++++++++++++++++++++++++++++++++
 5 files changed, 545 insertions(+)


Index: llvm-poolalloc/test/TEST.dsgraph.Makefile
diff -c /dev/null llvm-poolalloc/test/TEST.dsgraph.Makefile:1.1
*** /dev/null	Thu Apr 26 12:20:53 2007
--- llvm-poolalloc/test/TEST.dsgraph.Makefile	Thu Apr 26 12:20:42 2007
***************
*** 0 ****
--- 1,78 ----
+ ##===- TEST.dsgraph.Makefile -------------------------------*- Makefile -*-===##
+ #
+ # This recursively traverses the programs, computing DSGraphs for each of the
+ # programs in the testsuite.
+ #
+ ##===----------------------------------------------------------------------===##
+ 
+ RELDIR  := $(subst $(PROJ_OBJ_ROOT),,$(PROJ_OBJ_DIR))
+ 
+ # We require the programs to be linked with libdummy
+ include $(LEVEL)/Makefile.dummylib
+ 
+ # PASS - The dsgraph pass to run: ds, bu, td
+ PASS := td
+ 
+ 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 $(LOPT)
+ 	@# Gather data
+ 	-($(LOPT) -analyze -$(PASS)datastructure $(ANALYZE_OPTS) $<)> $@.time.1 2>&1
+ 	-($(LOPT) -analyze $(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 >> $@
+ 	@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 >> $@
+ 	@echo -n "ACCESSES TYPED: " >> $@
+ 	- at grep 'Number of loads/stores which are fully typed' $@.time.1 >> $@
+ 	@echo -n "ACCESSES UNTYPED: " >> $@
+ 	- at grep 'Number of loads/stores which are untyped' $@.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
+ 	@echo "---------------------------------------------------------------"
+ 	@echo ">>> ========= '$(RELDIR)/$*' Program"
+ 	@echo "---------------------------------------------------------------"
+ 	@cat $<
+ 
+ # Define REPORT_DEPENDENCIES so that the report is regenerated if analyze or
+ # dummylib is updated.
+ #
+ REPORT_DEPENDENCIES := $(DUMMYLIB) $(LOPT)
+ 


Index: llvm-poolalloc/test/TEST.dsgraph.gnuplot
diff -c /dev/null llvm-poolalloc/test/TEST.dsgraph.gnuplot:1.1
*** /dev/null	Thu Apr 26 12:21:00 2007
--- llvm-poolalloc/test/TEST.dsgraph.gnuplot	Thu Apr 26 12:20:42 2007
***************
*** 0 ****
--- 1,70 ----
+ ## set size  square 0.5,0.5
+ ## set key left top
+ set nokey
+ set pointsize 3
+ 
+ set terminal postscript
+ 
+ 
+ ##------- log(Time) vs. log(MemOps) --------
+ set output "runtimes.timeVmem.ps"
+ set logscale xy
+ #set xrange [5:50000]
+ #set yrange [0.0005:5]
+ set xlabel "Total Memory Operations" "TimesRoman,24"
+ set ylabel "Execution time (sec)" "TimesRoman,24"
+ plot 'timeVmem.txt' title "Time vs. Memory Ops"
+ #replot 0.000002 * x * log10(x)
+ 
+ ##------- log(Time) vs. log(LOC) --------
+ set output "runtimes.timeloc.ps"
+ set logscale xy
+ #set xrange [10:100000]
+ #set yrange [0.0005:5]
+ set xlabel "Lines of Code" "TimesRoman,24"
+ set ylabel "Execution time (sec)" "TimesRoman,24"
+ plot 'timeVloc.txt' title "Time vs. LOC"
+ replot 0.000002 * x * log10(x)
+ 
+ set terminal png
+ 
+ ##------- log(Time) vs. log(MemOps) --------
+ set output "runtimes.timeVmem.png"
+ set logscale xy
+ #set xrange [5:50000]
+ #set yrange [0.0005:5]
+ set xlabel "Total Memory Operations" "TimesRoman,24"
+ set ylabel "Execution time (sec)" "TimesRoman,24"
+ plot 'timeVmem.txt' title "Time vs. Memory Ops"
+ #replot 0.000002 * x * log10(x)
+ 
+ ##------- log(Time) vs. log(LOC) --------
+ set output "runtimes.timeloc.png"
+ set logscale xy
+ #set xrange [10:100000]
+ #set yrange [0.0005:5]
+ set xlabel "Lines of Code" "TimesRoman,24"
+ set ylabel "Execution time (sec)" "TimesRoman,24"
+ plot 'timeVloc.txt' title "Time vs. LOC"
+ replot 0.000002 * x * log10(x)
+ 
+ 
+ 
+ 
+ ##------- log(Time/LOC) vs. log(LOC) --------
+ set nologscale y
+ set logscale x
+ set xrange [100:100000]
+ set yrange [2:20]
+ set xlabel "Lines of Code" "TimesRoman,24"
+ set ylabel "Time/Line (microsec/line)" "TimesRoman,24"
+ #set output "runtimes.timelocratio.ps"
+ #plot '< ./runtimes.awk -v PlotTimeLOCRatio=1 data.txt' title "Time vs. LOC"
+ 
+ ##------- log(Memory) vs. log(LOC) --------
+ set logscale xy
+ set yrange [10:10000]
+ set xlabel "Lines of Code" "TimesRoman,24"
+ set ylabel "Total Memory (KB)" "TimesRoman,24"
+ #set output "runtimes.memloc.ps"
+ #plot '< ./runtimes.awk -v PlotMemLOC=1 data.txt' title "Time vs. LOC"


Index: llvm-poolalloc/test/TEST.dsgraph.report
diff -c /dev/null llvm-poolalloc/test/TEST.dsgraph.report:1.1
*** /dev/null	Thu Apr 26 12:21:00 2007
--- llvm-poolalloc/test/TEST.dsgraph.report	Thu Apr 26 12:20:42 2007
***************
*** 0 ****
--- 1,164 ----
+ ##=== TEST.dsgraph.report - Report description for dsgraph -----*- perl -*-===##
+ #
+ # This file defines a report to be generated for the dsgraph test.
+ #
+ ##===----------------------------------------------------------------------===##
+ 
+ $SortNumeric = 1;               # Sort numerically, not textually.
+ $TrimAllDirectories = 1;        # Trim off benchmark directories.
+ $SortCol = 2;                   # Sort by #MemInstrs
+ $SortReverse = 1;               # Sort in descending order
+ 
+ 
+ # Helper function
+ sub Ratio {
+   my ($Cols, $Col) = @_;
+   if ($Cols->[$Col-2] ne "*" and
+       $Cols->[$Col-2] != "0") {
+     return $Cols->[$Col-1]/$Cols->[$Col-2];
+   } else {
+     return "n/a";
+   }
+ }
+ 
+ sub TypeSafeRatio {
+   my ($Cols, $Col) = @_;
+   my $TS = $Cols->[$Col-2];
+   my $NTS = $Cols->[$Col-1];
+   $TS = 0 if ($TS eq "*");
+   $NTS = 0 if ($NTS eq "*");
+ 
+   if ($TS + $NTS != 0) {
+     return sprintf("%4.1f%%", 100*$TS/($TS+$NTS+0.0));
+   } else {
+     return "n/a";
+   }
+ }
+ 
+ sub FormatSize {
+   my $Size = shift;
+   if ($Size > 10*1024*1024) {
+     return (int $Size*10 / (1024*1024))/10 . "MB";
+   } elsif ($Size > 10*1024) {
+     return (int $Size / 1024);
+   } else {
+     return $Size . "B";
+   }
+ }
+ 
+ sub NoStar {
+   return "0" if ($_[0] eq '*');
+   return $_[0];
+ }
+ 
+ sub NoCallNodes {
+   $_[0] =~ m/([0-9]+)\+/;
+   return $1;
+ }
+ 
+ # For latex output, limit benchmarks and rename as appropriate
+ @LatexRowMapOrder = (
+             '-' => '-',
+ 
+             '181.mcf'       => '181.mcf',
+             '256.bzip2'     => '256.bzip2',
+             '164.gzip'      => '164.gzip',
+             '175.vpr'       => '175.vpr',
+             '197.parser'    => '197.parser',
+             '186.crafty'    => '186.crafty',
+             '300.twolf'     => '300.twolf',
+             '255.vortex'    => '255.vortex',
+             '254.gap'       => '254.gap',
+             '252.eon'       => '252.eon',
+             '253.perlbmk'   => '253.perlbmk',
+             '176.gcc'       => '176.gcc',
+             '-' => '-',
+             '179.art'       => '179.art',
+             '183.equake'    => '183.equake',
+             '171.swim'      => '171.swim',
+             '172.mgrid'     => '172.mgrid',
+             '168.wupwise'   => '168.wupwise',
+             '173.applu'     => '173.applu',
+             '188.ammp'      => '188.ammp',
+             '177.mesa'      => '177.mesa',
+             '-' => '-',
+             '129.compress'  => '129.compress',
+             '130.li'        => '130.li',
+             '124.m88ksim'   => '124.m88ksim',
+             '132.ijpeg'     => '132.ijpeg',
+             '099.go'        => '099.go',
+             '134.perl'      => '134.perl',
+             '147.vortex'    => '147.vortex',
+             '126.gcc'       => '126.gcc',
+             '-' => '-',
+             '102.swim'      => '102.swim',
+             '101.tomcatv'   => '101.tomcatv',
+             '107.mgrid'     => '107.mgrid',
+             '145.fpppp'     => '145.fpppp',
+             '104.hydro2d'   => '104.hydro2d',
+             '110.applu'     => '110.applu',
+             '103.su2cor'    => '103.su2cor',
+             '146.wave5'     => '146.wave5',
+             '-' => '-',
+             'fpgrowth' => 'fpgrowth',
+             'bsim'     => 'boxed-sim',
+             'namd'     => 'NAMD',
+             'povray'   => 'povray31',
+            );
+ 
+ @LxxatexColumns = (1, 2, 19,    # LOC, #MemInstrs, MaxSCC
+                  15,16,       # Total/Collapsed nodes
+                  17, 18);     # Max Size, GG Size
+ 
+ @LatexColumns = (2, 21, 22, 23);  # Type safety numbers
+ 
+ 
+ # Specify how to format columns nicely for printing...
+ %LatexColumnFormat = (
+ #                      11 => \&FormatSize,
+ #                      12 => \&FormatSize,
+                       16 => \&NoStar,
+                       15 => \&NoCallNodes,
+                       18 => \&NoCallNodes
+                      );
+ 
+ @Graphs = (["scatter", "timeVmem.txt", 27, 7],
+            ["scatter", "timeVloc.txt", 1, 7]);
+ 
+ 
+ # 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
+             ["LocTm:", "${USERSYSTTIME}Local"],
+             ["BUTim:", "${USERSYSTTIME}Bottom"],
+             ["TDTim:", "${USERSYSTTIME}Top"],
+             ["SumTm:", sub { return SumCols(@_, 3); }],
+             ["SteTm:", "${USERSYSTTIME}Steensgaard"],
+             [],
+ # Sizes
+             ["LcSize:" , '([0-9]+)  Local'],
+             ["BUSize:" , '([0-9]+)  Bottom-up'],
+             ["TDSize:" , '([0-9]+)  Top-down'],
+             ["BUTDSz:" , sub { return SumCols(@_, 2); }],
+             [],
+ # Misc stuff
+             ["NumNodes", 'Graphs contain \\[([0-9+]+)\\] nodes total'],
+             ["NumFold" , '([0-9]+).*Number of folded nodes '],
+             ["MaxSz"   , '([0-9]+).*Maximum graph size'],
+             ["GlobGr"  , '\\.GlobalsGraph\\.dot\'... \\[([0-9+]+)\\]'],
+             ["MaxSCC"  , '([0-9]+).*Maximum SCC Size in Call Graph'],
+             [],
+             ["TypeSafe", "ACCESSES TYPED: *([0-9]+)"],
+             ["NonType",  "ACCESSES UNTYPED: *([0-9]+)"],
+             ["TS %" , sub { return TypeSafeRatio(@_); }],
+             []
+            );


Index: llvm-poolalloc/test/TEST.dsprecision.Makefile
diff -c /dev/null llvm-poolalloc/test/TEST.dsprecision.Makefile:1.1
*** /dev/null	Thu Apr 26 12:21:00 2007
--- llvm-poolalloc/test/TEST.dsprecision.Makefile	Thu Apr 26 12:20:42 2007
***************
*** 0 ****
--- 1,113 ----
+ ##===- TEST.dsprecision.Makefile ---------------------------*- Makefile -*-===##
+ #
+ # This recursively traverses the programs, running -aa-eval on them with various
+ # different aa implementations.
+ #
+ ##===----------------------------------------------------------------------===##
+ 
+ RELDIR  := $(subst $(PROJ_OBJ_ROOT),,$(PROJ_OBJ_DIR))
+ 
+ # We require the programs to be linked with libdummy
+ include $(LEVEL)/Makefile.dummylib
+ 
+ $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \
+ Output/%.$(TEST).report.txt: Output/%.lib.bc $(LOPT)
+ 	@echo > $@
+ 	-($(LOPT) -basicaa -aa-eval -disable-output $<) > Output/$*.basicaa.out 2>&1
+ 	@echo -n "BASIC MA: " >> $@
+ 	- at grep 'may alias responses' Output/$*.basicaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "BASIC NOMR: " >> $@
+ 	- at grep 'no mod/ref responses' Output/$*.basicaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "BASIC JUSTREF: " >> $@
+ 	- at grep '[0-9] ref responses' Output/$*.basicaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "BASIC JUSTMOD: " >> $@
+ 	- at grep 'mod responses' Output/$*.basicaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "BASIC MR: " >> $@
+ 	- at grep 'mod & ref responses' Output/$*.basicaa.out >> $@
+ 	@echo >> $@
+ 	@
+ 	-($(LOPT) -steens-aa -disable-ds-field-sensitivity -aa-eval \
+                            -disable-output $<) > Output/$*.steensfiaa.out 2>&1
+ 	@echo -n "STEENS-FI MA: " >> $@
+ 	- at grep 'may alias responses' Output/$*.steensfiaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FI NOMR: " >> $@
+ 	- at grep 'no mod/ref responses' Output/$*.steensfiaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FI JUSTREF: " >> $@
+ 	- at grep '[0-9] ref responses' Output/$*.steensfiaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FI JUSTMOD: " >> $@
+ 	- at grep 'mod responses' Output/$*.steensfiaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FI MR: " >> $@
+ 	- at grep 'mod & ref responses' Output/$*.steensfiaa.out >> $@
+ 	@echo >> $@
+ 	@
+ 	-($(LOPT) -steens-aa -aa-eval -disable-output $<) > Output/$*.steensfsaa.out 2>&1
+ 	@echo -n "STEENS-FS MA: " >> $@
+ 	- at grep 'may alias responses' Output/$*.steensfsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FS NOMR: " >> $@
+ 	- at grep 'no mod/ref responses' Output/$*.steensfsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FS JUSTREF: " >> $@
+ 	- at grep '[0-9] ref responses' Output/$*.steensfsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FS JUSTMOD: " >> $@
+ 	- at grep 'mod responses' Output/$*.steensfsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "STEENS-FS MR: " >> $@
+ 	- at grep 'mod & ref responses' Output/$*.steensfsaa.out >> $@
+ 	@echo >> $@
+ 	@
+ 	-($(LOPT) -anders-aa -aa-eval -disable-output $<) > Output/$*.andersaa.out 2>&1
+ 	@echo -n "ANDERS MA: " >> $@
+ 	- at grep 'may alias responses' Output/$*.andersaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "ANDERS NOMR: " >> $@
+ 	- at grep 'no mod/ref responses' Output/$*.andersaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "ANDERS JUSTREF: " >> $@
+ 	- at grep '[0-9] ref responses' Output/$*.andersaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "ANDERS JUSTMOD: " >> $@
+ 	- at grep 'mod responses' Output/$*.andersaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "ANDERS MR: " >> $@
+ 	- at grep 'mod & ref responses' Output/$*.andersaa.out >> $@
+ 	@echo >> $@
+ 	@
+ 	-($(LOPT) -ds-aa -aa-eval -disable-output $<) > Output/$*.dsaa.out 2>&1
+ 	@echo -n "DS MA: " >> $@
+ 	- at grep 'may alias responses' Output/$*.dsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "DS NOMR: " >> $@
+ 	- at grep 'no mod/ref responses' Output/$*.dsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "DS JUSTREF: " >> $@
+ 	- at grep '[0-9] ref responses' Output/$*.dsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "DS JUSTMOD: " >> $@
+ 	- at grep 'mod responses' Output/$*.dsaa.out >> $@
+ 	@echo >> $@
+ 	@echo -n "DS MR: " >> $@
+ 	- at grep 'mod & ref responses' Output/$*.dsaa.out >> $@
+ 	@echo >> $@
+ 
+ $(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 analyze or
+ # dummylib is updated.
+ #
+ REPORT_DEPENDENCIES := $(DUMMYLIB) $(LOPT)
+ 


Index: llvm-poolalloc/test/TEST.dsprecision.report
diff -c /dev/null llvm-poolalloc/test/TEST.dsprecision.report:1.1
*** /dev/null	Thu Apr 26 12:21:00 2007
--- llvm-poolalloc/test/TEST.dsprecision.report	Thu Apr 26 12:20:42 2007
***************
*** 0 ****
--- 1,120 ----
+ ##=== TEST.dsprecision.report - Report for precision tests -----*- perl -*-===##
+ #
+ # This file defines a report to be generated for the precision comparison
+ # test.
+ #
+ ##===----------------------------------------------------------------------===##
+ 
+ # Helper function
+ sub Ratio {
+   my ($Cols, $Col) = @_;
+   if ($Cols->[$Col-2] ne "*" and
+       $Cols->[$Col-2] != "0") {
+     return $Cols->[$Col-1]/$Cols->[$Col-2];
+   } else {
+     return "n/a";
+   }
+ }
+ 
+ $SortCol = 0;
+ #$SortNumeric = 1;
+ $TrimAllDirectories = 1;        # Trim off benchmark directories.
+ #$TrimRepeatedPrefix = 1;
+ 
+ # Sort in ascending order
+ $SortReverse = 0;
+ 
+ # For latex/csv output, limit benchmarks and rename as appropriate
+ @LatexRowMapOrder = (
+             '-' => '-',
+ 
+             '181.mcf'       => '181.mcf',
+             '256.bzip2'     => '256.bzip2',
+             '164.gzip'      => '164.gzip',
+             '175.vpr'       => '175.vpr',
+             '197.parser'    => '197.parser',
+             '186.crafty'    => '186.crafty',
+             '300.twolf'     => '300.twolf',
+             '255.vortex'    => '255.vortex',
+             '254.gap'       => '254.gap',
+             '252.eon'       => '252.eon',
+             '253.perlbmk'   => '253.perlbmk',
+             '176.gcc'       => '176.gcc',
+             '-' => '-',
+             '179.art'       => '179.art',
+             '183.equake'    => '183.equake',
+             '171.swim'      => '171.swim',
+             '172.mgrid'     => '172.mgrid',
+             '168.wupwise'   => '168.wupwise',
+             '173.applu'     => '173.applu',
+             '188.ammp'      => '188.ammp',
+             '177.mesa'      => '177.mesa',
+             '-' => '-',
+             '129.compress'  => '129.compress',
+             '130.li'        => '130.li',
+             '124.m88ksim'   => '124.m88ksim',
+             '132.ijpeg'     => '132.ijpeg',
+             '099.go'        => '099.go',
+             '134.perl'      => '134.perl',
+             '147.vortex'    => '147.vortex',
+             '126.gcc'       => '126.gcc',
+             '-' => '-',
+             '102.swim'      => '102.swim',
+             '101.tomcatv'   => '101.tomcatv',
+             '107.mgrid'     => '107.mgrid',
+             '145.fpppp'     => '145.fpppp',
+             '104.hydro2d'   => '104.hydro2d',
+             '110.applu'     => '110.applu',
+             '103.su2cor'    => '103.su2cor',
+             '146.wave5'     => '146.wave5',
+             '-' => '-',
+             'fpgrowth' => 'fpgrowth',
+             'bsim'     => 'boxed-sim',
+             'namd'     => 'NAMD',
+             'povray'   => 'povray31',
+            );
+ 
+ 
+ # 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'],
+             [],
+ # AA MayAlias Query Percents
+             ["basic",     'BASIC MA:.* \((.*)\)'],
+             ["steens-fi", 'STEENS-FI MA:.* \((.*)\)'],
+             ["steens-fs", 'STEENS-FS MA:.* \((.*)\)'],
+             ["anders",    'ANDERS MA:.* \((.*)\)'],
+             ["ds-aa",     'DS MA:.* \((.*)\)'],
+             [],
+ # Mod&Ref percents
+             ["basic",     'BASIC MR:.* \((.*)\)'],
+             ["steens-fi", 'STEENS-FI MR:.* \((.*)\)'],
+             ["steens-fs", 'STEENS-FS MR:.* \((.*)\)'],
+             ["anders",    'ANDERS MR:.* \((.*)\)'],
+             ["ds-aa",     'DS MR:.* \((.*)\)'],
+             [],
+ # Mod Percents
+             ["basic",     'BASIC JUSTMOD:.* \((.*)\)'],
+             ["steens-fi", 'STEENS-FI JUSTMOD:.* \((.*)\)'],
+             ["steens-fs", 'STEENS-FS JUSTMOD:.* \((.*)\)'],
+             ["anders",    'ANDERS JUSTMOD:.* \((.*)\)'],
+             ["ds-aa",     'DS JUSTMOD:.* \((.*)\)'],
+             [],
+ # Ref Percents
+             ["basic",     'BASIC JUSTREF:.* \((.*)\)'],
+             ["steens-fi", 'STEENS-FI JUSTREF:.* \((.*)\)'],
+             ["steens-fs", 'STEENS-FS JUSTREF:.* \((.*)\)'],
+             ["anders",    'ANDERS JUSTREF:.* \((.*)\)'],
+             ["ds-aa",     'DS JUSTREF:.* \((.*)\)'],
+             [],
+ # No Mod/Ref Percents
+             ["basic",     'BASIC NOMR:.* \((.*)\)'],
+             ["steens-fi", 'STEENS-FI NOMR:.* \((.*)\)'],
+             ["steens-fs", 'STEENS-FS NOMR:.* \((.*)\)'],
+             ["anders",    'ANDERS NOMR:.* \((.*)\)'],
+             ["ds-aa",     'DS NOMR:.* \((.*)\)'],
+             [],
+ );






More information about the llvm-commits mailing list