1import("//llvm/utils/TableGen/tablegen.gni")
2
3tablegen("NVPTXGenDAGISel") {
4  visibility = [ ":LLVMNVPTXCodeGen" ]
5  args = [ "-gen-dag-isel" ]
6  td_file = "NVPTX.td"
7}
8
9static_library("LLVMNVPTXCodeGen") {
10  deps = [
11    ":NVPTXGenDAGISel",
12    "MCTargetDesc",
13    "TargetInfo",
14    "//llvm/include/llvm/Config:llvm-config",
15    "//llvm/lib/Analysis",
16    "//llvm/lib/CodeGen",
17    "//llvm/lib/CodeGen/AsmPrinter",
18    "//llvm/lib/CodeGen/SelectionDAG",
19    "//llvm/lib/IR",
20    "//llvm/lib/MC",
21    "//llvm/lib/Support",
22    "//llvm/lib/Target",
23    "//llvm/lib/Transforms/IPO",
24    "//llvm/lib/Transforms/Scalar",
25    "//llvm/lib/Transforms/Utils",
26    "//llvm/lib/Transforms/Vectorize",
27  ]
28  include_dirs = [ "." ]
29  sources = [
30    "NVPTXAllocaHoisting.cpp",
31    "NVPTXAsmPrinter.cpp",
32    "NVPTXAssignValidGlobalNames.cpp",
33    "NVPTXFrameLowering.cpp",
34    "NVPTXGenericToNVVM.cpp",
35    "NVPTXISelDAGToDAG.cpp",
36    "NVPTXISelLowering.cpp",
37    "NVPTXImageOptimizer.cpp",
38    "NVPTXInstrInfo.cpp",
39    "NVPTXLowerAggrCopies.cpp",
40    "NVPTXLowerAlloca.cpp",
41    "NVPTXLowerArgs.cpp",
42    "NVPTXMCExpr.cpp",
43    "NVPTXPeephole.cpp",
44    "NVPTXPrologEpilogPass.cpp",
45    "NVPTXProxyRegErasure.cpp",
46    "NVPTXRegisterInfo.cpp",
47    "NVPTXReplaceImageHandles.cpp",
48    "NVPTXSubtarget.cpp",
49    "NVPTXTargetMachine.cpp",
50    "NVPTXTargetTransformInfo.cpp",
51    "NVPTXUtilities.cpp",
52    "NVVMIntrRange.cpp",
53    "NVVMReflect.cpp",
54  ]
55}
56
57# This is a bit different from most build files: Due to this group
58# having the directory's name, "//llvm/lib/Target/NVPTX" will refer to this
59# target, which pulls in the code in this directory *and all subdirectories*.
60# For most other directories, "//llvm/lib/Foo" only pulls in the code directly
61# in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
62# different behavior.
63group("NVPTX") {
64  deps = [
65    ":LLVMNVPTXCodeGen",
66    "MCTargetDesc",
67    "TargetInfo",
68  ]
69}
70