[libc-commits] [libc] 46c4845 - [libc][cmake] Do not overwrite SKIP_FLAG_EXPANSION_*. (#125762)
via libc-commits
libc-commits at lists.llvm.org
Wed Feb 5 11:01:30 PST 2025
Author: lntue
Date: 2025-02-05T14:01:25-05:00
New Revision: 46c484524454b20ab1c08bf289f140025739dc5f
URL: https://github.com/llvm/llvm-project/commit/46c484524454b20ab1c08bf289f140025739dc5f
DIFF: https://github.com/llvm/llvm-project/commit/46c484524454b20ab1c08bf289f140025739dc5f.diff
LOG: [libc][cmake] Do not overwrite SKIP_FLAG_EXPANSION_*. (#125762)
So that users can set these manually if needed.
Added:
Modified:
libc/cmake/modules/LLVMLibCFlagRules.cmake
Removed:
################################################################################
diff --git a/libc/cmake/modules/LLVMLibCFlagRules.cmake b/libc/cmake/modules/LLVMLibCFlagRules.cmake
index e5b0e249c90676..7d5e73c2f12148 100644
--- a/libc/cmake/modules/LLVMLibCFlagRules.cmake
+++ b/libc/cmake/modules/LLVMLibCFlagRules.cmake
@@ -268,23 +268,29 @@ set(EXPLICIT_SIMD_OPT_FLAG "EXPLICIT_SIMD_OPT")
set(MISC_MATH_BASIC_OPS_OPT_FLAG "MISC_MATH_BASIC_OPS_OPT")
# Skip FMA_OPT flag for targets that don't support fma.
-if(NOT((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "FMA")) OR
- LIBC_TARGET_ARCHITECTURE_IS_RISCV64))
- set(SKIP_FLAG_EXPANSION_FMA_OPT TRUE)
+if(NOT DEFINED SKIP_FLAG_EXPANSION_FMA_OPT)
+ if(NOT((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "FMA")) OR
+ LIBC_TARGET_ARCHITECTURE_IS_RISCV64))
+ set(SKIP_FLAG_EXPANSION_FMA_OPT TRUE)
+ endif()
endif()
# Skip EXPLICIT_SIMD_OPT flag for targets that don't support SSE2.
# Note: one may want to revisit it if they want to control other explicit SIMD
-if(NOT(LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE2")))
- set(SKIP_FLAG_EXPANSION_EXPLICIT_SIMD_OPT TRUE)
+if(NOT DEFINED SKIP_FLAG_EXPANSION_EXPLICIT_SIMD_OPT)
+ if(NOT(LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE2")))
+ set(SKIP_FLAG_EXPANSION_EXPLICIT_SIMD_OPT TRUE)
+ endif()
endif()
# Skip ROUND_OPT flag for targets that don't support rounding instructions. On
# x86, these are SSE4.1 instructions, but we already had code to check for
# SSE4.2 support.
-if(NOT((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE4_2")) OR
- LIBC_TARGET_ARCHITECTURE_IS_AARCH64 OR LIBC_TARGET_OS_IS_GPU))
- set(SKIP_FLAG_EXPANSION_ROUND_OPT TRUE)
+if(NOT DEFINED SKIP_FLAG_EXPANSION_ROUND_OPT)
+ if(NOT((LIBC_TARGET_ARCHITECTURE_IS_X86_64 AND (LIBC_CPU_FEATURES MATCHES "SSE4_2")) OR
+ LIBC_TARGET_ARCHITECTURE_IS_AARCH64 OR LIBC_TARGET_OS_IS_GPU))
+ set(SKIP_FLAG_EXPANSION_ROUND_OPT TRUE)
+ endif()
endif()
# Choose whether time_t is 32- or 64-bit, based on target architecture
More information about the libc-commits
mailing list