[llvm] r352638 - gn build: Add BPF target.
Peter Collingbourne via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 30 10:04:09 PST 2019
Author: pcc
Date: Wed Jan 30 10:04:08 2019
New Revision: 352638
URL: http://llvm.org/viewvc/llvm-project?rev=352638&view=rev
Log:
gn build: Add BPF target.
Differential Revision: https://reviews.llvm.org/D57436
Added:
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/AsmParser/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/AsmParser/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/Disassembler/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/Disassembler/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/InstPrinter/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/InstPrinter/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/
llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/BUILD.gn
Modified:
llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/AsmParser/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/AsmParser/BUILD.gn?rev=352638&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/AsmParser/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/AsmParser/BUILD.gn Wed Jan 30 10:04:08 2019
@@ -0,0 +1,23 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("BPFGenAsmMatcher") {
+ visibility = [ ":AsmParser" ]
+ args = [ "-gen-asm-matcher" ]
+ td_file = "../BPF.td"
+}
+
+static_library("AsmParser") {
+ output_name = "LLVMBPFAsmParser"
+ deps = [
+ ":BPFGenAsmMatcher",
+ "//llvm/lib/MC",
+ "//llvm/lib/MC/MCParser",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target/BPF/MCTargetDesc",
+ "//llvm/lib/Target/BPF/TargetInfo",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "BPFAsmParser.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn?rev=352638&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn Wed Jan 30 10:04:08 2019
@@ -0,0 +1,94 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("BPFGenCallingConv") {
+ visibility = [ ":LLVMBPFCodeGen" ]
+ args = [ "-gen-callingconv" ]
+ td_file = "BPF.td"
+}
+
+tablegen("BPFGenDAGISel") {
+ visibility = [ ":LLVMBPFCodeGen" ]
+ args = [ "-gen-dag-isel" ]
+ td_file = "BPF.td"
+}
+
+tablegen("BPFGenFastISel") {
+ visibility = [ ":LLVMBPFCodeGen" ]
+ args = [ "-gen-fast-isel" ]
+ td_file = "BPF.td"
+}
+
+tablegen("BPFGenGlobalISel") {
+ visibility = [ ":LLVMBPFCodeGen" ]
+ args = [ "-gen-global-isel" ]
+ td_file = "BPF.td"
+}
+
+tablegen("BPFGenMCPseudoLowering") {
+ visibility = [ ":LLVMBPFCodeGen" ]
+ args = [ "-gen-pseudo-lowering" ]
+ td_file = "BPF.td"
+}
+
+tablegen("BPFGenRegisterBank") {
+ visibility = [ ":LLVMBPFCodeGen" ]
+ args = [ "-gen-register-bank" ]
+ td_file = "BPF.td"
+}
+
+static_library("LLVMBPFCodeGen") {
+ deps = [
+ ":BPFGenCallingConv",
+ ":BPFGenDAGISel",
+ ":BPFGenFastISel",
+ ":BPFGenGlobalISel",
+ ":BPFGenMCPseudoLowering",
+ ":BPFGenRegisterBank",
+ "InstPrinter",
+ "MCTargetDesc",
+ "TargetInfo",
+ "//llvm/include/llvm/Config:llvm-config",
+ "//llvm/lib/Analysis",
+ "//llvm/lib/CodeGen",
+ "//llvm/lib/CodeGen/AsmPrinter",
+ "//llvm/lib/CodeGen/GlobalISel",
+ "//llvm/lib/CodeGen/SelectionDAG",
+ "//llvm/lib/IR",
+ "//llvm/lib/MC",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target",
+ ]
+ include_dirs = [ "." ]
+ sources = [
+ "BPFAsmPrinter.cpp",
+ "BPFFrameLowering.cpp",
+ "BPFISelDAGToDAG.cpp",
+ "BPFISelLowering.cpp",
+ "BPFInstrInfo.cpp",
+ "BPFMCInstLower.cpp",
+ "BPFMIChecking.cpp",
+ "BPFMIPeephole.cpp",
+ "BPFRegisterInfo.cpp",
+ "BPFSelectionDAGInfo.cpp",
+ "BPFSubtarget.cpp",
+ "BPFTargetMachine.cpp",
+ "BTFDebug.cpp",
+ ]
+}
+
+# This is a bit different from most build files: Due to this group
+# having the directory's name, "//llvm/lib/Target/BPF" 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("BPF") {
+ deps = [
+ ":LLVMBPFCodeGen",
+ "AsmParser",
+ "Disassembler",
+ "InstPrinter",
+ "MCTargetDesc",
+ "TargetInfo",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/Disassembler/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/Disassembler/BUILD.gn?rev=352638&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/Disassembler/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/Disassembler/BUILD.gn Wed Jan 30 10:04:08 2019
@@ -0,0 +1,22 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("BPFGenDisassemblerTables") {
+ visibility = [ ":Disassembler" ]
+ args = [ "-gen-disassembler" ]
+ td_file = "../BPF.td"
+}
+
+static_library("Disassembler") {
+ output_name = "LLVMBPFDisassembler"
+ deps = [
+ ":BPFGenDisassemblerTables",
+ "//llvm/lib/MC",
+ "//llvm/lib/MC/MCDisassembler",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target/BPF/MCTargetDesc",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "BPFDisassembler.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/InstPrinter/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/InstPrinter/BUILD.gn?rev=352638&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/InstPrinter/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/InstPrinter/BUILD.gn Wed Jan 30 10:04:08 2019
@@ -0,0 +1,24 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("BPFGenAsmWriter") {
+ visibility = [ ":InstPrinter" ]
+ args = [ "-gen-asm-writer" ]
+ td_file = "../BPF.td"
+}
+
+static_library("InstPrinter") {
+ output_name = "LLVMBPFAsmPrinter"
+ deps = [
+ ":BPFGenAsmWriter",
+ "//llvm/lib/MC",
+ "//llvm/lib/Support",
+
+ # MCTargetDesc depends on InstPrinter, so we can't depend on the full
+ # MCTargetDesc target here: it would form a cycle.
+ "//llvm/lib/Target/BPF/MCTargetDesc:tablegen",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "BPFInstPrinter.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/BUILD.gn?rev=352638&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/MCTargetDesc/BUILD.gn Wed Jan 30 10:04:08 2019
@@ -0,0 +1,60 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("BPFGenInstrInfo") {
+ visibility = [ ":tablegen" ]
+ args = [ "-gen-instr-info" ]
+ td_file = "../BPF.td"
+}
+
+tablegen("BPFGenMCCodeEmitter") {
+ visibility = [ ":tablegen" ]
+ args = [ "-gen-emitter" ]
+ td_file = "../BPF.td"
+}
+
+tablegen("BPFGenRegisterInfo") {
+ visibility = [ ":tablegen" ]
+ args = [ "-gen-register-info" ]
+ td_file = "../BPF.td"
+}
+
+tablegen("BPFGenSubtargetInfo") {
+ visibility = [ ":tablegen" ]
+ args = [ "-gen-subtarget" ]
+ td_file = "../BPF.td"
+}
+
+group("tablegen") {
+ visibility = [
+ ":MCTargetDesc",
+ "../InstPrinter",
+ "../TargetInfo",
+ ]
+ public_deps = [
+ ":BPFGenInstrInfo",
+ ":BPFGenMCCodeEmitter",
+ ":BPFGenRegisterInfo",
+ ":BPFGenSubtargetInfo",
+ ]
+}
+
+static_library("MCTargetDesc") {
+ output_name = "LLVMBPFDesc"
+ public_deps = [
+ ":tablegen",
+ ]
+ deps = [
+ "//llvm/lib/MC",
+ "//llvm/lib/MC/MCDisassembler",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target/BPF/InstPrinter",
+ "//llvm/lib/Target/BPF/TargetInfo",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "BPFAsmBackend.cpp",
+ "BPFELFObjectWriter.cpp",
+ "BPFMCCodeEmitter.cpp",
+ "BPFMCTargetDesc.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/BUILD.gn?rev=352638&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/TargetInfo/BUILD.gn Wed Jan 30 10:04:08 2019
@@ -0,0 +1,14 @@
+static_library("TargetInfo") {
+ output_name = "LLVMBPFInfo"
+ deps = [
+ "//llvm/lib/Support",
+
+ # MCTargetDesc depends on TargetInfo, so we can't depend on the full
+ # MCTargetDesc target here: it would form a cycle.
+ "//llvm/lib/Target/BPF/MCTargetDesc:tablegen",
+ ]
+ include_dirs = [ ".." ]
+ sources = [
+ "BPFTargetInfo.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=352638&r1=352637&r2=352638&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni (original)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/Target/targets.gni Wed Jan 30 10:04:08 2019
@@ -22,6 +22,7 @@ if (llvm_targets_to_build == "host") {
llvm_targets_to_build = [
"AArch64",
"ARM",
+ "BPF",
"PowerPC",
"WebAssembly",
"X86",
@@ -32,6 +33,7 @@ if (llvm_targets_to_build == "host") {
# and remember which targets are built.
llvm_build_AArch64 = false
llvm_build_ARM = false
+llvm_build_BPF = false
llvm_build_PowerPC = false
llvm_build_WebAssembly = false
llvm_build_X86 = false
@@ -40,6 +42,8 @@ foreach(target, llvm_targets_to_build) {
llvm_build_AArch64 = true
} else if (target == "ARM") {
llvm_build_ARM = true
+ } else if (target == "BPF") {
+ llvm_build_BPF = true
} else if (target == "PowerPC") {
llvm_build_PowerPC = true
} else if (target == "WebAssembly") {
More information about the llvm-commits
mailing list