[gn build] Manually port dbed061b more
authorNico Weber <thakis@chromium.org>
Wed, 25 Aug 2021 01:01:20 +0000 (21:01 -0400)
committerNico Weber <thakis@chromium.org>
Wed, 25 Aug 2021 01:02:13 +0000 (21:02 -0400)
llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
llvm/utils/gn/secondary/llvm/lib/Target/BUILD.gn
llvm/utils/gn/secondary/llvm/lib/Target/targets_with_mcas.gni [new file with mode: 0644]
llvm/utils/gn/secondary/llvm/tools/llvm-mca/BUILD.gn

index 1e4fb78..172d114 100644 (file)
@@ -2,6 +2,7 @@ import("//llvm/lib/DebugInfo/PDB/enable_dia.gni")
 import("//llvm/lib/Target/targets.gni")
 import("//llvm/lib/Target/targets_with_asm_parsers.gni")
 import("//llvm/lib/Target/targets_with_disassemblers.gni")
+import("//llvm/lib/Target/targets_with_mcas.gni")
 import("//llvm/triples.gni")
 import("//llvm/utils/gn/build/buildflags.gni")
 import("//llvm/utils/gn/build/libs/edit/enable.gni")
@@ -437,7 +438,7 @@ write_target_def_file("Targets.def") {
 write_target_def_file("TargetMCAs.def") {
   key = "LLVM_ENUM_TARGETMCAS"
   value = "LLVM_TARGETMCA"
-  all_targets = []
+  all_targets = targets_with_mcas
 }
 
 group("write_target_def_files") {
index 51dfc4f..a953e1b 100644 (file)
@@ -1,6 +1,7 @@
 import("//llvm/lib/Target/targets.gni")
 import("//llvm/lib/Target/targets_with_asm_parsers.gni")
 import("//llvm/lib/Target/targets_with_disassemblers.gni")
+import("//llvm/lib/Target/targets_with_mcas.gni")
 
 # This build file has two parts:
 # 1. The actual //llvm/lib/Target build target, which is just a static
@@ -81,3 +82,10 @@ group("AllTargetsInfos") {
     deps += [ "$target/TargetInfo" ]
   }
 }
+
+group("AllTargetsMCAs") {
+  deps = []
+  foreach(target, targets_with_mcas) {
+    deps += [ "$target/MCA" ]
+  }
+}
diff --git a/llvm/utils/gn/secondary/llvm/lib/Target/targets_with_mcas.gni b/llvm/utils/gn/secondary/llvm/lib/Target/targets_with_mcas.gni
new file mode 100644 (file)
index 0000000..21d2b4f
--- /dev/null
@@ -0,0 +1,7 @@
+import("//llvm/lib/Target/targets.gni")
+
+targets_with_mcas = []
+if (llvm_build_AMDGPU) {
+  # AMDGPU is currently the only target with an MCA.
+  targets_with_mcas += [ "AMDGPU" ]
+}
index 0b6b2bc..5717070 100644 (file)
@@ -10,6 +10,7 @@ executable("llvm-mca") {
     "//llvm/lib/Target:AllTargetsDescs",
     "//llvm/lib/Target:AllTargetsDisassemblers",
     "//llvm/lib/Target:AllTargetsInfos",
+    "//llvm/lib/Target:AllTargetsMCAs",
   ]
   include_dirs = [
     ".",