xref: /llvm-project/llvm/lib/Target/NVPTX/CMakeLists.txt (revision 03847f19f2e462a339e1afa1093f253ec8a23765)
1add_llvm_component_group(NVPTX)
2
3set(LLVM_TARGET_DEFINITIONS NVPTX.td)
4
5tablegen(LLVM NVPTXGenAsmWriter.inc -gen-asm-writer)
6tablegen(LLVM NVPTXGenDAGISel.inc -gen-dag-isel)
7tablegen(LLVM NVPTXGenInstrInfo.inc -gen-instr-info)
8tablegen(LLVM NVPTXGenRegisterInfo.inc -gen-register-info)
9tablegen(LLVM NVPTXGenSubtargetInfo.inc -gen-subtarget)
10
11add_public_tablegen_target(NVPTXCommonTableGen)
12
13set(NVPTXCodeGen_sources
14  NVPTXAliasAnalysis.cpp
15  NVPTXAllocaHoisting.cpp
16  NVPTXAtomicLower.cpp
17  NVPTXAsmPrinter.cpp
18  NVPTXAssignValidGlobalNames.cpp
19  NVPTXFrameLowering.cpp
20  NVPTXGenericToNVVM.cpp
21  NVPTXISelDAGToDAG.cpp
22  NVPTXISelLowering.cpp
23  NVPTXImageOptimizer.cpp
24  NVPTXInstrInfo.cpp
25  NVPTXLowerAggrCopies.cpp
26  NVPTXLowerArgs.cpp
27  NVPTXLowerAlloca.cpp
28  NVPTXLowerUnreachable.cpp
29  NVPTXPeephole.cpp
30  NVPTXMCExpr.cpp
31  NVPTXPrologEpilogPass.cpp
32  NVPTXRegisterInfo.cpp
33  NVPTXReplaceImageHandles.cpp
34  NVPTXSelectionDAGInfo.cpp
35  NVPTXSubtarget.cpp
36  NVPTXTargetMachine.cpp
37  NVPTXTargetTransformInfo.cpp
38  NVPTXUtilities.cpp
39  NVVMIntrRange.cpp
40  NVVMReflect.cpp
41  NVPTXProxyRegErasure.cpp
42  NVPTXCtorDtorLowering.cpp
43  )
44
45add_llvm_target(NVPTXCodeGen
46  ${NVPTXCodeGen_sources}
47
48  LINK_COMPONENTS
49  Analysis
50  AsmPrinter
51  CodeGen
52  CodeGenTypes
53  Core
54  IPO
55  MC
56  NVPTXDesc
57  NVPTXInfo
58  Scalar
59  SelectionDAG
60  Support
61  Target
62  TargetParser
63  TransformUtils
64  Vectorize
65
66  ADD_TO_COMPONENT
67  NVPTX
68  )
69
70add_subdirectory(MCTargetDesc)
71add_subdirectory(TargetInfo)
72