gn build: Run `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format`
[lldb.git] / llvm / utils / gn / secondary / llvm / lib / Target / Hexagon / BUILD.gn
1 import("//llvm/utils/TableGen/tablegen.gni")
2
3 tablegen("HexagonGenCallingConv") {
4   visibility = [ ":LLVMHexagonCodeGen" ]
5   args = [ "-gen-callingconv" ]
6   td_file = "Hexagon.td"
7 }
8
9 tablegen("HexagonGenDAGISel") {
10   visibility = [ ":LLVMHexagonCodeGen" ]
11   args = [ "-gen-dag-isel" ]
12   td_file = "Hexagon.td"
13 }
14
15 tablegen("HexagonGenDFAPacketizer") {
16   visibility = [ ":LLVMHexagonCodeGen" ]
17   args = [ "-gen-dfa-packetizer" ]
18   td_file = "Hexagon.td"
19 }
20
21 static_library("LLVMHexagonCodeGen") {
22   deps = [
23     ":HexagonGenCallingConv",
24     ":HexagonGenDAGISel",
25     ":HexagonGenDFAPacketizer",
26     "MCTargetDesc",
27     "TargetInfo",
28     "//llvm/include/llvm/Config:llvm-config",
29     "//llvm/lib/Analysis",
30     "//llvm/lib/CodeGen",
31     "//llvm/lib/CodeGen/AsmPrinter",
32     "//llvm/lib/CodeGen/SelectionDAG",
33     "//llvm/lib/IR",
34     "//llvm/lib/MC",
35     "//llvm/lib/Passes",
36     "//llvm/lib/Support",
37     "//llvm/lib/Target",
38     "//llvm/lib/Transforms/Utils",
39   ]
40   include_dirs = [ "." ]
41   sources = [
42     "BitTracker.cpp",
43     "HexagonAsmPrinter.cpp",
44     "HexagonBitSimplify.cpp",
45     "HexagonBitTracker.cpp",
46     "HexagonBlockRanges.cpp",
47     "HexagonBranchRelaxation.cpp",
48     "HexagonCFGOptimizer.cpp",
49     "HexagonCommonGEP.cpp",
50     "HexagonConstExtenders.cpp",
51     "HexagonConstPropagation.cpp",
52     "HexagonCopyToCombine.cpp",
53     "HexagonEarlyIfConv.cpp",
54     "HexagonExpandCondsets.cpp",
55     "HexagonFixupHwLoops.cpp",
56     "HexagonFrameLowering.cpp",
57     "HexagonGenExtract.cpp",
58     "HexagonGenInsert.cpp",
59     "HexagonGenMux.cpp",
60     "HexagonGenPredicate.cpp",
61     "HexagonHardwareLoops.cpp",
62     "HexagonHazardRecognizer.cpp",
63     "HexagonISelDAGToDAG.cpp",
64     "HexagonISelDAGToDAGHVX.cpp",
65     "HexagonISelLowering.cpp",
66     "HexagonISelLoweringHVX.cpp",
67     "HexagonInstrInfo.cpp",
68     "HexagonLoopIdiomRecognition.cpp",
69     "HexagonMCInstLower.cpp",
70     "HexagonMachineFunctionInfo.cpp",
71     "HexagonMachineScheduler.cpp",
72     "HexagonNewValueJump.cpp",
73     "HexagonOptAddrMode.cpp",
74     "HexagonOptimizeSZextends.cpp",
75     "HexagonPeephole.cpp",
76     "HexagonRDFOpt.cpp",
77     "HexagonRegisterInfo.cpp",
78     "HexagonSelectionDAGInfo.cpp",
79     "HexagonSplitConst32AndConst64.cpp",
80     "HexagonSplitDouble.cpp",
81     "HexagonStoreWidening.cpp",
82     "HexagonSubtarget.cpp",
83     "HexagonTargetMachine.cpp",
84     "HexagonTargetObjectFile.cpp",
85     "HexagonTargetTransformInfo.cpp",
86     "HexagonVExtract.cpp",
87     "HexagonVLIWPacketizer.cpp",
88     "HexagonVectorLoopCarriedReuse.cpp",
89     "HexagonVectorPrint.cpp",
90     "RDFCopy.cpp",
91     "RDFDeadCode.cpp",
92     "RDFGraph.cpp",
93     "RDFLiveness.cpp",
94     "RDFRegisters.cpp",
95   ]
96 }
97
98 # This is a bit different from most build files: Due to this group
99 # having the directory's name, "//llvm/lib/Target/Hexagon" will refer to this
100 # target, which pulls in the code in this directory *and all subdirectories*.
101 # For most other directories, "//llvm/lib/Foo" only pulls in the code directly
102 # in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this
103 # different behavior.
104 group("Hexagon") {
105   deps = [
106     ":LLVMHexagonCodeGen",
107     "AsmParser",
108     "Disassembler",
109     "MCTargetDesc",
110     "TargetInfo",
111   ]
112 }