[clang] 7fca1f8 - [Clang][CMake] Use IRPGO instead of FE PGO for Cmake Caches (#155957)

via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 29 10:06:29 PDT 2025


Author: Aiden Grossman
Date: 2025-08-29T10:06:26-07:00
New Revision: 7fca1f841b4c226d50ab7bad64de5db225d4193b

URL: https://github.com/llvm/llvm-project/commit/7fca1f841b4c226d50ab7bad64de5db225d4193b
DIFF: https://github.com/llvm/llvm-project/commit/7fca1f841b4c226d50ab7bad64de5db225d4193b.diff

LOG: [Clang][CMake] Use IRPGO instead of FE PGO for Cmake Caches (#155957)

Currently the clang CMake caches use FE PGO for instrumentation
(LLVM_BUILD_INSTRUMENTED=ON). However, IRPGO is generally regarded as
better for performance. I am measuring about a 1.5% performance gain
when building libLLVMSupport.a using this configuration versus what
existed before this commit. I would suspect the gains are larger on
other platforms like Windows where we cannot subsume any gains using
PLO.

Added: 
    

Modified: 
    clang/cmake/caches/PGO.cmake

Removed: 
    


################################################################################
diff  --git a/clang/cmake/caches/PGO.cmake b/clang/cmake/caches/PGO.cmake
index 15bc755d110d1..d6471160037c1 100644
--- a/clang/cmake/caches/PGO.cmake
+++ b/clang/cmake/caches/PGO.cmake
@@ -5,7 +5,7 @@ set(LLVM_ENABLE_PROJECTS "clang;lld" CACHE STRING "")
 set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "")
 
 set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "")
-set(BOOTSTRAP_LLVM_BUILD_INSTRUMENTED ON CACHE BOOL "")
+set(BOOTSTRAP_LLVM_BUILD_INSTRUMENTED IR CACHE BOOL "")
 set(CLANG_BOOTSTRAP_TARGETS
   generate-profdata
   stage2


        


More information about the cfe-commits mailing list