[clang] 29b7295 - [clang][cmake] Sanitize CLANG_BOLT values (#126768)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 13 22:20:33 PST 2025
Author: serge-sans-paille
Date: 2025-02-14T06:20:30Z
New Revision: 29b7295d3a67ae236e99312efefb7c04753434ef
URL: https://github.com/llvm/llvm-project/commit/29b7295d3a67ae236e99312efefb7c04753434ef
DIFF: https://github.com/llvm/llvm-project/commit/29b7295d3a67ae236e99312efefb7c04753434ef.diff
LOG: [clang][cmake] Sanitize CLANG_BOLT values (#126768)
This avoids failing later in the build process.
Added:
Modified:
clang/tools/driver/CMakeLists.txt
Removed:
################################################################################
diff --git a/clang/tools/driver/CMakeLists.txt b/clang/tools/driver/CMakeLists.txt
index ad336fcc45b60..5d7962769014a 100644
--- a/clang/tools/driver/CMakeLists.txt
+++ b/clang/tools/driver/CMakeLists.txt
@@ -23,10 +23,14 @@ if(CLANG_PLUGIN_SUPPORT)
set(support_plugins SUPPORT_PLUGINS)
endif()
+set(CLANG_BOLT_ALLOWLIST INSTRUMENT PERF LBR)
set(CLANG_BOLT OFF CACHE STRING "Apply BOLT optimization to Clang. \
- May be specified as Instrument or Perf or LBR to use a particular profiling \
+May be specified as one of ${CLANG_BOLT_ALLOWLIST} to use a particular profiling \
mechanism.")
string(TOUPPER "${CLANG_BOLT}" CLANG_BOLT)
+if (CLANG_BOLT AND NOT CLANG_BOLT IN_LIST CLANG_BOLT_ALLOWLIST)
+ message(FATAL_ERROR "Specified CLANG_BOLT value '${CLANG_BOLT}' is not one of ${CLANG_BOLT_ALLOWLIST}.")
+endif()
if (CLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED)
set(CLANG_BOLT_DEPS clear-bolt-fdata llvm-bolt llvm-readobj)
More information about the cfe-commits
mailing list