[llvm] r360645 - gn build: add Sparc target
David L. Jones via llvm-commits
llvm-commits at lists.llvm.org
Mon May 13 21:02:50 PDT 2019
Author: dlj
Date: Mon May 13 21:02:50 2019
New Revision: 360645
URL: http://llvm.org/viewvc/llvm-project?rev=360645&view=rev
Log:
gn build: add Sparc target
Added:
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/AsmParser/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/AsmParser/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/Disassembler/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/Disassembler/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/BUILD.gn
Modified:
llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/AsmParser/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/AsmParser/BUILD.gn?rev=360645&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/AsmParser/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/AsmParser/BUILD.gn Mon May 13 21:02:50 2019
@@ -0,0 +1,22 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("SparcGenAsmMatcher") {
+ visibility = [ ":AsmParser" ]
+ args = [ "-gen-asm-matcher" ]
+ td_file = "../Sparc.td"
+}
+
+static_library("AsmParser") {
+ output_name = "LLVMSparcAsmParser"
+ deps = [
+ ":SparcGenAsmMatcher",
+ "//llvm/lib/MC",
+ "//llvm/lib/MC/MCParser",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target/Sparc/MCTargetDesc",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "SparcAsmParser.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn?rev=360645&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn Mon May 13 21:02:50 2019
@@ -0,0 +1,62 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("SparcGenCallingConv") {
+ visibility = [ ":LLVMSparcCodeGen" ]
+ args = [ "-gen-callingconv" ]
+ td_file = "Sparc.td"
+}
+
+tablegen("SparcGenDAGISel") {
+ visibility = [ ":LLVMSparcCodeGen" ]
+ args = [ "-gen-dag-isel" ]
+ td_file = "Sparc.td"
+}
+
+static_library("LLVMSparcCodeGen") {
+ deps = [
+ ":SparcGenCallingConv",
+ ":SparcGenDAGISel",
+ "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 = [
+ "DelaySlotFiller.cpp",
+ "LeonPasses.cpp",
+ "SparcAsmPrinter.cpp",
+ "SparcInstrInfo.cpp",
+ "SparcISelDAGToDAG.cpp",
+ "SparcISelLowering.cpp",
+ "SparcFrameLowering.cpp",
+ "SparcMachineFunctionInfo.cpp",
+ "SparcRegisterInfo.cpp",
+ "SparcSubtarget.cpp",
+ "SparcTargetMachine.cpp",
+ "SparcMCInstLower.cpp",
+ "SparcTargetObjectFile.cpp",
+ ]
+}
+
+# This is a bit different from most build files: Due to this group
+# having the directory's name, "//llvm/lib/Target/Sparc" 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("Sparc") {
+ deps = [
+ ":LLVMSparcCodeGen",
+ "AsmParser",
+ "Disassembler",
+ "MCTargetDesc",
+ "TargetInfo",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/Disassembler/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/Disassembler/BUILD.gn?rev=360645&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/Disassembler/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/Disassembler/BUILD.gn Mon May 13 21:02:50 2019
@@ -0,0 +1,21 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("SparcGenDisassemblerTables") {
+ visibility = [ ":Disassembler" ]
+ args = [ "-gen-disassembler" ]
+ td_file = "../Sparc.td"
+}
+
+static_library("Disassembler") {
+ output_name = "LLVMSparcDisassembler"
+ deps = [
+ ":SparcGenDisassemblerTables",
+ "//llvm/lib/MC/MCDisassembler",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target/Sparc/MCTargetDesc",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "SparcDisassembler.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn?rev=360645&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn Mon May 13 21:02:50 2019
@@ -0,0 +1,70 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("SparcGenAsmWriter") {
+ visibility = [ ":MCTargetDesc" ]
+ args = [ "-gen-asm-writer" ]
+ td_file = "../Sparc.td"
+}
+
+tablegen("SparcGenInstrInfo") {
+ visibility = [ ":tablegen" ]
+ args = [ "-gen-instr-info" ]
+ td_file = "../Sparc.td"
+}
+
+tablegen("SparcGenMCCodeEmitter") {
+ visibility = [ ":MCTargetDesc" ]
+ args = [ "-gen-emitter" ]
+ td_file = "../Sparc.td"
+}
+
+tablegen("SparcGenRegisterInfo") {
+ visibility = [ ":tablegen" ]
+ args = [ "-gen-register-info" ]
+ td_file = "../Sparc.td"
+}
+
+tablegen("SparcGenSubtargetInfo") {
+ visibility = [ ":tablegen" ]
+ args = [ "-gen-subtarget" ]
+ td_file = "../Sparc.td"
+}
+
+# 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 on the static_library instead.
+group("tablegen") {
+ visibility = [
+ ":MCTargetDesc",
+ "../TargetInfo",
+ ]
+ public_deps = [
+ ":SparcGenInstrInfo",
+ ":SparcGenRegisterInfo",
+ ":SparcGenSubtargetInfo",
+ ]
+}
+
+static_library("MCTargetDesc") {
+ output_name = "LLVMSparcDesc"
+ public_deps = [
+ ":tablegen",
+ ]
+ deps = [
+ ":SparcGenAsmWriter",
+ ":SparcGenMCCodeEmitter",
+ "//llvm/lib/MC",
+ "//llvm/lib/Support",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "SparcAsmBackend.cpp",
+ "SparcELFObjectWriter.cpp",
+ "SparcInstPrinter.cpp",
+ "SparcMCAsmInfo.cpp",
+ "SparcMCCodeEmitter.cpp",
+ "SparcMCTargetDesc.cpp",
+ "SparcMCExpr.cpp",
+ "SparcTargetStreamer.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/BUILD.gn?rev=360645&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/Sparc/TargetInfo/BUILD.gn Mon May 13 21:02:50 2019
@@ -0,0 +1,12 @@
+static_library("TargetInfo") {
+ output_name = "LLVMSparcInfo"
+ deps = [
+ "//llvm/lib/IR",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target/Sparc/MCTargetDesc",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "SparcTargetInfo.cpp",
+ ]
+}
Modified: llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni?rev=360645&r1=360644&r2=360645&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni (original)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni Mon May 13 21:02:50 2019
@@ -25,6 +25,7 @@ if (llvm_targets_to_build == "host") {
"BPF",
"Lanai",
"PowerPC",
+ "Sparc",
"WebAssembly",
"X86",
]
@@ -45,8 +46,12 @@ foreach(target, llvm_targets_to_build) {
llvm_build_ARM = true
} else if (target == "BPF") {
llvm_build_BPF = true
+ } else if (target == "Lanai") {
+ # Nothing to do.
} else if (target == "PowerPC") {
llvm_build_PowerPC = true
+ } else if (target == "Sparc") {
+ # Nothing to do.
} else if (target == "WebAssembly") {
llvm_build_WebAssembly = true
} else if (target == "X86") {
More information about the llvm-commits
mailing list