From 9573345deca956309ef65aa5556e1d82ea9763ad Mon Sep 17 00:00:00 2001 From: Kelvin Li Date: Fri, 15 May 2026 15:32:40 -0400 Subject: [PATCH] LLVMFlang: Enable ThinLTO support Fixes: #27839 --- Modules/Compiler/LLVMFlang-Fortran.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Modules/Compiler/LLVMFlang-Fortran.cmake b/Modules/Compiler/LLVMFlang-Fortran.cmake index 7f43c18f31..914e40da7b 100644 --- a/Modules/Compiler/LLVMFlang-Fortran.cmake +++ b/Modules/Compiler/LLVMFlang-Fortran.cmake @@ -35,3 +35,16 @@ endif() set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS -fPIC) set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-shared") + +# Determine LTO support +set(_CMAKE_Fortran_IPO_SUPPORTED_BY_CMAKE NO) +set(_CMAKE_Fortran_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO) +if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 18.0) + set(_CMAKE_Fortran_IPO_SUPPORTED_BY_CMAKE YES) + set(_CMAKE_Fortran_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES) + if(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 23.0) + set(CMAKE_Fortran_COMPILE_OPTIONS_IPO "-flto") + else() + set(CMAKE_Fortran_COMPILE_OPTIONS_IPO "-flto=thin") + endif() +endif()