xref: /llvm-project/llvm/lib/Target/SPIRV/CMakeLists.txt (revision eddeb36cf1ced0e14e17ac90f60922366e382100)
1add_llvm_component_group(SPIRV)
2
3set(LLVM_TARGET_DEFINITIONS SPIRV.td)
4
5tablegen(LLVM SPIRVGenAsmWriter.inc -gen-asm-writer)
6tablegen(LLVM SPIRVGenGlobalISel.inc -gen-global-isel)
7tablegen(LLVM SPIRVGenInstrInfo.inc -gen-instr-info)
8tablegen(LLVM SPIRVGenMCCodeEmitter.inc -gen-emitter)
9tablegen(LLVM SPIRVGenRegisterBank.inc -gen-register-bank)
10tablegen(LLVM SPIRVGenRegisterInfo.inc -gen-register-info)
11tablegen(LLVM SPIRVGenSubtargetInfo.inc -gen-subtarget)
12tablegen(LLVM SPIRVGenTables.inc -gen-searchable-tables)
13tablegen(LLVM SPIRVGenPreLegalizeGICombiner.inc -gen-global-isel-combiner
14              -combiners="SPIRVPreLegalizerCombiner")
15
16add_public_tablegen_target(SPIRVCommonTableGen)
17
18add_llvm_target(SPIRVCodeGen
19  SPIRVAPI.cpp
20  SPIRVAsmPrinter.cpp
21  SPIRVBuiltins.cpp
22  SPIRVCallLowering.cpp
23  SPIRVInlineAsmLowering.cpp
24  SPIRVCommandLine.cpp
25  SPIRVEmitIntrinsics.cpp
26  SPIRVGlobalRegistry.cpp
27  SPIRVInstrInfo.cpp
28  SPIRVInstructionSelector.cpp
29  SPIRVStripConvergentIntrinsics.cpp
30  SPIRVMergeRegionExitTargets.cpp
31  SPIRVISelLowering.cpp
32  SPIRVLegalizerInfo.cpp
33  SPIRVMCInstLower.cpp
34  SPIRVMetadata.cpp
35  SPIRVModuleAnalysis.cpp
36  SPIRVStructurizer.cpp
37  SPIRVPreLegalizer.cpp
38  SPIRVPreLegalizerCombiner.cpp
39  SPIRVPostLegalizer.cpp
40  SPIRVPrepareFunctions.cpp
41  SPIRVRegisterBankInfo.cpp
42  SPIRVRegisterInfo.cpp
43  SPIRVRegularizer.cpp
44  SPIRVSubtarget.cpp
45  SPIRVTargetMachine.cpp
46  SPIRVUtils.cpp
47  SPIRVEmitNonSemanticDI.cpp
48
49  LINK_COMPONENTS
50  Analysis
51  AsmPrinter
52  CodeGen
53  CodeGenTypes
54  Core
55  Demangle
56  GlobalISel
57  SPIRVAnalysis
58  MC
59  SPIRVDesc
60  SPIRVInfo
61  ScalarOpts
62  SelectionDAG
63  Support
64  Target
65  TargetParser
66  TransformUtils
67
68  ADD_TO_COMPONENT
69  SPIRV
70  )
71
72add_subdirectory(MCTargetDesc)
73add_subdirectory(TargetInfo)
74add_subdirectory(Analysis)
75