Fix file mode.
[llvm-testsuite.git] / TEST.nightly.Makefile
blobb76dee98c744b3f26520ad764e53577f2922f2dc
1 ##===- TEST.nightly.Makefile ------------------------------*- Makefile -*--===##
3 # This test is used in conjunction with the llvm/utils/NightlyTest* stuff to
4 # generate information about program status for the nightly report.
6 ##===----------------------------------------------------------------------===##
8 CURDIR  := $(shell cd .; pwd)
9 PROGDIR := $(PROJ_SRC_ROOT)
10 RELDIR  := $(subst $(PROGDIR),,$(CURDIR))
12 REPORTS_TO_GEN := nat
13 REPORT_DEPENDENCIES :=
14 ifndef DISABLE_LLC
15 REPORTS_TO_GEN +=  llc compile
16 REPORT_DEPENDENCIES += $(LLC) $(LOPT)
17 endif
18 ifndef DISABLE_JIT
19 REPORTS_TO_GEN +=  jit compile
20 REPORT_DEPENDENCIES += $(LLI) $(LOPT)
21 endif
22 ifndef DISABLE_CBE
23 REPORTS_TO_GEN +=  cbe compile
24 REPORT_DEPENDENCIES += $(CBE) $(LOPT)
25 endif
26 ifdef ENABLE_LLCBETA
27 REPORTS_TO_GEN += llc-beta compile
28 REPORT_DEPENDENCIES += $(LLC) $(LOPT)
29 endif
30 ifdef ENABLE_OPTBETA
31 REPORTS_TO_GEN += opt-beta compile
32 REPORT_DEPENDENCIES += $(LOPT)
33 endif
34 REPORTS_SUFFIX := $(addsuffix .report.txt, $(REPORTS_TO_GEN))
36 # Compilation tests
37 $(PROGRAMS_TO_TEST:%=Output/%.nightly.compile.report.txt): \
38 Output/%.nightly.compile.report.txt: Output/%.llvm.bc
39         @echo > $@
40         @-if test -f Output/$*.linked.bc.info; then \
41           echo "TEST-PASS: compile $(RELDIR)/$*" >> $@;\
42           printf "TEST-RESULT-compile: " >> $@;\
43           grep "Total Execution Time" Output/$*.linked.bc.info | tail -n 1 >> $@;\
44           echo >> $@;\
45           printf "TEST-RESULT-compile: " >> $@;\
46           wc -c $< >> $@;\
47           echo >> $@;\
48         else \
49           echo "TEST-FAIL: compile $(RELDIR)/$*" >> $@;\
50         fi
52 # NAT tests
53 $(PROGRAMS_TO_TEST:%=Output/%.nightly.nat.report.txt): \
54 Output/%.nightly.nat.report.txt: Output/%.out-nat
55         @echo > $@
56         @printf "TEST-RESULT-nat-time: " >> $@
57         -grep "^program" Output/$*.out-nat.time >> $@
59 # LLC tests
60 $(PROGRAMS_TO_TEST:%=Output/%.nightly.llc.report.txt): \
61 Output/%.nightly.llc.report.txt: Output/%.exe-llc
62         @echo > $@
63         @-if test -f Output/$*.exe-llc; then \
64           head -n 100 Output/$*.exe-llc >> $@; \
65           echo "TEST-PASS: llc $(RELDIR)/$*" >> $@;\
66           printf "TEST-RESULT-llc: " >> $@;\
67           grep "Total Execution Time" Output/$*.llc.s.info | tail -n 1 >> $@;\
68           printf "TEST-RESULT-llc-time: " >> $@;\
69           grep "^program" Output/$*.out-llc.time >> $@;\
70           echo >> $@;\
71         else  \
72           echo "TEST-FAIL: llc $(RELDIR)/$*" >> $@;\
73         fi
75 # LLC experimental tests
76 $(PROGRAMS_TO_TEST:%=Output/%.nightly.llc-beta.report.txt): \
77 Output/%.nightly.llc-beta.report.txt: Output/%.llvm.bc Output/%.exe-llc-beta
78         @echo > $@
79         @-if test -f Output/$*.exe-llc-beta; then \
80           head -n 100 Output/$*.exe-llc-beta >> $@; \
81           echo "TEST-PASS: llc-beta $(RELDIR)/$*" >> $@;\
82           printf "TEST-RESULT-llc-beta: " >> $@;\
83           grep "Total Execution Time" Output/$*.llc-beta.s.info | tail -n 1 >> $@;\
84           printf "TEST-RESULT-llc-beta-time: " >> $@;\
85           grep "^program" Output/$*.out-llc-beta.time >> $@;\
86           echo >> $@;\
87         else  \
88           echo "TEST-FAIL: llc-beta $(RELDIR)/$*" >> $@;\
89         fi
91 # OPT experimental tests
92 $(PROGRAMS_TO_TEST:%=Output/%.nightly.opt-beta.report.txt): \
93 Output/%.nightly.opt-beta.report.txt: Output/%.exe-opt-beta
94         @echo > $@
95         @-if test -f Output/$*.exe-opt-beta; then \
96           head -n 100 Output/$*.exe-opt-beta >> $@; \
97           echo "TEST-PASS: opt-beta $(RELDIR)/$*" >> $@;\
98           printf "TEST-RESULT-opt-beta: " >> $@;\
99           grep "Total Execution Time" Output/$*.opt-beta.s.info | tail -n 1 >> $@;\
100           printf "TEST-RESULT-opt-beta-time: " >> $@;\
101           grep "^program" Output/$*.out-opt-beta.time >> $@;\
102           echo >> $@;\
103         else  \
104           echo "TEST-FAIL: opt-beta $(RELDIR)/$*" >> $@;\
105         fi
107 # CBE tests
108 $(PROGRAMS_TO_TEST:%=Output/%.nightly.cbe.report.txt): \
109 Output/%.nightly.cbe.report.txt: Output/%.exe-cbe
110         @echo > $@
111         @-if test -f Output/$*.exe-cbe; then \
112           head -n 100 Output/$*.exe-cbe >> $@; \
113           echo "TEST-PASS: cbe $(RELDIR)/$*" >> $@;\
114           printf "TEST-RESULT-cbe-time: " >> $@;\
115           grep "^program" Output/$*.out-cbe.time >> $@;\
116           echo >> $@;\
117         else  \
118           echo "TEST-FAIL: cbe $(RELDIR)/$*" >> $@;\
119         fi
121 # JIT tests
122 $(PROGRAMS_TO_TEST:%=Output/%.nightly.jit.report.txt): \
123 Output/%.nightly.jit.report.txt: Output/%.exe-jit
124         @echo > $@
125         @-if test -f Output/$*.exe-jit; then \
126           head -n 100 Output/$*.exe-jit >> $@; \
127           echo "TEST-PASS: jit $(RELDIR)/$*" >> $@;\
128           printf "TEST-RESULT-jit-time: " >> $@;\
129           grep "^program" Output/$*.out-jit.time >> $@;\
130           echo >> $@;\
131           printf "TEST-RESULT-jit-comptime: " >> $@;\
132           grep "Total Execution Time" Output/$*.out-jit.info | tail -n 1 >> $@;\
133           echo >> $@;\
134         else  \
135           echo "TEST-FAIL: jit $(RELDIR)/$*" >> $@;\
136         fi
138 # Overall tests: just run subordinate tests
139 $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \
140 Output/%.$(TEST).report.txt: $(addprefix Output/%.nightly., $(REPORTS_SUFFIX))
141         $(VERB) $(RM) -f $@
142         @echo "---------------------------------------------------------------" >> $@
143         @echo ">>> ========= '$(RELDIR)/$*' Program" >> $@
144         @echo "---------------------------------------------------------------" >> $@
145         -cat $(addprefix Output/$*.nightly., $(REPORTS_SUFFIX)) >> $@
149 $(PROGRAMS_TO_TEST:%=test.$(TEST).%): \
150 test.$(TEST).%: Output/%.$(TEST).report.txt
151         @-cat $<