[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