Fix file mode.
[llvm-testsuite.git] / TEST.pollycodegen.Makefile
blobaf5207d9f9683564d84d4a3089d828ebb3f4df44
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))
11 POLLY := $(LLVM_OBJ_ROOT)/tools/polly/$(CONFIGURATION)/lib/LLVMPolly.so
13 OPTBETAOPTIONS := -load $(POLLY)  -mem2reg -loop-simplify -indvars  -basicaa \
14 -polly-prepare -polly-region-simplify -scev-aa -polly-cloog -polly-codegen
16 REPORTS_TO_GEN := nat
17 REPORT_DEPENDENCIES :=
18 REPORTS_TO_GEN +=  llc compile
19 REPORT_DEPENDENCIES += $(LLC) $(LOPT) $(POLLY)
20 REPORTS_TO_GEN += opt-beta compile
21 REPORT_DEPENDENCIES += $(LLC) $(LOPT)
22 REPORTS_SUFFIX := $(addsuffix .report.txt, $(REPORTS_TO_GEN))
24 # Compilation tests
25 $(PROGRAMS_TO_TEST:%=Output/%.nightly.compile.report.txt): \
26 Output/%.nightly.compile.report.txt: Output/%.llvm.bc
27         @echo > $@
28         @-if test -f Output/$*.linked.bc.info; then \
29           echo "TEST-PASS: compile $(RELDIR)/$*" >> $@;\
30           printf "TEST-RESULT-compile: " >> $@;\
31           grep "Total Execution Time" Output/$*.linked.bc.info | tail -n 1 >> $@;\
32           echo >> $@;\
33           printf "TEST-RESULT-compile: " >> $@;\
34           wc -c $< >> $@;\
35           echo >> $@;\
36         else \
37           echo "TEST-FAIL: compile $(RELDIR)/$*" >> $@;\
38         fi
40 # NAT tests
41 $(PROGRAMS_TO_TEST:%=Output/%.nightly.nat.report.txt): \
42 Output/%.nightly.nat.report.txt: Output/%.out-nat
43         @echo > $@
44         @printf "TEST-RESULT-nat-time: " >> $@
45         -grep "^program" Output/$*.out-nat.time >> $@
47 # OPT experimental tests
48 $(PROGRAMS_TO_TEST:%=Output/%.nightly.opt-beta.report.txt): \
49 Output/%.nightly.opt-beta.report.txt: Output/%.exe-opt-beta
50         @echo > $@
51         @-if test -f Output/$*.exe-opt-beta; then \
52           head -n 100 Output/$*.exe-opt-beta >> $@; \
53           echo "TEST-PASS: opt-beta $(RELDIR)/$*" >> $@;\
54           printf "TEST-RESULT-opt-beta: " >> $@;\
55           grep "Total Execution Time" Output/$*.opt-beta.s.info | tail -n 1 >> $@;\
56           printf "TEST-RESULT-opt-beta-time: " >> $@;\
57           grep "^program" Output/$*.out-opt-beta.time >> $@;\
58           echo >> $@;\
59         else  \
60           echo "TEST-FAIL: opt-beta $(RELDIR)/$*" >> $@;\
61         fi
63 # LLC tests
64 $(PROGRAMS_TO_TEST:%=Output/%.nightly.llc.report.txt): \
65 Output/%.nightly.llc.report.txt: Output/%.exe-llc
66         @echo > $@
67         @-if test -f Output/$*.exe-llc; then \
68           head -n 100 Output/$*.exe-llc >> $@; \
69           echo "TEST-PASS: llc $(RELDIR)/$*" >> $@;\
70           printf "TEST-RESULT-llc: " >> $@;\
71           grep "Total Execution Time" Output/$*.llc.s.info | tail -n 1 >> $@;\
72           printf "TEST-RESULT-llc-time: " >> $@;\
73           grep "^program" Output/$*.out-llc.time >> $@;\
74           echo >> $@;\
75         else  \
76           echo "TEST-FAIL: llc $(RELDIR)/$*" >> $@;\
77         fi
79 # Overall tests: just run subordinate tests
80 $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \
81 Output/%.$(TEST).report.txt: $(addprefix Output/%.nightly., $(REPORTS_SUFFIX))
82         $(VERB) $(RM) -f $@
83         @echo "---------------------------------------------------------------" >> $@
84         @echo ">>> ========= '$(RELDIR)/$*' Program" >> $@
85         @echo "---------------------------------------------------------------" >> $@
86         -cat $(addprefix Output/$*.nightly., $(REPORTS_SUFFIX)) >> $@
90 $(PROGRAMS_TO_TEST:%=test.$(TEST).%): \
91 test.$(TEST).%: Output/%.$(TEST).report.txt
92         @-cat $<