[llvm] r350184 - [gn build] Add some llvm/tools: llvm-exegesis, llvm-extract, llvm-link
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 31 15:48:23 PST 2018
Author: nico
Date: Mon Dec 31 15:48:22 2018
New Revision: 350184
URL: http://llvm.org/viewvc/llvm-project?rev=350184&view=rev
Log:
[gn build] Add some llvm/tools: llvm-exegesis, llvm-extract, llvm-link
Also add build file for dependency llvm/lib/ExecutionEngine/MCJIT.
The exegesis stuff is pretty hairy and knows a lot about Target internals (in
general, not specifically in the GN build). I put the llvm-tblgen -gen-exegesis
call in llvm/tools/llvm-exegesis/lib/X86, instead of in llvm/lib/Target/X86
where it is in CMake land, and asked on D52932 why it's in that place in the
CMake build.
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56167
Added:
llvm/trunk/utils/gn/secondary/llvm/lib/ExecutionEngine/MCJIT/
llvm/trunk/utils/gn/secondary/llvm/lib/ExecutionEngine/MCJIT/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/X86/
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/X86/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-extract/
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-extract/BUILD.gn
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-link/
llvm/trunk/utils/gn/secondary/llvm/tools/llvm-link/BUILD.gn
Modified:
llvm/trunk/utils/gn/secondary/BUILD.gn
Modified: llvm/trunk/utils/gn/secondary/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/BUILD.gn?rev=350184&r1=350183&r2=350184&view=diff
==============================================================================
--- llvm/trunk/utils/gn/secondary/BUILD.gn (original)
+++ llvm/trunk/utils/gn/secondary/BUILD.gn Mon Dec 31 15:48:22 2018
@@ -5,6 +5,9 @@ group("default") {
deps = [
"//clang/test",
"//lld/test",
+ "//llvm/tools/llvm-exegesis",
+ "//llvm/tools/llvm-extract",
+ "//llvm/tools/llvm-link",
"//llvm/tools/llvm-rc",
"//llvm/tools/llvm-rtdyld",
"//llvm/tools/llvm-undname",
Added: llvm/trunk/utils/gn/secondary/llvm/lib/ExecutionEngine/MCJIT/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/lib/ExecutionEngine/MCJIT/BUILD.gn?rev=350184&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/lib/ExecutionEngine/MCJIT/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/lib/ExecutionEngine/MCJIT/BUILD.gn Mon Dec 31 15:48:22 2018
@@ -0,0 +1,14 @@
+static_library("MCJIT") {
+ output_name = "LLVMMCJIT"
+ deps = [
+ "//llvm/lib/ExecutionEngine",
+ "//llvm/lib/ExecutionEngine/RuntimeDyld",
+ "//llvm/lib/IR",
+ "//llvm/lib/Object",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target",
+ ]
+ sources = [
+ "MCJIT.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/BUILD.gn?rev=350184&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/BUILD.gn Mon Dec 31 15:48:22 2018
@@ -0,0 +1,15 @@
+executable("llvm-exegesis") {
+ deps = [
+ "lib",
+ "//llvm/lib/CodeGen",
+ "//llvm/lib/ExecutionEngine",
+ "//llvm/lib/ExecutionEngine/MCJIT",
+ "//llvm/lib/MC",
+ "//llvm/lib/Object",
+ "//llvm/lib/Support",
+ "//llvm/lib/Target:NativeTarget",
+ ]
+ sources = [
+ "llvm-exegesis.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn?rev=350184&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn Mon Dec 31 15:48:22 2018
@@ -0,0 +1,41 @@
+import("//llvm/lib/Target/targets.gni")
+
+static_library("lib") {
+ output_name = "LLVMExegesis"
+ deps = [
+ "//llvm/lib/Analysis",
+ "//llvm/lib/CodeGen",
+ "//llvm/lib/ExecutionEngine",
+ "//llvm/lib/ExecutionEngine/MCJIT",
+ "//llvm/lib/IR",
+ "//llvm/lib/MC",
+ "//llvm/lib/Object",
+ "//llvm/lib/ObjectYAML",
+ "//llvm/lib/Support",
+ ]
+ sources = [
+ "Analysis.cpp",
+ "Assembler.cpp",
+ "BenchmarkResult.cpp",
+ "BenchmarkRunner.cpp",
+ "Clustering.cpp",
+ "CodeTemplate.cpp",
+ "Latency.cpp",
+ "LlvmState.cpp",
+ "MCInstrDescView.cpp",
+ "PerfHelper.cpp",
+ "RegisterAliasing.cpp",
+ "RegisterValue.cpp",
+ "SnippetGenerator.cpp",
+ "Target.cpp",
+ "Uops.cpp",
+ ]
+
+ # FIXME: Add this once llvm/lib/Target/AArch64 exists.
+ #if (llvm_build_AArch64) {
+ # deps += [ "AArch64" ]
+ #}
+ if (llvm_build_X86) {
+ deps += [ "X86" ]
+ }
+}
Added: llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/X86/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/X86/BUILD.gn?rev=350184&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/X86/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/X86/BUILD.gn Mon Dec 31 15:48:22 2018
@@ -0,0 +1,21 @@
+import("//llvm/utils/TableGen/tablegen.gni")
+
+tablegen("X86GenExegesis") {
+ args = [ "-gen-exegesis" ]
+ td_file = "//llvm/lib/Target/X86/X86.td"
+}
+
+static_library("X86") {
+ output_name = "LLVMExegesisX86"
+ deps = [
+ ":X86GenExegesis",
+
+ # Exegesis reaches inside the Target/X86 tablegen internals and must
+ # depend on this Target/X86-internal build target.
+ "//llvm/lib/Target/X86/MCTargetDesc",
+ ]
+ sources = [
+ "Target.cpp",
+ ]
+ include_dirs = [ "//llvm/lib/Target/X86" ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/tools/llvm-extract/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-extract/BUILD.gn?rev=350184&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/tools/llvm-extract/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/tools/llvm-extract/BUILD.gn Mon Dec 31 15:48:22 2018
@@ -0,0 +1,12 @@
+executable("llvm-extract") {
+ deps = [
+ "//llvm/lib/Bitcode/Writer",
+ "//llvm/lib/IR",
+ "//llvm/lib/IRReader",
+ "//llvm/lib/Support",
+ "//llvm/lib/Transforms/IPO",
+ ]
+ sources = [
+ "llvm-extract.cpp",
+ ]
+}
Added: llvm/trunk/utils/gn/secondary/llvm/tools/llvm-link/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-link/BUILD.gn?rev=350184&view=auto
==============================================================================
--- llvm/trunk/utils/gn/secondary/llvm/tools/llvm-link/BUILD.gn (added)
+++ llvm/trunk/utils/gn/secondary/llvm/tools/llvm-link/BUILD.gn Mon Dec 31 15:48:22 2018
@@ -0,0 +1,16 @@
+executable("llvm-link") {
+ deps = [
+ "//llvm/lib/Bitcode/Reader",
+ "//llvm/lib/Bitcode/Writer",
+ "//llvm/lib/IR",
+ "//llvm/lib/IRReader",
+ "//llvm/lib/Linker",
+ "//llvm/lib/Object",
+ "//llvm/lib/Support",
+ "//llvm/lib/Transforms/IPO",
+ "//llvm/lib/Transforms/Utils",
+ ]
+ sources = [
+ "llvm-link.cpp",
+ ]
+}
More information about the llvm-commits
mailing list