[llvm-commits] [test-suite] r50678 - in /test-suite/trunk: Makefile.programs TEST.nightly.Makefile TEST.nightly.report

Devang Patel dpatel at apple.com
Mon May 5 16:05:59 PDT 2008


Author: dpatel
Date: Mon May  5 18:05:59 2008
New Revision: 50678

URL: http://llvm.org/viewvc/llvm-project?rev=50678&view=rev
Log:
Add OPT_BETA support. 

Now you can do
    make TEST=nightly  ENABLE_OPTBETA=1 OPTBETAOPTIONS="-verify"
to see whether -std-comiple-opts passes are worth any dime or not.

This command will do

$ llvm-gcc -O0 ...
$ llvm-gcc -O0 ...
$ llvm-ld ... -o linked.rbc
$ opt -std-compile-opts linked.rbc -o linked.bc
$ llvm-ld ... linked.bc -o foo.llvm
$ llc .. foo.llvm.bc -o foo.llc.s
$ gcc foo.llc.s -o foo.llc

and

$ opt $(OPTBETAOPTIONS) linked.rbc -o linked.optbeta.bc
$ llvm-ld .. linked.optbeta.bc -o foo.llvm.optbeta
$ llc .. foo.llvm.optbeta.bc -o foo.opt-beta.s
$ gcc foo.opt-beta.s -o foo.opt-beta



Modified:
    test-suite/trunk/Makefile.programs
    test-suite/trunk/TEST.nightly.Makefile
    test-suite/trunk/TEST.nightly.report

Modified: test-suite/trunk/Makefile.programs
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile.programs?rev=50678&r1=50677&r2=50678&view=diff

==============================================================================
--- test-suite/trunk/Makefile.programs (original)
+++ test-suite/trunk/Makefile.programs Mon May  5 18:05:59 2008
@@ -44,6 +44,7 @@
 
 .PRECIOUS: Output/%.llvm Output/%.native Output/%.llc Output/%.llc.s
 .PRECIOUS: Output/%.cbe Output/%.cbe.c Output/%.llvm.bc Output/%.linked.bc
+.PRECIOUS: Output/%.linked.optbeta.bc Output/%.llvm.optbeta.bc 
 
 PROGDIR = $(PROJ_SRC_ROOT)
 
@@ -129,6 +130,7 @@
 JITBETADIFFS  := $(addsuffix .diff-jit-beta, $(PREFIXED_PROGRAMS_TO_TEST))
 LLCDIFFS  := $(addsuffix .diff-llc, $(PREFIXED_PROGRAMS_TO_TEST))
 LLCBETADIFFS  := $(addsuffix .diff-llc-beta, $(PREFIXED_PROGRAMS_TO_TEST))
+OPTBETADIFFS  := $(addsuffix .diff-opt-beta, $(PREFIXED_PROGRAMS_TO_TEST))
 CBEDIFFS  := $(addsuffix .diff-cbe, $(PREFIXED_PROGRAMS_TO_TEST))
 
 # Profiles for the program.
@@ -137,11 +139,11 @@
 
 # Build Program outputs:
 .PRECIOUS: Output/%.out-lli Output/%.out-jit Output/%.out-llc Output/%.out-llc-beta
-.PRECIOUS: Output/%.out-nat Output/%.out-cbe
+.PRECIOUS: Output/%.out-nat Output/%.out-cbe Output/%.out-opt-beta
 
 # Build diffs from the output...
-.PRECIOUS: Output/%.diff-lli Output/%.diff-jit
-.PRECIOUS: Output/%.diff-llc Output/%.diff-llc-beta Output/%.diff-cbe
+.PRECIOUS: Output/%.diff-lli Output/%.diff-jit Output/%.diff-opt-beta
+.PRECIOUS: Output/%.diff-llc Output/%.diff-llc-beta Output/%.diff-cbe 
 
 
 # Regardless of what other options are specified, build the program's bytecode
@@ -259,6 +261,10 @@
 Output/%.llvm.stripped.bc: Output/%.llvm.bc $(LOPT)
 	-$(LOPT) -mstrip $< -o $@ -f
 
+$(PROGRAMS_TO_TEST:%=Output/%.linked.optbeta.bc): \
+Output/%.linked.optbeta.bc: Output/%.linked.rbc $(LOPT)
+	-$(LOPT) $(OPTBETAOPTIONS) -time-passes -info-output-file=$(CURDIR)/$@.info $(STATS)  $< -o $@ -f
+
 
 ifndef DISABLE_FOR_LLVM_PROGRAMS
 # Rule to produce final program bytecode file from linked, optimized, bytecode.
@@ -281,6 +287,14 @@
 	$(MV) -f $@.tmp $@
 endif
 
+$(PROGRAMS_TO_TEST:%=Output/%.llvm.optbeta.bc): \
+Output/%.llvm.optbeta.bc: Output/%.linked.optbeta.bc $(LLVMLDPROG)
+	-$(LLVMLD) $(STATS) $<  $(EXTRA_LINKTIME_OPT_FLAGS) $(LLVMLD_FLAGS) -lc $(LIBS) -o Output/$*.llvm.optbeta
+
+$(PROGRAMS_TO_TEST:%=Output/%.llvm.optbeta): \
+Output/%.llvm.optbeta: Output/%.linked.optbeta.bc $(LLVMLDPROG)
+	-$(LLVMLD) $(STATS) $<  $(LLVMLD_FLAGS) -lc $(LIBS) -o Output/$*.llvm.optbeta
+
 $(PROGRAMS_TO_TEST:%=Output/%.noopt-llvm.bc): \
 Output/%.noopt-llvm.bc: Output/%.linked.rbc $(LLVMLDPROG)
 	-$(LLVMLD) -disable-opt $(STATS) $(LLVMLD_FLAGS) $< -lc $(LIBS) -o Output/$*.noopt-llvm
@@ -359,6 +373,10 @@
 Output/%.llc-beta.s: Output/%.llvm.bc $(LLC)
 	-$(LLC) $(LLCFLAGS) -f $(LLCBETAOPTION) $< -o $@
 
+$(PROGRAMS_TO_TEST:%=Output/%.opt-beta.s): \
+Output/%.opt-beta.s: Output/%.llvm.optbeta.bc $(LLC)
+	-$(LLC) $(LLCFLAGS) -f  $< -o $@
+
 # On darwin, pass -force_cpusubtype_ALL to allow all ppc instructions.
 ifeq ($(ARCH),PowerPC)
 LLCASSEMBLERFLAGS = -force_cpusubtype_ALL
@@ -378,6 +396,10 @@
 Output/%.llc-beta: Output/%.llc-beta.s
 	-$(LLVMGCCLD) $< -o $@ $(LLCLIBS) $(LLCASSEMBLERFLAGS) $(TARGET_FLAGS) $(LDFLAGS)
 
+$(PROGRAMS_TO_TEST:%=Output/%.opt-beta): \
+Output/%.opt-beta: Output/%.opt-beta.s
+	-$(LLVMGCCLD) $< -o $@ $(LLCLIBS) $(LLCASSEMBLERFLAGS) $(TARGET_FLAGS) $(LDFLAGS)
+
 
 #
 # Rules to execute the program
@@ -431,6 +453,10 @@
 Output/%.out-llc-beta: Output/%.llc-beta
 	-$(RUNSAFELY) $(STDIN_FILENAME) $@ $< $(RUN_OPTIONS)
 
+$(PROGRAMS_TO_TEST:%=Output/%.out-opt-beta): \
+Output/%.out-opt-beta: Output/%.opt-beta
+	-$(RUNSAFELY) $(STDIN_FILENAME) $@ $< $(RUN_OPTIONS)
+
 $(PROGRAMS_TO_TEST:%=Output/%.out-cbe): \
 Output/%.out-cbe: Output/%.cbe
 	-$(RUNSAFELY) $(STDIN_FILENAME) $@ $< $(RUN_OPTIONS)
@@ -491,6 +517,10 @@
 Output/%.bugpoint-llc-beta: Output/%.llvm.bc $(LBUGPOINT) Output/%.out-nat
 	$(LBUGPOINT) $< -run-llc $(BUGPOINT_OPTIONS) $(LLCBETAOPTION) $(BUGPOINT_ARGS)
 
+$(PROGRAMS_TO_TEST:%=Output/%.bugpoint-opt-beta): \
+Output/%.bugpoint-opt-beta: Output/%.llvm.optbeta.bc $(LBUGPOINT) Output/%.out-nat
+	$(LBUGPOINT) $< -run-llc $(BUGPOINT_OPTIONS) $(LLCBETAOPTION) $(BUGPOINT_ARGS)
+
 $(PROGRAMS_TO_TEST:%=Output/%.bugpoint-jit): \
 Output/%.bugpoint-jit: Output/%.llvm.bc $(LBUGPOINT) Output/%.out-nat
 	$(LBUGPOINT) $< -run-jit $(BUGPOINT_OPTIONS) $(BUGPOINT_ARGS)
@@ -561,6 +591,10 @@
 Output/%.diff-llc-beta: Output/%.out-nat Output/%.out-llc-beta
 	-$(DIFFPROG) llc-beta $* $(HIDEDIFF)
 
+$(PROGRAMS_TO_TEST:%=Output/%.diff-opt-beta): \
+Output/%.diff-opt-beta: Output/%.out-nat Output/%.out-opt-beta
+	-$(DIFFPROG) opt-beta $* $(HIDEDIFF)
+
 $(PROGRAMS_TO_TEST:%=Output/%.diff-cbe): \
 Output/%.diff-cbe: Output/%.out-nat Output/%.out-cbe
 	-$(DIFFPROG) cbe $* $(HIDEDIFF)
@@ -591,6 +625,11 @@
 	-rm -f $@
 	-cp $< $@
 
+$(PROGRAMS_TO_TEST:%=Output/%.exe-opt-beta): \
+Output/%.exe-opt-beta: Output/%.diff-opt-beta
+	-rm -f $@
+	-cp $< $@
+
 $(PROGRAMS_TO_TEST:%=Output/%.exe-cbe): \
 Output/%.exe-cbe: Output/%.diff-cbe
 	-rm -f $@

Modified: test-suite/trunk/TEST.nightly.Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/TEST.nightly.Makefile?rev=50678&r1=50677&r2=50678&view=diff

==============================================================================
--- test-suite/trunk/TEST.nightly.Makefile (original)
+++ test-suite/trunk/TEST.nightly.Makefile Mon May  5 18:05:59 2008
@@ -22,6 +22,9 @@
 ifdef ENABLE_LLCBETA
 REPORTS_TO_GEN += llc-beta
 endif
+ifdef ENABLE_OPTBETA
+REPORTS_TO_GEN += opt-beta
+endif
 REPORTS_SUFFIX := $(addsuffix .report.txt, $(REPORTS_TO_GEN))
 
 
@@ -85,7 +88,22 @@
 	  echo "TEST-FAIL: llc-beta $(RELDIR)/$*" >> $@;\
 	fi
 
-
+# OPT experimental tests
+$(PROGRAMS_TO_TEST:%=Output/%.nightly.opt-beta.report.txt): \
+Output/%.nightly.opt-beta.report.txt: Output/%.llvm.optbeta.bc Output/%.exe-opt-beta $(LLC)
+	@echo > $@
+	-head -n 100 Output/$*.exe-opt-beta >> $@
+	@-if test -f Output/$*.exe-opt-beta; then \
+	  echo "TEST-PASS: opt-beta $(RELDIR)/$*" >> $@;\
+	  $(LLC) $< $(LLCFLAGS) -o /dev/null -f $(TIMEOPT) >> $@ 2>&1; \
+	  printf "TEST-RESULT-opt-beta: " >> $@;\
+	  grep "Total Execution Time" $@.info >> $@;\
+	  printf "TEST-RESULT-opt-beta-time: " >> $@;\
+	  grep "^program" Output/$*.out-opt-beta.time >> $@;\
+	  echo >> $@;\
+	else  \
+	  echo "TEST-FAIL: opt-beta $(RELDIR)/$*" >> $@;\
+	fi
 
 # CBE tests
 $(PROGRAMS_TO_TEST:%=Output/%.nightly.cbe.report.txt): \

Modified: test-suite/trunk/TEST.nightly.report
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/TEST.nightly.report?rev=50678&r1=50677&r2=50678&view=diff

==============================================================================
--- test-suite/trunk/TEST.nightly.report (original)
+++ test-suite/trunk/TEST.nightly.report Mon May  5 18:05:59 2008
@@ -56,6 +56,17 @@
   return "-";
 }
 
+sub OPTOPT_BETARatio {   # OPT/OPT-BETA
+  my ($Cols, $Col) = @_;
+  my $LLC = $Cols->[$Col-9];
+  my $OPT_BETA = $Cols->[$Col-7];
+  return "n/allc" if ($LLC eq "*");
+  return "n/aopt" if ($OPT_BETA eq "*");
+  return "n/a" if ($LLC eq "*" or $OPT_BETA eq "*");
+  return sprintf("%3.2f", $LLC/$OPT_BETA) if ($LLC >= 0.1 and $OPT_BETA >= 0.1);
+  return "-";
+}
+
 # highlight the RATIO columns with green/red.
 $HilightColumns{14} = 1;
 $HilightColumns{15} = 1;
@@ -74,16 +85,19 @@
  ["Bytecode" , 'TEST-RESULT-compile: *([0-9]+)'],
  ["LLC compile" , "TEST-RESULT-llc: .*$WallTimeRE"],
  ["LLC-BETA compile" , "TEST-RESULT-llc-beta: .*$WallTimeRE"],
+ ["OPT-BETA compile" , "TEST-RESULT-opt-beta: .*$WallTimeRE"],
  ["JIT codegen" , "TEST-RESULT-jit-comptime: .*$WallTimeRE"],
  [],
  ["GCC"      , 'TEST-RESULT-nat-time: program\s*([.0-9m:]+)', \&FormatTime],
  ["CBE"      , 'TEST-RESULT-cbe-time: program\s*([.0-9m:]+)', \&FormatTime],
  ["LLC"      , 'TEST-RESULT-llc-time: program\s*([.0-9m:]+)', \&FormatTime],
  ["LLC-BETA" , 'TEST-RESULT-llc-beta-time: program\s*([.0-9m:]+)',\&FormatTime],
+ ["OPT-BETA" , 'TEST-RESULT-opt-beta-time: program\s*([.0-9m:]+)',\&FormatTime],
  ["JIT"      , 'TEST-RESULT-jit-time: program\s*([.0-9m:]+)', \&FormatTime],
  [],
  ["GCC/CBE"  , \&GCCCBERatio],
  ["GCC/LLC"  , \&GCCLLCRatio],
  ["GCC/LLC-BETA"  , \&GCCLLC_BETARatio],
- ["LLC/LLC-BETA"  , \&LLCLLC_BETARatio]
+ ["LLC/LLC-BETA"  , \&LLCLLC_BETARatio],
+ ["OPT/OPT-BETA"  , \&OPTOPT_BETARatio]
 );





More information about the llvm-commits mailing list