Skip to content

Commit 6d92bb5

Browse files
authored
Only use PGO data on recent enough clang
Contributes to #34649 and fixes the Codespaces prebuild.
1 parent a12e429 commit 6d92bb5

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/coreclr/pgosupport.cmake

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,17 @@ function(add_pgo TargetName)
5252
add_compile_definitions(WITH_NATIVE_PGO)
5353
else(CLR_CMAKE_HOST_WIN32)
5454
if(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELEASE OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELWITHDEBINFO)
55-
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16))
55+
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 20))
5656
if(HAVE_LTO)
5757
target_compile_options(${TargetName} PRIVATE -flto -fprofile-instr-use=${ProfilePath} -Wno-profile-instr-out-of-date -Wno-profile-instr-unprofiled)
5858
set_property(TARGET ${TargetName} APPEND_STRING PROPERTY LINK_FLAGS " -flto -fprofile-instr-use=${ProfilePath}")
5959
add_compile_definitions(WITH_NATIVE_PGO)
6060
else(HAVE_LTO)
6161
message(WARNING "LTO is not supported, skipping profile guided optimizations")
6262
endif(HAVE_LTO)
63-
else((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16))
64-
message(WARNING "PGO is not supported; Clang 16 or later is required for profile guided optimizations")
65-
endif((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16))
63+
else((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 20))
64+
message(WARNING "PGO is not supported; Clang 20 or later is required for profile guided optimizations")
65+
endif((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 20))
6666
endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELEASE OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELWITHDEBINFO)
6767
endif(CLR_CMAKE_HOST_WIN32)
6868
endif(NOT EXISTS ${ProfilePath})

0 commit comments

Comments
 (0)