[llvm] 4453792 - [gn] port 7daa1defd2426 (CGPluginTest)

Nico Weber via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 10 08:13:26 PDT 2025


Author: Nico Weber
Date: 2025-07-10T11:12:59-04:00
New Revision: 4453792e8dbd861a5857b3bbe56fa73d2fdbbe39

URL: https://github.com/llvm/llvm-project/commit/4453792e8dbd861a5857b3bbe56fa73d2fdbbe39
DIFF: https://github.com/llvm/llvm-project/commit/4453792e8dbd861a5857b3bbe56fa73d2fdbbe39.diff

LOG: [gn] port 7daa1defd2426 (CGPluginTest)

The test isn't passing for me locally yet, so it's not yet part
of the build.

Added: 
    llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/BUILD.gn
    llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/Plugin/BUILD.gn

Modified: 
    llvm/utils/gn/secondary/llvm/lib/Target/BUILD.gn
    llvm/utils/gn/secondary/llvm/unittests/BUILD.gn

Removed: 
    


################################################################################
diff  --git a/llvm/utils/gn/secondary/llvm/lib/Target/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Target/BUILD.gn
index 3439d25f16b2f..0ed4191315de9 100644
--- a/llvm/utils/gn/secondary/llvm/lib/Target/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/lib/Target/BUILD.gn
@@ -39,6 +39,7 @@ static_library("Target") {
     "//llvm/include/llvm/Config:write_target_def_files",
   ]
   sources = [
+    "RegisterTargetPassConfigCallback.cpp",
     "Target.cpp",
     "TargetLoweringObjectFile.cpp",
     "TargetMachine.cpp",

diff  --git a/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
index 0d01bfa980170..b8291ecf7271a 100644
--- a/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
@@ -10,6 +10,9 @@ group("unittests") {
     "Bitstream:BitstreamTests",
     "CGData:CodeGenDataTests",
     "CodeGen:CodeGenTests",
+
+    # FIXME: Figure out how to make pass.
+    # "CodeGen/CGPluginTest",
     "CodeGen/GlobalISel:GlobalISelTests",
     "DWARFLinkerParallel:DWARFLinkerParallelTests",
     "DebugInfo/BTF:DebugInfoBTFTests",

diff  --git a/llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/BUILD.gn
new file mode 100644
index 0000000000000..b8a317be2e6fa
--- /dev/null
+++ b/llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/BUILD.gn
@@ -0,0 +1,25 @@
+import("//third-party/unittest/unittest.gni")
+
+unittest("CGPluginTest") {
+  deps = [
+    "Plugin:CGTestPlugin",
+    "//llvm/lib/IR",
+    "//llvm/lib/MC",
+    "//llvm/lib/Support",
+    "//llvm/lib/Target",
+    "//llvm/lib/Target:TargetsToBuild",
+    "//llvm/lib/TargetParser",
+    "//llvm/lib/Testing/Support",
+  ]
+  sources = [
+    "PluginTest.cpp",
+    "Plugin/CodeGenTestPass.cpp",
+  ]
+
+  # Support plugins.
+  # FIXME: Disable dead stripping once other binaries are dead-stripped.
+  if (host_os != "mac" && host_os != "win") {
+    # Corresponds to export_executable_symbols() in cmake.
+    ldflags = [ "-rdynamic" ]
+  }
+}

diff  --git a/llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/Plugin/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/Plugin/BUILD.gn
new file mode 100644
index 0000000000000..c570218feef67
--- /dev/null
+++ b/llvm/utils/gn/secondary/llvm/unittests/CodeGen/CGPluginTest/Plugin/BUILD.gn
@@ -0,0 +1,16 @@
+loadable_module("CGTestPlugin") {
+  # Put plugin next to the unit test executable.
+  output_dir = "$target_out_dir/.."
+
+  sources = [
+    "Plugin.cpp",
+    "CodeGenTestPass.cpp",
+  ]
+
+  if (host_os != "mac" && host_os != "win") {
+    # The GN build currently doesn't globally pass -fPIC, but that's
+    # needed for building .so files on ELF.  Just pass it manually
+    # for loadable_modules for now.
+    cflags = [ "-fPIC" ]
+  }
+}


        


More information about the llvm-commits mailing list