[flang-commits] [clang] [flang] [llvm] [flang][cmake][perf-training] Optimize flang with PGO and BOLT (PR #198863)

Paul Osmialowski via flang-commits flang-commits at lists.llvm.org
Tue Jun 16 05:42:26 PDT 2026


================
@@ -126,6 +145,25 @@ if ("flang-rt" IN_LIST LLVM_ENABLE_RUNTIMES AND NOT FLANG_STANDALONE_BUILD)
   list(APPEND FLANG_TEST_DEPENDS flang-rt-test-deps)
 endif ()
 
+set(FLANG_BOLT_ALLOWLIST INSTRUMENT PERF LBR)
+set(FLANG_BOLT OFF CACHE STRING "Apply BOLT optimization to flang. \
+May be specified as one of ${FLANG_BOLT_ALLOWLIST} to use a particular profiling \
+  mechanism.")
+string(TOUPPER "${FLANG_BOLT}" FLANG_BOLT)
+if (FLANG_BOLT AND NOT FLANG_BOLT IN_LIST FLANG_BOLT_ALLOWLIST)
+    message(FATAL_ERROR "Specified FLANG_BOLT value '${FLANG_BOLT}' is not one of ${FLANG_BOLT_ALLOWLIST}.")
+endif()
+
+if (FLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED)
+  list(APPEND FLANG_TEST_DEPENDS
+    clear-flang-bolt-fdata
+    llvm-bolt
+    clang-bolt)
+  if (NOT FLANG_BOLT STREQUAL "INSTRUMENT")
+    list(APPEND FLANG_BOLT_DEPS clear-flang-perf-data)
----------------
pawosm-arm wrote:

Ah, this is a residue of a piece of code I had to remove when I realized I have no means for testing it. To be removed.

https://github.com/llvm/llvm-project/pull/198863


More information about the flang-commits mailing list