blob: 08ec2b025af88ac5ca712ae0fbf84026e724f708 [file] [log] [blame]
Nicolas Capens758796a2018-10-12 16:45:51 -04001# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import("../../src/swiftshader.gni")
16
17# Need a separate config to ensure the warnings are added to the end.
18config("swiftshader_llvm_private_config") {
19 cflags = []
20
21 if (is_win) {
22 cflags += [
23 "/wd4005",
24 "/wd4065",
Jamie Madill9746f8b2019-09-05 13:17:09 -040025 "/wd4141",
Nicolas Capens758796a2018-10-12 16:45:51 -040026 "/wd4146",
27 "/wd4245",
28 "/wd4267",
29 "/wd4310",
30 "/wd4319",
31 "/wd4334",
32 "/wd4389",
33 "/wd4624",
34 "/wd4701",
35 "/wd4702",
36 "/wd4703",
37 "/wd4706",
38 "/wd4800",
Jamie Madill9746f8b2019-09-05 13:17:09 -040039 "/wd4805",
40 "/wd4828",
Nicolas Capens758796a2018-10-12 16:45:51 -040041 ]
42
43 if (!is_debug) {
44 cflags += [ "/wd4324" ]
45 }
46
47 if (is_clang) {
48 cflags += [
49 "-Wno-format",
50 "-Wno-sign-compare",
51 "-Wno-macro-redefined",
52 ]
53 }
54 }
55
56 if (is_fuchsia) {
57 cflags += [ "-Wno-error" ]
58 }
59
Sergey Ulanovd0a48002018-10-29 11:11:55 -070060 if (is_clang) {
Jamie Madill9746f8b2019-09-05 13:17:09 -040061 cflags += [
62 "-Wno-attributes",
63 "-Wno-deprecated-declarations",
64 "-Wno-enum-compare",
65 "-Wno-header-hygiene",
66 "-Wno-unused-function",
67 "-Wno-unused-local-typedef",
68 "-Wno-unused-private-field",
69 "-Wno-unused-result",
70 "-Wno-unused-variable",
71 ]
Sergey Ulanovd0a48002018-10-29 11:11:55 -070072 if (target_cpu == "x86" || target_cpu == "x64") {
73 cflags += [ "-msse2" ]
74 }
Nicolas Capens758796a2018-10-12 16:45:51 -040075 }
Sergey Ulanovd0a48002018-10-29 11:11:55 -070076
Nicolas Capens758796a2018-10-12 16:45:51 -040077 defines = [
78 "__STDC_CONSTANT_MACROS",
79 "__STDC_LIMIT_MACROS",
80 ]
81}
82
83llvm_include_dirs = [
84 "llvm/include/",
85 "llvm/lib/Target/AArch64/",
86 "llvm/lib/Target/ARM/",
Gordana Cmiljanovice36ca902018-10-29 17:14:16 +010087 "llvm/lib/Target/Mips/",
Colin Samplesf63a3ab2019-06-13 12:53:09 -040088 "llvm/lib/Target/PowerPC/",
Nicolas Capens758796a2018-10-12 16:45:51 -040089 "llvm/lib/Target/X86/",
90 "configs/common/include/",
91 "configs/common/lib/IR/",
92 "configs/common/lib/Target/AArch64/",
93 "configs/common/lib/Target/ARM/",
Gordana Cmiljanovice36ca902018-10-29 17:14:16 +010094 "configs/common/lib/Target/Mips/",
Colin Samplesf63a3ab2019-06-13 12:53:09 -040095 "configs/common/lib/Target/PowerPC/",
Nicolas Capens758796a2018-10-12 16:45:51 -040096 "configs/common/lib/Target/X86/",
97 "configs/common/lib/Transforms/InstCombine/",
98]
99
100if (is_linux) {
101 llvm_include_dirs += [ "configs/linux/include/" ]
Nicolas Capens847fc0b2018-10-15 15:05:07 -0400102} else if (is_fuchsia) {
103 llvm_include_dirs += [ "configs/fuchsia/include/" ]
104} else if (is_win) {
Nicolas Capens758796a2018-10-12 16:45:51 -0400105 llvm_include_dirs += [ "configs/windows/include/" ]
106} else if (is_android) {
107 llvm_include_dirs += [ "configs/android/include/" ]
Sean Rissercd8175d2019-05-23 15:29:39 -0400108} else if (is_mac) {
109 llvm_include_dirs += [ "configs/darwin/include/" ]
Nicolas Capens758796a2018-10-12 16:45:51 -0400110} else {
111 assert(false, "llvm-7.0 not configured for target platform")
112}
113
114swiftshader_source_set("swiftshader_llvm") {
115 sources = [
116 "llvm/lib/Analysis/AliasAnalysis.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400117 "llvm/lib/Analysis/AliasAnalysisSummary.cpp",
118 "llvm/lib/Analysis/AliasSetTracker.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400119 "llvm/lib/Analysis/AssumptionCache.cpp",
120 "llvm/lib/Analysis/BasicAliasAnalysis.cpp",
121 "llvm/lib/Analysis/BlockFrequencyInfo.cpp",
122 "llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp",
123 "llvm/lib/Analysis/BranchProbabilityInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400124 "llvm/lib/Analysis/CallGraph.cpp",
125 "llvm/lib/Analysis/CallGraphSCCPass.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400126 "llvm/lib/Analysis/CaptureTracking.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100127 "llvm/lib/Analysis/CFG.cpp",
128 "llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp",
129 "llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400130 "llvm/lib/Analysis/CmpInstAnalysis.cpp",
131 "llvm/lib/Analysis/CodeMetrics.cpp",
132 "llvm/lib/Analysis/ConstantFolding.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400133 "llvm/lib/Analysis/DemandedBits.cpp",
134 "llvm/lib/Analysis/DependenceAnalysis.cpp",
135 "llvm/lib/Analysis/DivergenceAnalysis.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400136 "llvm/lib/Analysis/DominanceFrontier.cpp",
137 "llvm/lib/Analysis/EHPersonalities.cpp",
138 "llvm/lib/Analysis/GlobalsModRef.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400139 "llvm/lib/Analysis/InlineCost.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400140 "llvm/lib/Analysis/InstructionSimplify.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400141 "llvm/lib/Analysis/IteratedDominanceFrontier.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100142 "llvm/lib/Analysis/IVUsers.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400143 "llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp",
144 "llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400145 "llvm/lib/Analysis/LazyValueInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400146 "llvm/lib/Analysis/Loads.cpp",
Jose Dapena Pazfae67ce2019-06-20 16:03:09 +0200147 "llvm/lib/Analysis/LoopAccessAnalysis.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400148 "llvm/lib/Analysis/LoopAnalysisManager.cpp",
149 "llvm/lib/Analysis/LoopInfo.cpp",
150 "llvm/lib/Analysis/LoopPass.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400151 "llvm/lib/Analysis/MemoryBuiltins.cpp",
152 "llvm/lib/Analysis/MemoryDependenceAnalysis.cpp",
153 "llvm/lib/Analysis/MemoryLocation.cpp",
154 "llvm/lib/Analysis/MemorySSA.cpp",
155 "llvm/lib/Analysis/MemorySSAUpdater.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400156 "llvm/lib/Analysis/MustExecute.cpp",
157 "llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp",
158 "llvm/lib/Analysis/ObjCARCAnalysisUtils.cpp",
159 "llvm/lib/Analysis/ObjCARCInstKind.cpp",
160 "llvm/lib/Analysis/OptimizationRemarkEmitter.cpp",
161 "llvm/lib/Analysis/OrderedBasicBlock.cpp",
162 "llvm/lib/Analysis/PHITransAddr.cpp",
163 "llvm/lib/Analysis/PhiValues.cpp",
164 "llvm/lib/Analysis/PostDominators.cpp",
165 "llvm/lib/Analysis/ProfileSummaryInfo.cpp",
166 "llvm/lib/Analysis/PtrUseVisitor.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400167 "llvm/lib/Analysis/ScalarEvolution.cpp",
168 "llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp",
169 "llvm/lib/Analysis/ScalarEvolutionExpander.cpp",
170 "llvm/lib/Analysis/ScalarEvolutionNormalization.cpp",
171 "llvm/lib/Analysis/ScopedNoAliasAA.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400172 "llvm/lib/Analysis/TargetLibraryInfo.cpp",
173 "llvm/lib/Analysis/TargetTransformInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400174 "llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400175 "llvm/lib/Analysis/ValueLattice.cpp",
176 "llvm/lib/Analysis/ValueLatticeUtils.cpp",
177 "llvm/lib/Analysis/ValueTracking.cpp",
178 "llvm/lib/Analysis/VectorUtils.cpp",
Tom Tanf6d56f12019-01-02 22:01:55 -0800179 "llvm/lib/AsmParser/LLLexer.cpp",
180 "llvm/lib/AsmParser/LLParser.cpp",
181 "llvm/lib/AsmParser/Parser.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400182 "llvm/lib/BinaryFormat/Dwarf.cpp",
183 "llvm/lib/BinaryFormat/Magic.cpp",
184 "llvm/lib/BinaryFormat/Wasm.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400185 "llvm/lib/Bitcode/Reader/BitcodeReader.cpp",
186 "llvm/lib/Bitcode/Reader/BitstreamReader.cpp",
187 "llvm/lib/Bitcode/Reader/MetadataLoader.cpp",
188 "llvm/lib/Bitcode/Reader/ValueList.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400189 "llvm/lib/DebugInfo/CodeView/CodeViewError.cpp",
190 "llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp",
191 "llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100192 "llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400193 "llvm/lib/DebugInfo/CodeView/Formatters.cpp",
194 "llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400195 "llvm/lib/DebugInfo/CodeView/Line.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400196 "llvm/lib/DebugInfo/CodeView/RecordName.cpp",
197 "llvm/lib/DebugInfo/CodeView/RecordSerialization.cpp",
198 "llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400199 "llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400200 "llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp",
201 "llvm/lib/DebugInfo/CodeView/TypeHashing.cpp",
202 "llvm/lib/DebugInfo/CodeView/TypeIndex.cpp",
203 "llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp",
204 "llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400205 "llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp",
206 "llvm/lib/ExecutionEngine/ExecutionEngine.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400207 "llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400208 "llvm/lib/ExecutionEngine/Orc/Core.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400209 "llvm/lib/ExecutionEngine/Orc/Legacy.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400210 "llvm/lib/ExecutionEngine/Orc/OrcError.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400211 "llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp",
212 "llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp",
213 "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400214 "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100215 "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400216 "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp",
217 "llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp",
218 "llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp",
219 "llvm/lib/ExecutionEngine/SectionMemoryManager.cpp",
220 "llvm/lib/ExecutionEngine/TargetSelect.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400221 "llvm/lib/MC/ConstantPools.cpp",
222 "llvm/lib/MC/ELFObjectWriter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100223 "llvm/lib/MC/MachObjectWriter.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400224 "llvm/lib/MC/MCAsmBackend.cpp",
225 "llvm/lib/MC/MCAsmInfo.cpp",
226 "llvm/lib/MC/MCAsmInfoCOFF.cpp",
227 "llvm/lib/MC/MCAsmInfoDarwin.cpp",
228 "llvm/lib/MC/MCAsmInfoELF.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400229 "llvm/lib/MC/MCAsmMacro.cpp",
230 "llvm/lib/MC/MCAsmStreamer.cpp",
231 "llvm/lib/MC/MCAssembler.cpp",
232 "llvm/lib/MC/MCCodeEmitter.cpp",
233 "llvm/lib/MC/MCCodePadder.cpp",
234 "llvm/lib/MC/MCCodeView.cpp",
235 "llvm/lib/MC/MCContext.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400236 "llvm/lib/MC/MCDisassembler/MCDisassembler.cpp",
237 "llvm/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp",
238 "llvm/lib/MC/MCDisassembler/MCRelocationInfo.cpp",
239 "llvm/lib/MC/MCDisassembler/MCSymbolizer.cpp",
240 "llvm/lib/MC/MCDwarf.cpp",
241 "llvm/lib/MC/MCELFObjectTargetWriter.cpp",
242 "llvm/lib/MC/MCELFStreamer.cpp",
243 "llvm/lib/MC/MCExpr.cpp",
244 "llvm/lib/MC/MCFragment.cpp",
245 "llvm/lib/MC/MCInst.cpp",
246 "llvm/lib/MC/MCInstPrinter.cpp",
247 "llvm/lib/MC/MCInstrAnalysis.cpp",
248 "llvm/lib/MC/MCInstrDesc.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400249 "llvm/lib/MC/MCLinkerOptimizationHint.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400250 "llvm/lib/MC/MCMachObjectTargetWriter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100251 "llvm/lib/MC/MCMachOStreamer.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400252 "llvm/lib/MC/MCNullStreamer.cpp",
253 "llvm/lib/MC/MCObjectFileInfo.cpp",
254 "llvm/lib/MC/MCObjectStreamer.cpp",
255 "llvm/lib/MC/MCObjectWriter.cpp",
256 "llvm/lib/MC/MCParser/AsmLexer.cpp",
257 "llvm/lib/MC/MCParser/AsmParser.cpp",
258 "llvm/lib/MC/MCParser/COFFAsmParser.cpp",
259 "llvm/lib/MC/MCParser/DarwinAsmParser.cpp",
260 "llvm/lib/MC/MCParser/ELFAsmParser.cpp",
261 "llvm/lib/MC/MCParser/MCAsmLexer.cpp",
262 "llvm/lib/MC/MCParser/MCAsmParser.cpp",
263 "llvm/lib/MC/MCParser/MCAsmParserExtension.cpp",
264 "llvm/lib/MC/MCParser/MCTargetAsmParser.cpp",
265 "llvm/lib/MC/MCRegisterInfo.cpp",
266 "llvm/lib/MC/MCSchedule.cpp",
267 "llvm/lib/MC/MCSection.cpp",
268 "llvm/lib/MC/MCSectionCOFF.cpp",
269 "llvm/lib/MC/MCSectionELF.cpp",
270 "llvm/lib/MC/MCSectionMachO.cpp",
271 "llvm/lib/MC/MCSectionWasm.cpp",
272 "llvm/lib/MC/MCStreamer.cpp",
273 "llvm/lib/MC/MCSubtargetInfo.cpp",
274 "llvm/lib/MC/MCSymbol.cpp",
275 "llvm/lib/MC/MCSymbolELF.cpp",
276 "llvm/lib/MC/MCTargetOptions.cpp",
277 "llvm/lib/MC/MCValue.cpp",
Saman Sami7e954712019-06-06 11:46:59 -0400278 "llvm/lib/MC/MCWasmObjectTargetWriter.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400279 "llvm/lib/MC/MCWasmStreamer.cpp",
280 "llvm/lib/MC/MCWin64EH.cpp",
281 "llvm/lib/MC/MCWinCOFFStreamer.cpp",
282 "llvm/lib/MC/MCWinEH.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400283 "llvm/lib/MC/StringTableBuilder.cpp",
284 "llvm/lib/MC/SubtargetFeature.cpp",
285 "llvm/lib/MC/WasmObjectWriter.cpp",
286 "llvm/lib/MC/WinCOFFObjectWriter.cpp",
287 "llvm/lib/Object/Archive.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400288 "llvm/lib/Object/Binary.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400289 "llvm/lib/Object/COFFObjectFile.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400290 "llvm/lib/Object/ELF.cpp",
291 "llvm/lib/Object/ELFObjectFile.cpp",
292 "llvm/lib/Object/Error.cpp",
293 "llvm/lib/Object/IRObjectFile.cpp",
294 "llvm/lib/Object/IRSymtab.cpp",
295 "llvm/lib/Object/MachOObjectFile.cpp",
296 "llvm/lib/Object/MachOUniversal.cpp",
297 "llvm/lib/Object/ModuleSymbolTable.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400298 "llvm/lib/Object/ObjectFile.cpp",
299 "llvm/lib/Object/RecordStreamer.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400300 "llvm/lib/Object/SymbolicFile.cpp",
301 "llvm/lib/Object/WasmObjectFile.cpp",
302 "llvm/lib/Object/WindowsResource.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400303 "llvm/lib/ProfileData/InstrProf.cpp",
Saman Sami7e954712019-06-06 11:46:59 -0400304 "llvm/lib/Target/TargetIntrinsicInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400305 "llvm/lib/Target/TargetLoweringObjectFile.cpp",
306 "llvm/lib/Target/TargetMachine.cpp",
Ben Claytona19080a2019-05-10 17:02:17 +0100307 "stubs/Stubs.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400308 ]
309
Saman Sami7e954712019-06-06 11:46:59 -0400310 # This class is declared on all platforms but only used on ARM. UBSanVPtr
311 # builds require that all declared classes have a definition even if they're
312 # not used.
313 if (is_ubsan_vptr) {
314 sources += [ "llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp" ]
315 }
316
Nicolas Capens155f8022018-10-31 16:20:42 -0400317 configs = [ ":swiftshader_llvm_private_config" ]
318
319 include_dirs = llvm_include_dirs
320
321 deps = [
322 ":swiftshader_llvm_codegen",
323 ":swiftshader_llvm_ir",
324 ":swiftshader_llvm_support",
325 ":swiftshader_llvm_transforms",
326 ]
327
328 if (target_cpu == "x86" || target_cpu == "x64") {
329 deps += [":swiftshader_llvm_x86"]
330 } else if (target_cpu == "arm") {
331 deps += [":swiftshader_llvm_arm"]
332 } else if (target_cpu == "arm64") {
333 deps += [":swiftshader_llvm_aarch64"]
334 } else if (target_cpu == "mipsel" || target_cpu == "mips64el") {
335 deps += [":swiftshader_llvm_mips"]
Colin Samplesf63a3ab2019-06-13 12:53:09 -0400336 } else if (target_cpu == "ppc64") {
337 deps += [":swiftshader_llvm_ppc"]
Nicolas Capens155f8022018-10-31 16:20:42 -0400338 } else {
339 assert(false, "Unsupported target_cpu")
340 }
Gordana Cmiljanovic6ed398b2018-11-08 12:56:07 +0100341
342 if (target_cpu != current_cpu &&
Tom Tanf6d56f12019-01-02 22:01:55 -0800343 (current_cpu == "x86" || current_cpu == "x64") ||
344 # Windows ARM64 does cross compilation on Windows x64 host, and requires native
345 # x86 target.
346 (is_win && target_cpu == "arm64")) {
Gordana Cmiljanovic6ed398b2018-11-08 12:56:07 +0100347 deps += [ ":swiftshader_llvm_x86" ]
348 }
Nicolas Capens155f8022018-10-31 16:20:42 -0400349}
350
351swiftshader_source_set("swiftshader_llvm_x86") {
352 sources = [
Nicolas Capens758796a2018-10-12 16:45:51 -0400353 "llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp",
354 "llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp",
355 "llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp",
356 "llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp",
357 "llvm/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp",
358 "llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp",
359 "llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp",
360 "llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100361 "llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400362 "llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp",
363 "llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp",
364 "llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400365 "llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp",
366 "llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp",
367 "llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp",
368 "llvm/lib/Target/X86/ShadowCallStack.cpp",
369 "llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp",
370 "llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp",
371 "llvm/lib/Target/X86/X86AsmPrinter.cpp",
372 "llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp",
373 "llvm/lib/Target/X86/X86CallFrameOptimization.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400374 "llvm/lib/Target/X86/X86CallingConv.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100375 "llvm/lib/Target/X86/X86CallLowering.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400376 "llvm/lib/Target/X86/X86CmovConversion.cpp",
377 "llvm/lib/Target/X86/X86DomainReassignment.cpp",
378 "llvm/lib/Target/X86/X86EvexToVex.cpp",
379 "llvm/lib/Target/X86/X86ExpandPseudo.cpp",
380 "llvm/lib/Target/X86/X86FastISel.cpp",
381 "llvm/lib/Target/X86/X86FixupBWInsts.cpp",
382 "llvm/lib/Target/X86/X86FixupLEAs.cpp",
383 "llvm/lib/Target/X86/X86FixupSetCC.cpp",
384 "llvm/lib/Target/X86/X86FlagsCopyLowering.cpp",
385 "llvm/lib/Target/X86/X86FloatingPoint.cpp",
386 "llvm/lib/Target/X86/X86FrameLowering.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400387 "llvm/lib/Target/X86/X86IndirectBranchTracking.cpp",
388 "llvm/lib/Target/X86/X86InstrFMA3Info.cpp",
389 "llvm/lib/Target/X86/X86InstrFoldTables.cpp",
390 "llvm/lib/Target/X86/X86InstrInfo.cpp",
391 "llvm/lib/Target/X86/X86InstructionSelector.cpp",
392 "llvm/lib/Target/X86/X86InterleavedAccess.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100393 "llvm/lib/Target/X86/X86ISelDAGToDAG.cpp",
394 "llvm/lib/Target/X86/X86ISelLowering.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400395 "llvm/lib/Target/X86/X86LegalizerInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400396 "llvm/lib/Target/X86/X86MachineFunctionInfo.cpp",
397 "llvm/lib/Target/X86/X86MacroFusion.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100398 "llvm/lib/Target/X86/X86MCInstLower.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400399 "llvm/lib/Target/X86/X86OptimizeLEAs.cpp",
400 "llvm/lib/Target/X86/X86PadShortFunction.cpp",
401 "llvm/lib/Target/X86/X86RegisterBankInfo.cpp",
402 "llvm/lib/Target/X86/X86RegisterInfo.cpp",
403 "llvm/lib/Target/X86/X86RetpolineThunks.cpp",
404 "llvm/lib/Target/X86/X86SelectionDAGInfo.cpp",
405 "llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp",
406 "llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp",
407 "llvm/lib/Target/X86/X86Subtarget.cpp",
408 "llvm/lib/Target/X86/X86TargetMachine.cpp",
409 "llvm/lib/Target/X86/X86TargetObjectFile.cpp",
410 "llvm/lib/Target/X86/X86TargetTransformInfo.cpp",
411 "llvm/lib/Target/X86/X86VZeroUpper.cpp",
412 "llvm/lib/Target/X86/X86WinAllocaExpander.cpp",
413 "llvm/lib/Target/X86/X86WinEHState.cpp",
414 ]
415
416 configs = [ ":swiftshader_llvm_private_config" ]
417
418 include_dirs = llvm_include_dirs
Nicolas Capens155f8022018-10-31 16:20:42 -0400419}
Nicolas Capens758796a2018-10-12 16:45:51 -0400420
Nicolas Capens155f8022018-10-31 16:20:42 -0400421swiftshader_source_set("swiftshader_llvm_arm") {
422 sources = [
Ben Claytonc8740e02019-06-11 16:16:48 +0100423 "llvm/lib/Target/ARM/A15SDOptimizer.cpp",
424 "llvm/lib/Target/ARM/ARMAsmPrinter.cpp",
425 "llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400426 "llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp",
427 "llvm/lib/Target/ARM/ARMCallLowering.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400428 "llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100429 "llvm/lib/Target/ARM/ARMComputeBlockSize.cpp",
430 "llvm/lib/Target/ARM/ARMConstantIslandPass.cpp",
431 "llvm/lib/Target/ARM/ARMConstantPoolValue.cpp",
432 "llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp",
433 "llvm/lib/Target/ARM/ARMFastISel.cpp",
434 "llvm/lib/Target/ARM/ARMFrameLowering.cpp",
435 "llvm/lib/Target/ARM/ARMHazardRecognizer.cpp",
436 "llvm/lib/Target/ARM/ARMInstrInfo.cpp",
437 "llvm/lib/Target/ARM/ARMInstructionSelector.cpp",
438 "llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp",
439 "llvm/lib/Target/ARM/ARMISelLowering.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400440 "llvm/lib/Target/ARM/ARMLegalizerInfo.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100441 "llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp",
442 "llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp",
443 "llvm/lib/Target/ARM/ARMMacroFusion.cpp",
444 "llvm/lib/Target/ARM/ARMMCInstLower.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400445 "llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100446 "llvm/lib/Target/ARM/ARMParallelDSP.cpp",
447 "llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp",
448 "llvm/lib/Target/ARM/ARMRegisterInfo.cpp",
449 "llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp",
450 "llvm/lib/Target/ARM/ARMSubtarget.cpp",
451 "llvm/lib/Target/ARM/ARMTargetMachine.cpp",
452 "llvm/lib/Target/ARM/ARMTargetObjectFile.cpp",
453 "llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp",
454 "llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp",
455 "llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp",
456 "llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp",
457 "llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp",
458 "llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp",
459 "llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp",
460 "llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp",
461 "llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp",
462 "llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp",
463 "llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp",
464 "llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp",
465 "llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp",
466 "llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp",
467 "llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp",
468 "llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp",
469 "llvm/lib/Target/ARM/MLxExpansionPass.cpp",
470 "llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp",
471 "llvm/lib/Target/ARM/Thumb1FrameLowering.cpp",
472 "llvm/lib/Target/ARM/Thumb1InstrInfo.cpp",
473 "llvm/lib/Target/ARM/Thumb2InstrInfo.cpp",
474 "llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp",
475 "llvm/lib/Target/ARM/Thumb2SizeReduction.cpp",
476 "llvm/lib/Target/ARM/ThumbRegisterInfo.cpp",
477 "llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400478 ]
Nicolas Capens155f8022018-10-31 16:20:42 -0400479
Saman Sami7e954712019-06-06 11:46:59 -0400480 # When is_ubsan_vptr is true, this file is added to swiftshader_llvm instead.
481 if (!is_ubsan_vptr) {
482 sources += [ "llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp" ]
483 }
484
Nicolas Capens155f8022018-10-31 16:20:42 -0400485 configs = [ ":swiftshader_llvm_private_config" ]
486
487 include_dirs = llvm_include_dirs
488}
489
490swiftshader_source_set("swiftshader_llvm_aarch64") {
491 sources = [
Nicolas Capens155f8022018-10-31 16:20:42 -0400492 "llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100493 "llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp",
494 "llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp",
495 "llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400496 "llvm/lib/Target/AArch64/AArch64CallLowering.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100497 "llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp",
498 "llvm/lib/Target/AArch64/AArch64CollectLOH.cpp",
499 "llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp",
500 "llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400501 "llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100502 "llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp",
503 "llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp",
504 "llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp",
505 "llvm/lib/Target/AArch64/AArch64FastISel.cpp",
506 "llvm/lib/Target/AArch64/AArch64FrameLowering.cpp",
507 "llvm/lib/Target/AArch64/AArch64InstrInfo.cpp",
508 "llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp",
509 "llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp",
510 "llvm/lib/Target/AArch64/AArch64ISelLowering.cpp",
511 "llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp",
512 "llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp",
513 "llvm/lib/Target/AArch64/AArch64MacroFusion.cpp",
514 "llvm/lib/Target/AArch64/AArch64MCInstLower.cpp",
515 "llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp",
516 "llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp",
517 "llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp",
518 "llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp",
519 "llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp",
520 "llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp",
521 "llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp",
522 "llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp",
523 "llvm/lib/Target/AArch64/AArch64Subtarget.cpp",
524 "llvm/lib/Target/AArch64/AArch64TargetMachine.cpp",
525 "llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp",
526 "llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp",
527 "llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400528 "llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp",
529 "llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400530 "llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100531 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp",
532 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp",
533 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp",
534 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp",
535 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp",
536 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp",
537 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp",
538 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp",
539 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp",
540 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp",
541 "llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp",
542 "llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp",
543 "llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400544 ]
545
546 configs = [ ":swiftshader_llvm_private_config" ]
547
548 include_dirs = llvm_include_dirs
549}
550
551swiftshader_source_set("swiftshader_llvm_mips") {
552 sources = [
553 "llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp",
554 "llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp",
555 "llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp",
556 "llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp",
557 "llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100558 "llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400559 "llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp",
560 "llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp",
561 "llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100562 "llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400563 "llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100564 "llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400565 "llvm/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp",
566 "llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100567 "llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400568 "llvm/lib/Target/Mips/Mips16FrameLowering.cpp",
569 "llvm/lib/Target/Mips/Mips16HardFloat.cpp",
570 "llvm/lib/Target/Mips/Mips16HardFloatInfo.cpp",
571 "llvm/lib/Target/Mips/Mips16InstrInfo.cpp",
572 "llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp",
573 "llvm/lib/Target/Mips/Mips16ISelLowering.cpp",
574 "llvm/lib/Target/Mips/Mips16RegisterInfo.cpp",
575 "llvm/lib/Target/Mips/MipsAnalyzeImmediate.cpp",
576 "llvm/lib/Target/Mips/MipsAsmPrinter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100577 "llvm/lib/Target/Mips/MipsBranchExpansion.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400578 "llvm/lib/Target/Mips/MipsCallLowering.cpp",
579 "llvm/lib/Target/Mips/MipsCCState.cpp",
580 "llvm/lib/Target/Mips/MipsConstantIslandPass.cpp",
581 "llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp",
582 "llvm/lib/Target/Mips/MipsExpandPseudo.cpp",
583 "llvm/lib/Target/Mips/MipsFastISel.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100584 "llvm/lib/Target/Mips/MipsFrameLowering.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400585 "llvm/lib/Target/Mips/MipsInstrInfo.cpp",
586 "llvm/lib/Target/Mips/MipsInstructionSelector.cpp",
587 "llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp",
588 "llvm/lib/Target/Mips/MipsISelLowering.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400589 "llvm/lib/Target/Mips/MipsLegalizerInfo.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400590 "llvm/lib/Target/Mips/MipsMachineFunction.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100591 "llvm/lib/Target/Mips/MipsMCInstLower.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400592 "llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp",
593 "llvm/lib/Target/Mips/MipsOptimizePICCall.cpp",
594 "llvm/lib/Target/Mips/MipsOs16.cpp",
595 "llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp",
596 "llvm/lib/Target/Mips/MipsRegisterInfo.cpp",
597 "llvm/lib/Target/Mips/MipsSEFrameLowering.cpp",
598 "llvm/lib/Target/Mips/MipsSEInstrInfo.cpp",
599 "llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp",
600 "llvm/lib/Target/Mips/MipsSEISelLowering.cpp",
601 "llvm/lib/Target/Mips/MipsSERegisterInfo.cpp",
602 "llvm/lib/Target/Mips/MipsSubtarget.cpp",
603 "llvm/lib/Target/Mips/MipsTargetMachine.cpp",
604 "llvm/lib/Target/Mips/MipsTargetObjectFile.cpp",
Nicolas Capens155f8022018-10-31 16:20:42 -0400605 "llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp",
606 ]
607
608 configs = [ ":swiftshader_llvm_private_config" ]
609
610 include_dirs = llvm_include_dirs
Nicolas Capens758796a2018-10-12 16:45:51 -0400611}
612
Colin Samplesf63a3ab2019-06-13 12:53:09 -0400613swiftshader_source_set("swiftshader_llvm_ppc") {
614 sources = [
615 "llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp",
616 "llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp",
617 "llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp",
618 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp",
619 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp",
620 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp",
621 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp",
622 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp",
623 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp",
624 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp",
625 "llvm/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.cpp",
626 "llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp",
627 "llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp",
628 "llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp",
629 "llvm/lib/Target/PowerPC/PPCBranchSelector.cpp",
630 "llvm/lib/Target/PowerPC/PPCCCState.cpp",
631 "llvm/lib/Target/PowerPC/PPCCTRLoops.cpp",
632 "llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp",
633 "llvm/lib/Target/PowerPC/PPCExpandISEL.cpp",
634 "llvm/lib/Target/PowerPC/PPCFastISel.cpp",
635 "llvm/lib/Target/PowerPC/PPCFrameLowering.cpp",
636 "llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp",
637 "llvm/lib/Target/PowerPC/PPCInstrInfo.cpp",
638 "llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp",
639 "llvm/lib/Target/PowerPC/PPCISelLowering.cpp",
640 "llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp",
641 "llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp",
642 "llvm/lib/Target/PowerPC/PPCMCInstLower.cpp",
643 "llvm/lib/Target/PowerPC/PPCMIPeephole.cpp",
644 "llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp",
645 "llvm/lib/Target/PowerPC/PPCQPXLoadSplat.cpp",
646 "llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp",
647 "llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp",
648 "llvm/lib/Target/PowerPC/PPCSubtarget.cpp",
649 "llvm/lib/Target/PowerPC/PPCTargetMachine.cpp",
650 "llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp",
651 "llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp",
652 "llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp",
653 "llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp",
654 "llvm/lib/Target/PowerPC/PPCVSXCopy.cpp",
655 "llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp",
656 "llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp",
657 "llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp",
658 ]
659
660 configs = [ ":swiftshader_llvm_private_config" ]
661
662 include_dirs = llvm_include_dirs
663}
664
Nicolas Capens758796a2018-10-12 16:45:51 -0400665swiftshader_source_set("swiftshader_llvm_codegen") {
666 sources = [
667 "llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp",
668 "llvm/lib/CodeGen/AllocationOrder.cpp",
669 "llvm/lib/CodeGen/Analysis.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400670 "llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp",
671 "llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100672 "llvm/lib/CodeGen/AsmPrinter/ARMException.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400673 "llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp",
674 "llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp",
675 "llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp",
676 "llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400677 "llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp",
678 "llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp",
679 "llvm/lib/CodeGen/AsmPrinter/DebugLocStream.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100680 "llvm/lib/CodeGen/AsmPrinter/DIE.cpp",
681 "llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400682 "llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp",
683 "llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp",
684 "llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp",
685 "llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp",
686 "llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp",
687 "llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp",
688 "llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp",
689 "llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400690 "llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp",
691 "llvm/lib/CodeGen/AsmPrinter/WinException.cpp",
692 "llvm/lib/CodeGen/AtomicExpandPass.cpp",
693 "llvm/lib/CodeGen/BasicTargetTransformInfo.cpp",
694 "llvm/lib/CodeGen/BranchFolding.cpp",
695 "llvm/lib/CodeGen/BranchRelaxation.cpp",
696 "llvm/lib/CodeGen/BreakFalseDeps.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400697 "llvm/lib/CodeGen/CalcSpillWeights.cpp",
698 "llvm/lib/CodeGen/CallingConvLower.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100699 "llvm/lib/CodeGen/CFIInstrInserter.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400700 "llvm/lib/CodeGen/CodeGen.cpp",
701 "llvm/lib/CodeGen/CodeGenPrepare.cpp",
702 "llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400703 "llvm/lib/CodeGen/DeadMachineInstructionElim.cpp",
704 "llvm/lib/CodeGen/DetectDeadLanes.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100705 "llvm/lib/CodeGen/DFAPacketizer.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400706 "llvm/lib/CodeGen/DwarfEHPrepare.cpp",
707 "llvm/lib/CodeGen/EarlyIfConversion.cpp",
708 "llvm/lib/CodeGen/EdgeBundles.cpp",
709 "llvm/lib/CodeGen/ExecutionDomainFix.cpp",
710 "llvm/lib/CodeGen/ExpandISelPseudos.cpp",
711 "llvm/lib/CodeGen/ExpandMemCmp.cpp",
712 "llvm/lib/CodeGen/ExpandPostRAPseudos.cpp",
713 "llvm/lib/CodeGen/ExpandReductions.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400714 "llvm/lib/CodeGen/FaultMaps.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100715 "llvm/lib/CodeGen/FEntryInserter.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400716 "llvm/lib/CodeGen/FuncletLayout.cpp",
717 "llvm/lib/CodeGen/GCMetadata.cpp",
718 "llvm/lib/CodeGen/GCMetadataPrinter.cpp",
719 "llvm/lib/CodeGen/GCRootLowering.cpp",
720 "llvm/lib/CodeGen/GCStrategy.cpp",
721 "llvm/lib/CodeGen/GlobalISel/CallLowering.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400722 "llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400723 "llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp",
724 "llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100725 "llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400726 "llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp",
727 "llvm/lib/CodeGen/GlobalISel/LegalizeMutations.cpp",
728 "llvm/lib/CodeGen/GlobalISel/Legalizer.cpp",
729 "llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp",
730 "llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp",
731 "llvm/lib/CodeGen/GlobalISel/Localizer.cpp",
732 "llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp",
733 "llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp",
734 "llvm/lib/CodeGen/GlobalISel/RegisterBank.cpp",
735 "llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp",
736 "llvm/lib/CodeGen/GlobalISel/Utils.cpp",
737 "llvm/lib/CodeGen/GlobalMerge.cpp",
738 "llvm/lib/CodeGen/IfConversion.cpp",
739 "llvm/lib/CodeGen/ImplicitNullChecks.cpp",
740 "llvm/lib/CodeGen/IndirectBrExpandPass.cpp",
741 "llvm/lib/CodeGen/InlineSpiller.cpp",
742 "llvm/lib/CodeGen/InterferenceCache.cpp",
743 "llvm/lib/CodeGen/InterleavedAccessPass.cpp",
744 "llvm/lib/CodeGen/IntrinsicLowering.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400745 "llvm/lib/CodeGen/LatencyPriorityQueue.cpp",
746 "llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp",
747 "llvm/lib/CodeGen/LexicalScopes.cpp",
748 "llvm/lib/CodeGen/LiveDebugValues.cpp",
749 "llvm/lib/CodeGen/LiveDebugVariables.cpp",
750 "llvm/lib/CodeGen/LiveInterval.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400751 "llvm/lib/CodeGen/LiveIntervals.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100752 "llvm/lib/CodeGen/LiveIntervalUnion.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400753 "llvm/lib/CodeGen/LivePhysRegs.cpp",
754 "llvm/lib/CodeGen/LiveRangeCalc.cpp",
755 "llvm/lib/CodeGen/LiveRangeEdit.cpp",
756 "llvm/lib/CodeGen/LiveRangeShrink.cpp",
757 "llvm/lib/CodeGen/LiveRegMatrix.cpp",
758 "llvm/lib/CodeGen/LiveRegUnits.cpp",
759 "llvm/lib/CodeGen/LiveStacks.cpp",
760 "llvm/lib/CodeGen/LiveVariables.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100761 "llvm/lib/CodeGen/LLVMTargetMachine.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400762 "llvm/lib/CodeGen/LocalStackSlotAllocation.cpp",
763 "llvm/lib/CodeGen/LoopTraversal.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400764 "llvm/lib/CodeGen/LowerEmuTLS.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100765 "llvm/lib/CodeGen/LowLevelType.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400766 "llvm/lib/CodeGen/MachineBasicBlock.cpp",
767 "llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp",
768 "llvm/lib/CodeGen/MachineBlockPlacement.cpp",
769 "llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400770 "llvm/lib/CodeGen/MachineCombiner.cpp",
771 "llvm/lib/CodeGen/MachineCopyPropagation.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100772 "llvm/lib/CodeGen/MachineCSE.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400773 "llvm/lib/CodeGen/MachineDominanceFrontier.cpp",
774 "llvm/lib/CodeGen/MachineDominators.cpp",
775 "llvm/lib/CodeGen/MachineFrameInfo.cpp",
776 "llvm/lib/CodeGen/MachineFunction.cpp",
777 "llvm/lib/CodeGen/MachineFunctionPass.cpp",
778 "llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp",
779 "llvm/lib/CodeGen/MachineInstr.cpp",
780 "llvm/lib/CodeGen/MachineInstrBundle.cpp",
781 "llvm/lib/CodeGen/MachineLICM.cpp",
782 "llvm/lib/CodeGen/MachineLoopInfo.cpp",
783 "llvm/lib/CodeGen/MachineModuleInfo.cpp",
784 "llvm/lib/CodeGen/MachineModuleInfoImpls.cpp",
785 "llvm/lib/CodeGen/MachineOperand.cpp",
786 "llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp",
787 "llvm/lib/CodeGen/MachineOutliner.cpp",
788 "llvm/lib/CodeGen/MachinePassRegistry.cpp",
789 "llvm/lib/CodeGen/MachinePipeliner.cpp",
790 "llvm/lib/CodeGen/MachinePostDominators.cpp",
791 "llvm/lib/CodeGen/MachineRegionInfo.cpp",
792 "llvm/lib/CodeGen/MachineRegisterInfo.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400793 "llvm/lib/CodeGen/MachineScheduler.cpp",
794 "llvm/lib/CodeGen/MachineSink.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100795 "llvm/lib/CodeGen/MachineSSAUpdater.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400796 "llvm/lib/CodeGen/MachineTraceMetrics.cpp",
797 "llvm/lib/CodeGen/MachineVerifier.cpp",
798 "llvm/lib/CodeGen/MacroFusion.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100799 "llvm/lib/CodeGen/MIRCanonicalizerPass.cpp",
800 "llvm/lib/CodeGen/MIRPrinter.cpp",
801 "llvm/lib/CodeGen/MIRPrintingPass.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400802 "llvm/lib/CodeGen/OptimizePHIs.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400803 "llvm/lib/CodeGen/PatchableFunction.cpp",
804 "llvm/lib/CodeGen/PeepholeOptimizer.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100805 "llvm/lib/CodeGen/PHIElimination.cpp",
806 "llvm/lib/CodeGen/PHIEliminationUtils.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400807 "llvm/lib/CodeGen/PostRAHazardRecognizer.cpp",
808 "llvm/lib/CodeGen/PostRASchedulerList.cpp",
809 "llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp",
810 "llvm/lib/CodeGen/ProcessImplicitDefs.cpp",
811 "llvm/lib/CodeGen/PrologEpilogInserter.cpp",
812 "llvm/lib/CodeGen/PseudoSourceValue.cpp",
813 "llvm/lib/CodeGen/ReachingDefAnalysis.cpp",
814 "llvm/lib/CodeGen/RegAllocBase.cpp",
815 "llvm/lib/CodeGen/RegAllocBasic.cpp",
816 "llvm/lib/CodeGen/RegAllocFast.cpp",
817 "llvm/lib/CodeGen/RegAllocGreedy.cpp",
Ben Claytona19080a2019-05-10 17:02:17 +0100818 "llvm/lib/CodeGen/RegAllocPBQP.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400819 "llvm/lib/CodeGen/RegisterClassInfo.cpp",
820 "llvm/lib/CodeGen/RegisterCoalescer.cpp",
821 "llvm/lib/CodeGen/RegisterPressure.cpp",
822 "llvm/lib/CodeGen/RegisterScavenging.cpp",
823 "llvm/lib/CodeGen/RegisterUsageInfo.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100824 "llvm/lib/CodeGen/RegUsageInfoCollector.cpp",
825 "llvm/lib/CodeGen/RegUsageInfoPropagate.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400826 "llvm/lib/CodeGen/RenameIndependentSubregs.cpp",
827 "llvm/lib/CodeGen/ResetMachineFunctionPass.cpp",
828 "llvm/lib/CodeGen/SafeStack.cpp",
829 "llvm/lib/CodeGen/SafeStackColoring.cpp",
830 "llvm/lib/CodeGen/SafeStackLayout.cpp",
831 "llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp",
832 "llvm/lib/CodeGen/ScheduleDAG.cpp",
833 "llvm/lib/CodeGen/ScheduleDAGInstrs.cpp",
834 "llvm/lib/CodeGen/ScheduleDAGPrinter.cpp",
835 "llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp",
836 "llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp",
837 "llvm/lib/CodeGen/SelectionDAG/FastISel.cpp",
838 "llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp",
839 "llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp",
840 "llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp",
841 "llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp",
842 "llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp",
843 "llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp",
844 "llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp",
845 "llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp",
846 "llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp",
847 "llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400848 "llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp",
849 "llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp",
850 "llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp",
851 "llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp",
852 "llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp",
853 "llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp",
854 "llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp",
855 "llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp",
856 "llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp",
857 "llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp",
858 "llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp",
859 "llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp",
860 "llvm/lib/CodeGen/ShadowStackGCLowering.cpp",
861 "llvm/lib/CodeGen/ShrinkWrap.cpp",
862 "llvm/lib/CodeGen/SjLjEHPrepare.cpp",
863 "llvm/lib/CodeGen/SlotIndexes.cpp",
864 "llvm/lib/CodeGen/SpillPlacement.cpp",
865 "llvm/lib/CodeGen/SplitKit.cpp",
866 "llvm/lib/CodeGen/StackColoring.cpp",
867 "llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp",
868 "llvm/lib/CodeGen/StackMaps.cpp",
869 "llvm/lib/CodeGen/StackProtector.cpp",
870 "llvm/lib/CodeGen/StackSlotColoring.cpp",
871 "llvm/lib/CodeGen/TailDuplication.cpp",
872 "llvm/lib/CodeGen/TailDuplicator.cpp",
873 "llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp",
874 "llvm/lib/CodeGen/TargetInstrInfo.cpp",
875 "llvm/lib/CodeGen/TargetLoweringBase.cpp",
876 "llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp",
877 "llvm/lib/CodeGen/TargetOptionsImpl.cpp",
878 "llvm/lib/CodeGen/TargetPassConfig.cpp",
879 "llvm/lib/CodeGen/TargetRegisterInfo.cpp",
880 "llvm/lib/CodeGen/TargetSchedule.cpp",
881 "llvm/lib/CodeGen/TargetSubtargetInfo.cpp",
882 "llvm/lib/CodeGen/TwoAddressInstructionPass.cpp",
883 "llvm/lib/CodeGen/UnreachableBlockElim.cpp",
884 "llvm/lib/CodeGen/ValueTypes.cpp",
885 "llvm/lib/CodeGen/VirtRegMap.cpp",
886 "llvm/lib/CodeGen/WasmEHPrepare.cpp",
887 "llvm/lib/CodeGen/WinEHPrepare.cpp",
888 "llvm/lib/CodeGen/XRayInstrumentation.cpp",
889 ]
890
891 configs = [ ":swiftshader_llvm_private_config" ]
892
893 include_dirs = llvm_include_dirs
894}
895
896swiftshader_source_set("swiftshader_llvm_ir") {
897 sources = [
898 "llvm/lib/IR/AsmWriter.cpp",
899 "llvm/lib/IR/Attributes.cpp",
900 "llvm/lib/IR/AutoUpgrade.cpp",
901 "llvm/lib/IR/BasicBlock.cpp",
902 "llvm/lib/IR/Comdat.cpp",
903 "llvm/lib/IR/ConstantFold.cpp",
904 "llvm/lib/IR/ConstantRange.cpp",
905 "llvm/lib/IR/Constants.cpp",
906 "llvm/lib/IR/Core.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400907 "llvm/lib/IR/DataLayout.cpp",
908 "llvm/lib/IR/DebugInfo.cpp",
909 "llvm/lib/IR/DebugInfoMetadata.cpp",
910 "llvm/lib/IR/DebugLoc.cpp",
911 "llvm/lib/IR/DiagnosticHandler.cpp",
912 "llvm/lib/IR/DiagnosticInfo.cpp",
913 "llvm/lib/IR/DiagnosticPrinter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100914 "llvm/lib/IR/DIBuilder.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400915 "llvm/lib/IR/Dominators.cpp",
916 "llvm/lib/IR/Function.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400917 "llvm/lib/IR/Globals.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100918 "llvm/lib/IR/GVMaterializer.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400919 "llvm/lib/IR/InlineAsm.cpp",
920 "llvm/lib/IR/Instruction.cpp",
921 "llvm/lib/IR/Instructions.cpp",
922 "llvm/lib/IR/IntrinsicInst.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100923 "llvm/lib/IR/IRBuilder.cpp",
924 "llvm/lib/IR/IRPrintingPasses.cpp",
925 "llvm/lib/IR/LegacyPassManager.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400926 "llvm/lib/IR/LLVMContext.cpp",
927 "llvm/lib/IR/LLVMContextImpl.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400928 "llvm/lib/IR/Mangler.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100929 "llvm/lib/IR/MDBuilder.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400930 "llvm/lib/IR/Metadata.cpp",
931 "llvm/lib/IR/Module.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400932 "llvm/lib/IR/Operator.cpp",
933 "llvm/lib/IR/OptBisect.cpp",
934 "llvm/lib/IR/Pass.cpp",
935 "llvm/lib/IR/PassManager.cpp",
936 "llvm/lib/IR/PassRegistry.cpp",
937 "llvm/lib/IR/ProfileSummary.cpp",
938 "llvm/lib/IR/SafepointIRVerifier.cpp",
939 "llvm/lib/IR/Statepoint.cpp",
940 "llvm/lib/IR/Type.cpp",
941 "llvm/lib/IR/TypeFinder.cpp",
942 "llvm/lib/IR/Use.cpp",
943 "llvm/lib/IR/User.cpp",
944 "llvm/lib/IR/Value.cpp",
945 "llvm/lib/IR/ValueSymbolTable.cpp",
946 "llvm/lib/IR/Verifier.cpp",
947 ]
948
949 configs = [ ":swiftshader_llvm_private_config" ]
950
951 include_dirs = llvm_include_dirs
952}
953
954swiftshader_source_set("swiftshader_llvm_support") {
955 sources = [
Nicolas Capens758796a2018-10-12 16:45:51 -0400956 "llvm/lib/Support/APFloat.cpp",
957 "llvm/lib/Support/APInt.cpp",
958 "llvm/lib/Support/APSInt.cpp",
959 "llvm/lib/Support/ARMAttributeParser.cpp",
960 "llvm/lib/Support/ARMBuildAttrs.cpp",
Colin Samplesf63a3ab2019-06-13 12:53:09 -0400961 "llvm/lib/Support/Atomic.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400962 "llvm/lib/Support/BinaryStreamError.cpp",
963 "llvm/lib/Support/BinaryStreamReader.cpp",
964 "llvm/lib/Support/BinaryStreamRef.cpp",
965 "llvm/lib/Support/BinaryStreamWriter.cpp",
966 "llvm/lib/Support/BlockFrequency.cpp",
967 "llvm/lib/Support/BranchProbability.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400968 "llvm/lib/Support/Chrono.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100969 "llvm/lib/Support/circular_raw_ostream.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400970 "llvm/lib/Support/CodeGenCoverage.cpp",
971 "llvm/lib/Support/CommandLine.cpp",
972 "llvm/lib/Support/Compression.cpp",
973 "llvm/lib/Support/ConvertUTF.cpp",
974 "llvm/lib/Support/ConvertUTFWrapper.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400975 "llvm/lib/Support/DataExtractor.cpp",
976 "llvm/lib/Support/Debug.cpp",
977 "llvm/lib/Support/DebugCounter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100978 "llvm/lib/Support/DJB.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400979 "llvm/lib/Support/DynamicLibrary.cpp",
980 "llvm/lib/Support/Errno.cpp",
981 "llvm/lib/Support/Error.cpp",
982 "llvm/lib/Support/ErrorHandling.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400983 "llvm/lib/Support/FoldingSet.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400984 "llvm/lib/Support/FormattedStream.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100985 "llvm/lib/Support/FormatVariadic.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400986 "llvm/lib/Support/GraphWriter.cpp",
987 "llvm/lib/Support/Hashing.cpp",
988 "llvm/lib/Support/Host.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400989 "llvm/lib/Support/IntEqClasses.cpp",
990 "llvm/lib/Support/IntervalMap.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400991 "llvm/lib/Support/JamCRC.cpp",
992 "llvm/lib/Support/KnownBits.cpp",
993 "llvm/lib/Support/LEB128.cpp",
994 "llvm/lib/Support/LineIterator.cpp",
995 "llvm/lib/Support/Locale.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400996 "llvm/lib/Support/LowLevelType.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -0400997 "llvm/lib/Support/ManagedStatic.cpp",
998 "llvm/lib/Support/MathExtras.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +0100999 "llvm/lib/Support/MD5.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001000 "llvm/lib/Support/Memory.cpp",
1001 "llvm/lib/Support/MemoryBuffer.cpp",
1002 "llvm/lib/Support/Mutex.cpp",
1003 "llvm/lib/Support/NativeFormatting.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001004 "llvm/lib/Support/Path.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001005 "llvm/lib/Support/PrettyStackTrace.cpp",
1006 "llvm/lib/Support/Process.cpp",
1007 "llvm/lib/Support/Program.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001008 "llvm/lib/Support/RandomNumberGenerator.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +01001009 "llvm/lib/Support/raw_ostream.cpp",
1010 "llvm/lib/Support/regcomp.c",
1011 "llvm/lib/Support/regerror.c",
Nicolas Capens758796a2018-10-12 16:45:51 -04001012 "llvm/lib/Support/Regex.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +01001013 "llvm/lib/Support/regexec.c",
1014 "llvm/lib/Support/regfree.c",
1015 "llvm/lib/Support/regstrlcpy.c",
1016 "llvm/lib/Support/RWMutex.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001017 "llvm/lib/Support/ScaledNumber.cpp",
1018 "llvm/lib/Support/ScopedPrinter.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +01001019 "llvm/lib/Support/SHA1.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001020 "llvm/lib/Support/Signals.cpp",
1021 "llvm/lib/Support/SmallPtrSet.cpp",
1022 "llvm/lib/Support/SmallVector.cpp",
1023 "llvm/lib/Support/SourceMgr.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001024 "llvm/lib/Support/Statistic.cpp",
1025 "llvm/lib/Support/StringExtras.cpp",
1026 "llvm/lib/Support/StringMap.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001027 "llvm/lib/Support/StringRef.cpp",
1028 "llvm/lib/Support/StringSaver.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001029 "llvm/lib/Support/TargetParser.cpp",
1030 "llvm/lib/Support/TargetRegistry.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001031 "llvm/lib/Support/Threading.cpp",
1032 "llvm/lib/Support/Timer.cpp",
1033 "llvm/lib/Support/ToolOutputFile.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001034 "llvm/lib/Support/Triple.cpp",
1035 "llvm/lib/Support/Twine.cpp",
1036 "llvm/lib/Support/Unicode.cpp",
1037 "llvm/lib/Support/UnicodeCaseFold.cpp",
1038 "llvm/lib/Support/Valgrind.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001039 "llvm/lib/Support/YAMLParser.cpp",
1040 "llvm/lib/Support/YAMLTraits.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001041 ]
1042
1043 configs = [ ":swiftshader_llvm_private_config" ]
1044
1045 include_dirs = llvm_include_dirs
1046}
1047
1048swiftshader_source_set("swiftshader_llvm_transforms") {
1049 sources = [
Ben Claytona19080a2019-05-10 17:02:17 +01001050 "llvm/lib/Transforms/Coroutines/CoroCleanup.cpp",
1051 "llvm/lib/Transforms/Coroutines/CoroEarly.cpp",
1052 "llvm/lib/Transforms/Coroutines/CoroElide.cpp",
1053 "llvm/lib/Transforms/Coroutines/CoroFrame.cpp",
1054 "llvm/lib/Transforms/Coroutines/CoroSplit.cpp",
1055 "llvm/lib/Transforms/Coroutines/Coroutines.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001056 "llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp",
1057 "llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp",
1058 "llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp",
1059 "llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp",
1060 "llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp",
1061 "llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp",
1062 "llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp",
1063 "llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp",
1064 "llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp",
1065 "llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp",
1066 "llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp",
1067 "llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp",
1068 "llvm/lib/Transforms/InstCombine/InstructionCombining.cpp",
Ben Claytona19080a2019-05-10 17:02:17 +01001069 "llvm/lib/Transforms/IPO/BarrierNoopPass.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001070 "llvm/lib/Transforms/Scalar/ADCE.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001071 "llvm/lib/Transforms/Scalar/ConstantHoisting.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001072 "llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001073 "llvm/lib/Transforms/Scalar/EarlyCSE.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001074 "llvm/lib/Transforms/Scalar/GVN.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001075 "llvm/lib/Transforms/Scalar/LICM.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001076 "llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001077 "llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp",
Jose Dapena Pazfae67ce2019-06-20 16:03:09 +02001078 "llvm/lib/Transforms/Scalar/LowerAtomic.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001079 "llvm/lib/Transforms/Scalar/MergeICmps.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001080 "llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001081 "llvm/lib/Transforms/Scalar/Reassociate.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001082 "llvm/lib/Transforms/Scalar/SCCP.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001083 "llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001084 "llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +01001085 "llvm/lib/Transforms/Scalar/SROA.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001086 "llvm/lib/Transforms/Utils/BasicBlockUtils.cpp",
1087 "llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp",
1088 "llvm/lib/Transforms/Utils/BuildLibCalls.cpp",
1089 "llvm/lib/Transforms/Utils/BypassSlowDivision.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001090 "llvm/lib/Transforms/Utils/CloneFunction.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001091 "llvm/lib/Transforms/Utils/DemoteRegToStack.cpp",
1092 "llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp",
1093 "llvm/lib/Transforms/Utils/EscapeEnumerator.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001094 "llvm/lib/Transforms/Utils/InlineFunction.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001095 "llvm/lib/Transforms/Utils/LCSSA.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001096 "llvm/lib/Transforms/Utils/Local.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001097 "llvm/lib/Transforms/Utils/LoopSimplify.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001098 "llvm/lib/Transforms/Utils/LoopUtils.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001099 "llvm/lib/Transforms/Utils/LowerInvoke.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001100 "llvm/lib/Transforms/Utils/OrderedInstructions.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001101 "llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001102 "llvm/lib/Transforms/Utils/SimplifyCFG.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001103 "llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +01001104 "llvm/lib/Transforms/Utils/SSAUpdater.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001105 "llvm/lib/Transforms/Utils/SymbolRewriter.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001106 "llvm/lib/Transforms/Utils/ValueMapper.cpp",
Ben Claytonc8740e02019-06-11 16:16:48 +01001107 "llvm/lib/Transforms/Utils/VNCoercion.cpp",
Nicolas Capens758796a2018-10-12 16:45:51 -04001108 ]
1109
1110 configs = [ ":swiftshader_llvm_private_config" ]
1111
1112 include_dirs = llvm_include_dirs
1113}