From: Nico Weber Date: Sun, 22 Sep 2019 13:17:38 +0000 (+0000) Subject: gn build: Add build files for llvm/lib/Target/AVR X-Git-Tag: llvmorg-11-init~8658 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2e8d5d73992c3eece02b6a6a5f45b42df2ac65d0;p=platform%2Fupstream%2Fllvm.git gn build: Add build files for llvm/lib/Target/AVR Differential Revision: https://reviews.llvm.org/D67872 llvm-svn: 372505 --- diff --git a/llvm/utils/gn/TODO.txt b/llvm/utils/gn/TODO.txt index ebf601e..2b35b4b 100644 --- a/llvm/utils/gn/TODO.txt +++ b/llvm/utils/gn/TODO.txt @@ -4,7 +4,7 @@ Ideas for things to do: - once there are more projects, have an llvm_enable_projects arg, modeled after llvm_targets_to_build in the GN build - a check-all build target that runs test of all projects -- more targets (ARC AVR MSP430 XCore) +- more targets (ARC MSP430 XCore) - example: https://reviews.llvm.org/D56416 - investigate feasibility of working `gn check` diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/AVR/AsmParser/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/AsmParser/BUILD.gn new file mode 100644 index 0000000..6a99c37 --- /dev/null +++ b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/AsmParser/BUILD.gn @@ -0,0 +1,23 @@ +import("//llvm/utils/TableGen/tablegen.gni") + +tablegen("AVRGenAsmMatcher") { + visibility = [ ":AsmParser" ] + args = [ "-gen-asm-matcher" ] + td_file = "../AVR.td" +} + +static_library("AsmParser") { + output_name = "LLVMAVRAsmParser" + deps = [ + ":AVRGenAsmMatcher", + "//llvm/lib/MC", + "//llvm/lib/MC/MCParser", + "//llvm/lib/Support", + "//llvm/lib/Target/AVR/MCTargetDesc", + "//llvm/lib/Target/AVR/TargetInfo", + ] + include_dirs = [ ".." ] + sources = [ + "AVRAsmParser.cpp", + ] +} diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/AVR/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/BUILD.gn new file mode 100644 index 0000000..40ab437 --- /dev/null +++ b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/BUILD.gn @@ -0,0 +1,61 @@ +import("//llvm/utils/TableGen/tablegen.gni") + +tablegen("AVRGenCallingConv") { + visibility = [ ":LLVMAVRCodeGen" ] + args = [ "-gen-callingconv" ] + td_file = "AVR.td" +} + +tablegen("AVRGenDAGISel") { + visibility = [ ":LLVMAVRCodeGen" ] + args = [ "-gen-dag-isel" ] + td_file = "AVR.td" +} + +static_library("LLVMAVRCodeGen") { + deps = [ + ":AVRGenCallingConv", + ":AVRGenDAGISel", + "MCTargetDesc", + "TargetInfo", + "//llvm/include/llvm/Config:llvm-config", + "//llvm/lib/CodeGen", + "//llvm/lib/CodeGen/AsmPrinter", + "//llvm/lib/CodeGen/SelectionDAG", + "//llvm/lib/IR", + "//llvm/lib/MC", + "//llvm/lib/Support", + "//llvm/lib/Target", + ] + include_dirs = [ "." ] + sources = [ + "AVRAsmPrinter.cpp", + "AVRExpandPseudoInsts.cpp", + "AVRFrameLowering.cpp", + "AVRISelDAGToDAG.cpp", + "AVRISelLowering.cpp", + "AVRInstrInfo.cpp", + "AVRMCInstLower.cpp", + "AVRRegisterInfo.cpp", + "AVRRelaxMemOperations.cpp", + "AVRSubtarget.cpp", + "AVRTargetMachine.cpp", + "AVRTargetObjectFile.cpp", + ] +} + +# This is a bit different from most build files: Due to this group +# having the directory's name, "//llvm/lib/Target/AVR" will refer to this +# target, which pulls in the code in this directory *and all subdirectories*. +# For most other directories, "//llvm/lib/Foo" only pulls in the code directly +# in "llvm/lib/Foo". The forwarding targets in //llvm/lib/Target expect this +# different behavior. +group("AVR") { + deps = [ + ":LLVMAVRCodeGen", + "AsmParser", + "Disassembler", + "MCTargetDesc", + "TargetInfo", + ] +} diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/AVR/Disassembler/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/Disassembler/BUILD.gn new file mode 100644 index 0000000..ce678f9 --- /dev/null +++ b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/Disassembler/BUILD.gn @@ -0,0 +1,23 @@ +import("//llvm/utils/TableGen/tablegen.gni") + +tablegen("AVRGenDisassemblerTables") { + visibility = [ ":Disassembler" ] + args = [ "-gen-disassembler" ] + td_file = "../AVR.td" +} + +static_library("Disassembler") { + output_name = "LLVMAVRDisassembler" + deps = [ + ":AVRGenDisassemblerTables", + "//llvm/lib/MC/MCDisassembler", + "//llvm/lib/Support", + "//llvm/lib/Target/AVR:LLVMAVRCodeGen", + "//llvm/lib/Target/AVR/MCTargetDesc", + "//llvm/lib/Target/AVR/TargetInfo", + ] + include_dirs = [ ".." ] + sources = [ + "AVRDisassembler.cpp", + ] +} diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/AVR/MCTargetDesc/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/MCTargetDesc/BUILD.gn new file mode 100644 index 0000000..d2d5399 --- /dev/null +++ b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/MCTargetDesc/BUILD.gn @@ -0,0 +1,64 @@ +import("//llvm/utils/TableGen/tablegen.gni") + +tablegen("AVRGenAsmWriter") { + visibility = [ ":MCTargetDesc" ] + args = [ "-gen-asm-writer" ] + td_file = "../AVR.td" +} + +tablegen("AVRGenInstrInfo") { + visibility = [ ":MCTargetDesc" ] + args = [ "-gen-instr-info" ] + td_file = "../AVR.td" +} + +tablegen("AVRGenMCCodeEmitter") { + visibility = [ ":MCTargetDesc" ] + args = [ "-gen-emitter" ] + td_file = "../AVR.td" +} + +tablegen("AVRGenRegisterInfo") { + visibility = [ ":MCTargetDesc" ] + args = [ "-gen-register-info" ] + td_file = "../AVR.td" +} + +tablegen("AVRGenSubtargetInfo") { + visibility = [ ":MCTargetDesc" ] + args = [ "-gen-subtarget" ] + td_file = "../AVR.td" +} + +static_library("MCTargetDesc") { + output_name = "LLVMAVRDesc" + + # This should contain tablegen targets generating .inc files included + # by other targets. .inc files only used by .cpp files in this directory + # should be in deps instead. + public_deps = [ + ":AVRGenInstrInfo", + ":AVRGenRegisterInfo", + ":AVRGenSubtargetInfo", + ] + deps = [ + ":AVRGenAsmWriter", + ":AVRGenMCCodeEmitter", + "//llvm/lib/MC", + "//llvm/lib/Support", + "//llvm/lib/Target/AVR/TargetInfo", + ] + include_dirs = [ ".." ] + sources = [ + "AVRAsmBackend.cpp", + "AVRELFObjectWriter.cpp", + "AVRELFStreamer.cpp", + "AVRInstPrinter.cpp", + "AVRMCAsmInfo.cpp", + "AVRMCCodeEmitter.cpp", + "AVRMCELFStreamer.cpp", + "AVRMCExpr.cpp", + "AVRMCTargetDesc.cpp", + "AVRTargetStreamer.cpp", + ] +} diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/AVR/TargetInfo/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/TargetInfo/BUILD.gn new file mode 100644 index 0000000..e069cac --- /dev/null +++ b/llvm/utils/gn/secondary/llvm/lib/Target/AVR/TargetInfo/BUILD.gn @@ -0,0 +1,10 @@ +static_library("TargetInfo") { + output_name = "LLVMAVRInfo" + deps = [ + "//llvm/lib/Support", + ] + include_dirs = [ ".." ] + sources = [ + "AVRTargetInfo.cpp", + ] +} diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni b/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni index 94111f7..11cbb01 100644 --- a/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni +++ b/llvm/utils/gn/secondary/llvm/lib/Target/targets.gni @@ -23,6 +23,7 @@ if (llvm_targets_to_build == "host") { "AArch64", "AMDGPU", "ARM", + "AVR", "BPF", "Hexagon", "Lanai", @@ -51,6 +52,8 @@ foreach(target, llvm_targets_to_build) { # Nothing to do. } else if (target == "ARM") { llvm_build_ARM = true + } else if (target == "AVR") { + # Nothing to do. } else if (target == "BPF") { llvm_build_BPF = true } else if (target == "Hexagon") {