-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.tsvc
215 lines (168 loc) · 9.5 KB
/
Makefile.tsvc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
LINKER_SCRIPT=$(SRCDIR)/misc/ld.script
#DATA_SECTIONS_FLAG=-fdata-sections -Wl,-T,$(LINKER_SCRIPT)
LLVM_OPT_FLAGS=-O3 -strip-debug
tsvc/%.gcc.eqchecker.O0.i386.o: tsvc/%.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O0 $< -o $@
tsvc/tsvc_helper.gcc.eqchecker.O0.i386.o: tsvc/tsvc_helper.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O0 $< -o $@
tsvc/%.gcc.eqchecker.O0.i386: tsvc/%.gcc.eqchecker.O0.i386.o tsvc/tsvc_helper.gcc.eqchecker.O0.i386.o
$(GCC_I386) $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $^ -o $@ $(LIBS)
tsvc/%.gcc.eqchecker.O2.i386.o: tsvc/%.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O2 $< -o $@
tsvc/tsvc_helper.gcc.eqchecker.O2.i386.o: tsvc/tsvc_helper.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O2 $< -o $@
tsvc/%.gcc.eqchecker.O2.i386: tsvc/%.gcc.eqchecker.O2.i386.o tsvc/tsvc_helper.gcc.eqchecker.O2.i386.o
$(GCC_I386) $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $^ -o $@ $(LIBS)
tsvc/%.gcc.eqchecker.O3.i386.o: tsvc/%.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O3 $< -o $@
tsvc/tsvc_helper.gcc.eqchecker.O3.i386.o: tsvc/tsvc_helper.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O3 $< -o $@
tsvc/%.gcc.eqchecker.O3.i386: tsvc/%.gcc.eqchecker.O3.i386.o tsvc/tsvc_helper.gcc.eqchecker.O3.i386.o
$(GCC_I386) $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $^ -o $@ $(LIBS)
tsvc/%.clang.eqchecker.O0.i386.o: tsvc/%.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O0 $< -o $@
tsvc/tsvc_helper.clang.eqchecker.O0.i386.o: tsvc/tsvc_helper.c
$(GCC_I386) -c $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g -O0 $< -o $@
tsvc/%.clang.eqchecker.O0.i386: tsvc/%.clang.eqchecker.O0.i386.o tsvc/tsvc_helper.clang.eqchecker.O0.i386.o
$(GCC_I386) $(CFLAGS) $(GCC_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $^ -o $@ $(LIBS)
tsvc/%.clang.eqchecker.O2.i386.o: tsvc/%.c
$(CLANG_I386) -c $(CFLAGS) $(CLANG_I386_EQCHECKER_FLAGS_UNROLL) -g -O2 $< -o $@
tsvc/tsvc_helper.clang.eqchecker.O2.i386.o: tsvc/tsvc_helper.c
$(CLANG_I386) -c $(CFLAGS) $(CLANG_I386_EQCHECKER_FLAGS_UNROLL) -g -O2 $< -o $@
tsvc/%.clang.eqchecker.O2.i386: tsvc/%.clang.eqchecker.O2.i386.o tsvc/tsvc_helper.clang.eqchecker.O2.i386.o
$(CLANG_I386) $(CFLAGS) $(CLANG_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $^ -o $@ $(LIBS)
tsvc/%.clang.eqchecker.O3.i386.o: tsvc/%.c
$(CLANG_I386) -c $(CFLAGS) $(CLANG_I386_EQCHECKER_FLAGS_UNROLL) -g -O3 $< -o $@
tsvc/tsvc_helper.clang.eqchecker.O3.i386.o: tsvc/tsvc_helper.c
$(CLANG_I386) -c $(CFLAGS) $(CLANG_I386_EQCHECKER_FLAGS_UNROLL) -g -O3 $< -o $@
tsvc/%.clang.eqchecker.O3.i386: tsvc/%.clang.eqchecker.O3.i386.o tsvc/tsvc_helper.clang.eqchecker.O3.i386.o
$(CLANG_I386) $(CFLAGS) $(CLANG_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $^ -o $@ $(LIBS)
tsvc/%.icc.eqchecker.O0.i386.o: tsvc/%.c
$(ICC_I386) -c $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g -O0 $< -o $@
tsvc/tsvc_helper.icc.eqchecker.O0.i386.o: tsvc/tsvc_helper.c
$(ICC_I386) -c $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g -O0 $< -o $@
tsvc/%.icc.eqchecker.O0.i386: tsvc/%.icc.eqchecker.O0.i386.o tsvc/tsvc_helper.icc.eqchecker.O0.i386.o
$(ICC_I386) $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $^ -o $@ $(LIBS)
tsvc/%.icc.eqchecker.O2.i386.o: tsvc/%.c
$(ICC_I386) -c $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g -O2 $< -o $@
tsvc/tsvc_helper.icc.eqchecker.O2.i386.o: tsvc/tsvc_helper.c
$(ICC_I386) -c $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g -O2 $< -o $@
tsvc/%.icc.eqchecker.O2.i386: tsvc/%.icc.eqchecker.O2.i386.o tsvc/tsvc_helper.icc.eqchecker.O2.i386.o
$(ICC_I386) $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $^ -o $@ $(LIBS)
tsvc/%.icc.eqchecker.O3.i386.o: tsvc/%.c
$(ICC_I386) -c $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g -O3 $< -o $@
tsvc/tsvc_helper.icc.eqchecker.O3.i386.o: tsvc/tsvc_helper.c
$(ICC_I386) -c $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g -O3 $< -o $@
tsvc/%.icc.eqchecker.O3.i386: tsvc/%.icc.eqchecker.O3.i386.o tsvc/tsvc_helper.icc.eqchecker.O3.i386.o
$(ICC_I386) $(CFLAGS) $(ICC_I386_EQCHECKER_FLAGS_UNROLL) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $^ -o $@ $(LIBS)
tsvc/%.ccomp.eqchecker.O2.i386.o: tsvc/%.c
$(CCOMP_I386) -c $(CCOMP_CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -g -O2 $< -o $@
tsvc/tsvc_helper.ccomp.eqchecker.O2.i386.o: tsvc/tsvc_helper.c
$(CCOMP_I386) -c $(CCOMP_CFLAGS) -g -O2 $< -o $@
tsvc/%.ccomp.eqchecker.O2.i386: tsvc/%.ccomp.eqchecker.O2.i386.o tsvc/tsvc_helper.ccomp.eqchecker.O2.i386.o
$(CCOMP_I386) $(CCOMP_CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $^ -o $@ $(LIBS)
tsvc/%.ccomp.O0.i386.o: tsvc/%.c
$(CCOMP_I386) -c $(CCOMP_CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -g -O0 $< -o $@
tsvc/tsvc_helper.ccomp.O0.i386.o: tsvc/tsvc_helper.c
$(CCOMP_I386) -c $(CCOMP_CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -g -O0 $< -o $@
tsvc/%.ccomp.O0.i386: tsvc/%.ccomp.O0.i386.o tsvc/tsvc_helper.ccomp.O0.i386.o
$(CCOMP_I386) $(CCOMP_CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $^ -o $@ $(LIBS)
tsvc/%.ccomp.O2.i386.o: tsvc/%.c
$(CCOMP_I386) -c $(CCOMP_CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -g -O2 $< -o $@
tsvc/tsvc_helper.ccomp.O2.i386.o: tsvc/tsvc_helper.c
$(CCOMP_I386) -c $(CCOMP_CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -g -O2 $< -o $@
tsvc/%.ccomp.O2.i386: tsvc/%.ccomp.O2.i386.o tsvc/tsvc_helper.ccomp.O2.i386.o
$(CCOMP_I386) $(CCOMP_CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $^ -o $@ $(LIBS)
tsvc/%.c.O0.eqchecker.bc: tsvc/%.c
CLANG_REVERSE_ARGS=1 $(CLANG_I386) $(EQCHECKER_DEFINES) -Xclang -disable-O0-optnone $(INCLUDES) -m32 -O0 -emit-llvm $^ -c -o $@.tmp
$(LLVM_OPT) -mem2reg -strip-debug -o $@ $@.tmp
tsvc/%.c.O0.bc: tsvc/%.c
$(CLANG_I386) $(CFLAGS) -Xclang -disable-O0-optnone $(INCLUDES) -m32 -O0 -emit-llvm $^ -c -o $@.tmp
$(LLVM_OPT) -mem2reg -strip-debug -die -o $@ $@.tmp
tsvc/%.bc.O0: tsvc/%.c.O0.bc tsvc/tsvc_helper.c.O0.bc
$(LLVM_LINK) $^ -o $@
tsvc/%.bc.O2: tsvc/%.bc.O0
$(LLVM_OPT) -O2 -o $@ $<
#see http://lists.llvm.org/pipermail/llvm-dev/2017-April/111989.html for the sequence of commands used to generate bc.O3 below
tsvc/%.bc.O3: tsvc/%.c
$(CLANG_I386) $(CFLAGS) -Xclang -disable-llvm-passes $(INCLUDES) -m32 -O3 -emit-llvm $^ -c -o $@.tmp
$(LLVM_OPT) $(LLVM_OPT_FLAGS) -o $@ $@.tmp
tsvc/%.bc.O3.cg: tsvc/%.bc.O3
$(MYLLC) -O3 $< -o $<.cg.tmp
rm -f $<.cg.tmp
# $(MYLLVM_AS) $@.ll -o $@
#tsvc/%.bc.O3.cg: tsvc/%.c
# $(CLANG_I386) $(CFLAGS) -Xclang -disable-llvm-passes $(INCLUDES) -m32 -O3 -emit-llvm $^ -c -o $@.tmp
# $(MYLLC) -O3 $@.tmp -o $@.cg.tmp
# #rm -f $@.cg.tmp
# mv -f $@.tmp.cg.ll $@.ll
# $(MYLLVM_AS) $@.ll -o $@
tsvc/%.s: tsvc/%
$(LLVM_DIS) < $< > $@
%.gcc.O0.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O0 $< -o $@
%.gcc.O2.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 $< -o $@
%.gcc.O2U.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 -funroll-loops $< -o $@
%.gcc.O0.le.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O0 -mlittle $< -o $@
%.gcc.O2.le.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 -mlittle $< -o $@
%.gcc.O2U.le.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 -funroll-loops -mlittle $< -o $@
%.gcc.O0.arm: %.c
$(GCC_ARM) $(CFLAGS) -g $(LINKER_SCRIPT_ARM_FLAG) -O0 $< -o $@
%.gcc.O2.arm: %.c
$(GCC_ARM) $(CFLAGS) -g $(LINKER_SCRIPT_ARM_FLAG) -O2 $< -o $@
%.gcc.O2U.arm: %.c
$(GCC_ARM) $(CFLAGS) -g $(LINKER_SCRIPT_ARM_FLAG) -O2 -funroll-loops $< -o $@
%.gcc.O0.i386: %.c
$(GCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< $(LIBS) -o $@
%.gcc.O2.i386: %.c
$(GCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< $(LIBS) -o $@
%.gcc.O3.i386: %.c
$(GCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< $(LIBS) -o $@
%.clang.O0.i386: %.c
$(CLANG_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< $(LIBS) -o $@
%.clang.O2.i386: %.c
$(CLANG_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< $(LIBS) -o $@
%.clang.O3.i386: %.c
$(CLANG_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< $(LIBS) -o $@
%.llc.O0.i386: %.c
$(CLANG_I386) $(CFLAGS) -Xclang -disable-llvm-passes $(INCLUDES) -O3 -emit-llvm $^ -c -o $@.tmp
$(LLVM_OPT) $(LLVM_OPT_FLAGS) -o $@.tmp $@.tmp
$(LLC) -O0 -filetype=obj $@.tmp -o $@.tmp.o
$(CLANG_I386) -O0 $@.tmp.o $(LIBS) -o $@
%.llc.O2.i386: %.c
$(CLANG_I386) $(CFLAGS) -Xclang -disable-llvm-passes $(INCLUDES) -O3 -emit-llvm $^ -c -o $@.tmp
$(LLVM_OPT) $(LLVM_OPT_FLAGS) -o $@.tmp $@.tmp
$(LLC) -O2 -filetype=obj $@.tmp -o $@.tmp.o
$(CLANG_I386) -O2 $@.tmp.o $(LIBS) -o $@
%.llc.O3.i386: %.c
$(CLANG_I386) $(CFLAGS) -Xclang -disable-llvm-passes $(INCLUDES) -O3 -emit-llvm $^ -c -o $@.tmp
$(LLVM_OPT) $(LLVM_OPT_FLAGS) -o $@.tmp $@.tmp
$(LLC) -O3 -filetype=obj $@.tmp -o $@.tmp.o
$(CLANG_I386) -O3 $@.tmp.o $(LIBS) -o $@
%.icc.O0.i386: %.c
$(ICC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< $(LIBS) -o $@
%.icc.O2.i386: %.c
$(ICC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< $(LIBS) -o $@
%.icc.O3.i386: %.c
$(ICC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< $(LIBS) -o $@
# $(CINT_PPC_ASPROGS): %.AS.ppc: %.ppc.s
# $(AS_PPC) $< -o $@.o
# $(LD_PPC) $@.o -o $@
#
# $(CINT_ARM_ASPROGS): %.AS.arm: %.arm.s
# $(AS_ARM) $< -o $@.o
# $(LD_ARM) $@.o -o $@
#
# $(CINT_I386_ASPROGS): %.AS.i386: %.i386.s
# $(AS_I386) $< -o $@.o
# #$(LD_I386) -g $@.o -T $(SRCDIR)/benches/ld.script -o $@
# $(LD_I386) -g $@.o -o $@
#
# $(CINT_LLVM_ASPROGS): %.AS.bc: %.ll
# $(LLVM_AS) $< -o $@
# $(LLVM_DIS) < $@ > $@.s