1 import("//llvm/utils/TableGen/tablegen.gni")
3 tablegen("HexagonGenCallingConv") {
4 visibility = [ ":LLVMHexagonCodeGen" ]
5 args = [ "-gen-callingconv" ]
9 tablegen("HexagonGenDAGISel") {
10 visibility = [ ":LLVMHexagonCodeGen" ]
11 args = [ "-gen-dag-isel" ]
12 td_file = "Hexagon.td"
15 tablegen("HexagonGenDFAPacketizer") {
16 visibility = [ ":LLVMHexagonCodeGen" ]
17 args = [ "-gen-dfa-packetizer" ]
18 td_file = "Hexagon.td"
21 static_library("LLVMHexagonCodeGen") {
23 ":HexagonGenCallingConv",
25 ":HexagonGenDFAPacketizer",
28 "//llvm/include/llvm/Config:llvm-config",
29 "//llvm/lib/Analysis",
31 "//llvm/lib/CodeGen/AsmPrinter",
32 "//llvm/lib/CodeGen/SelectionDAG",
38 "//llvm/lib/Transforms/Utils",
40 include_dirs = [ "." ]
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",
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",
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",
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.
106 ":LLVMHexagonCodeGen",