[llvm] [llvm-driver] Add driver aliases for c++filt and gcov-tool (PR #92803)

Jordan Rupprecht via llvm-commits llvm-commits at lists.llvm.org
Tue May 21 09:28:26 PDT 2024


https://github.com/rupprecht updated https://github.com/llvm/llvm-project/pull/92803

>From b413c00340c82b4f81790da9f705b8ccc3b820e6 Mon Sep 17 00:00:00 2001
From: Jordan Rupprecht <rupprecht at google.com>
Date: Mon, 20 May 2024 18:32:23 +0000
Subject: [PATCH 1/2] [llvm-driver] Add driver aliases for c++filt
 (llvm-cxxfilt) and gcov-tool (llvm-profdata)

Similar to 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162, this allows the driver to respond to `c++filt` and `gcov-tool`.
---
 llvm/test/tools/llvm-driver/symlink-call.test    | 2 ++
 llvm/tools/llvm-cxxfilt/CMakeLists.txt           | 4 ++++
 llvm/tools/llvm-profdata/CMakeLists.txt          | 4 ++++
 utils/bazel/llvm-project-overlay/llvm/driver.bzl | 2 ++
 4 files changed, 12 insertions(+)

diff --git a/llvm/test/tools/llvm-driver/symlink-call.test b/llvm/test/tools/llvm-driver/symlink-call.test
index eeedf9edc73f2..ca6098216b13a 100644
--- a/llvm/test/tools/llvm-driver/symlink-call.test
+++ b/llvm/test/tools/llvm-driver/symlink-call.test
@@ -14,6 +14,8 @@
 # RUN: %t/cxxfilt-15 --help | FileCheck %s
 # RUN: ln -s %llvm %t/cxxfilt-15.exe
 # RUN: %t/cxxfilt-15.exe --help | FileCheck %s
+# RUN: ln -s %llvm %t/c++filt
+# RUN: %t/c++filt --help | FileCheck %s
 
 # RUN: ln -s %llvm %t/llvm-15
 # RUN: %t/llvm-15 cxxfilt --help | FileCheck %s
diff --git a/llvm/tools/llvm-cxxfilt/CMakeLists.txt b/llvm/tools/llvm-cxxfilt/CMakeLists.txt
index cbc4c2db61543..a644baffdd90e 100644
--- a/llvm/tools/llvm-cxxfilt/CMakeLists.txt
+++ b/llvm/tools/llvm-cxxfilt/CMakeLists.txt
@@ -17,6 +17,10 @@ add_llvm_tool(llvm-cxxfilt
   GENERATE_DRIVER
   )
 
+if(LLVM_TOOL_LLVM_DRIVER_BUILD)
+  set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_HIDDEN_TOOL_ALIASES_llvm-cxxfilt c++filt)
+endif()
+
 if(LLVM_INSTALL_BINUTILS_SYMLINKS)
   add_llvm_tool_symlink(c++filt llvm-cxxfilt)
 endif()
diff --git a/llvm/tools/llvm-profdata/CMakeLists.txt b/llvm/tools/llvm-profdata/CMakeLists.txt
index 25cf143337ad4..40731b8fe2532 100644
--- a/llvm/tools/llvm-profdata/CMakeLists.txt
+++ b/llvm/tools/llvm-profdata/CMakeLists.txt
@@ -12,3 +12,7 @@ add_llvm_tool(llvm-profdata
   intrinsics_gen
   GENERATE_DRIVER
   )
+
+if(LLVM_TOOL_LLVM_DRIVER_BUILD)
+  set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_HIDDEN_TOOL_ALIASES_llvm-profdata gcov-tool)
+endif()
diff --git a/utils/bazel/llvm-project-overlay/llvm/driver.bzl b/utils/bazel/llvm-project-overlay/llvm/driver.bzl
index 10796d9198343..0d568ebf5a91e 100644
--- a/utils/bazel/llvm-project-overlay/llvm/driver.bzl
+++ b/utils/bazel/llvm-project-overlay/llvm/driver.bzl
@@ -39,8 +39,10 @@ _EXTRA_ALIASES = {
     "clang": ["clang++", "clang-cl", "clang-cpp"],
     "lld": ["ld", "lld-link", "ld.lld", "ld64.lld", "wasm-ld"],
     "llvm-ar": ["ranlib", "lib", "dlltool"],
+    "llvm-cxxfilt": ["c++filt"],
     "llvm-objcopy": ["bitcode-strip", "install-name-tool", "strip"],
     "llvm-objdump": ["otool"],
+    "llvm-profdata": ["gcov-tool"],
     "llvm-rc": ["windres"],
     "llvm-readobj": ["readelf"],
     "llvm-symbolizer": ["addr2line"],

>From 6078a009364a15eca8e5f0081e03a0f211097ae3 Mon Sep 17 00:00:00 2001
From: Jordan Rupprecht <rupprecht at google.com>
Date: Tue, 21 May 2024 16:28:15 +0000
Subject: [PATCH 2/2] Undo gcov-tool portion

---
 llvm/tools/llvm-profdata/CMakeLists.txt          | 4 ----
 utils/bazel/llvm-project-overlay/llvm/driver.bzl | 1 -
 2 files changed, 5 deletions(-)

diff --git a/llvm/tools/llvm-profdata/CMakeLists.txt b/llvm/tools/llvm-profdata/CMakeLists.txt
index 40731b8fe2532..25cf143337ad4 100644
--- a/llvm/tools/llvm-profdata/CMakeLists.txt
+++ b/llvm/tools/llvm-profdata/CMakeLists.txt
@@ -12,7 +12,3 @@ add_llvm_tool(llvm-profdata
   intrinsics_gen
   GENERATE_DRIVER
   )
-
-if(LLVM_TOOL_LLVM_DRIVER_BUILD)
-  set_property(GLOBAL APPEND PROPERTY LLVM_DRIVER_HIDDEN_TOOL_ALIASES_llvm-profdata gcov-tool)
-endif()
diff --git a/utils/bazel/llvm-project-overlay/llvm/driver.bzl b/utils/bazel/llvm-project-overlay/llvm/driver.bzl
index 0d568ebf5a91e..a57a14ebd5f8c 100644
--- a/utils/bazel/llvm-project-overlay/llvm/driver.bzl
+++ b/utils/bazel/llvm-project-overlay/llvm/driver.bzl
@@ -42,7 +42,6 @@ _EXTRA_ALIASES = {
     "llvm-cxxfilt": ["c++filt"],
     "llvm-objcopy": ["bitcode-strip", "install-name-tool", "strip"],
     "llvm-objdump": ["otool"],
-    "llvm-profdata": ["gcov-tool"],
     "llvm-rc": ["windres"],
     "llvm-readobj": ["readelf"],
     "llvm-symbolizer": ["addr2line"],



More information about the llvm-commits mailing list