[libc-commits] [PATCH] D119143: [libc] Don't use Clang flags on other compilers
Guillaume Chatelet via Phabricator via libc-commits
libc-commits at lists.llvm.org
Tue Feb 8 03:01:10 PST 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rGf231599666c7: [libc] Don't use Clang flags on other compilers (authored by gchatelet).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119143/new/
https://reviews.llvm.org/D119143
Files:
libc/src/string/CMakeLists.txt
Index: libc/src/string/CMakeLists.txt
===================================================================
--- libc/src/string/CMakeLists.txt
+++ libc/src/string/CMakeLists.txt
@@ -251,14 +251,23 @@
"ADD_IMPL"
"" # Optional arguments
"" # Single value arguments
- "REQUIRE;SRCS;HDRS;DEPENDS;COMPILE_OPTIONS" # Multi value arguments
+ "REQUIRE;SRCS;HDRS;DEPENDS;COMPILE_OPTIONS;MLLVM_COMPILE_OPTIONS" # Multi value arguments
${ARGN})
+
+ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+ list(APPEND ADD_IMPL_MLLVM_COMPILE_OPTIONS "-combiner-global-alias-analysis")
+ # Note that '-mllvm' needs to be prefixed with 'SHELL:' to prevent CMake flag deduplication.
+ foreach(opt IN LISTS ADD_IMPL_MLLVM_COMPILE_OPTIONS)
+ list(APPEND ADD_IMPL_COMPILE_OPTIONS "SHELL:-mllvm ${opt}")
+ endforeach()
+ endif()
+
add_entrypoint_object(${impl_name}
NAME ${name}
SRCS ${ADD_IMPL_SRCS}
HDRS ${ADD_IMPL_HDRS}
DEPENDS ${ADD_IMPL_DEPENDS}
- COMPILE_OPTIONS ${ADD_IMPL_COMPILE_OPTIONS} "SHELL:-mllvm -combiner-global-alias-analysis"
+ COMPILE_OPTIONS ${ADD_IMPL_COMPILE_OPTIONS}
)
get_fq_target_name(${impl_name} fq_target_name)
set_target_properties(${fq_target_name} PROPERTIES REQUIRE_CPU_FEATURES "${ADD_IMPL_REQUIRE}")
@@ -382,10 +391,9 @@
add_memcpy(memcpy)
elseif(${LIBC_TARGET_ARCHITECTURE_IS_AARCH64})
# Disable tail merging as it leads to lower performance.
- # Note that '-mllvm' needs to be prefixed with 'SHELL:' to prevent CMake flag deduplication.
add_memcpy(memcpy_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE}
- COMPILE_OPTIONS "SHELL:-mllvm --tail-merge-threshold=0")
- add_memcpy(memcpy COMPILE_OPTIONS "SHELL:-mllvm --tail-merge-threshold=0")
+ MLLVM_COMPILE_OPTIONS "-tail-merge-threshold=0")
+ add_memcpy(memcpy MLLVM_COMPILE_OPTIONS "-tail-merge-threshold=0")
else()
add_memcpy(memcpy_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})
add_memcpy(memcpy)
@@ -418,10 +426,9 @@
add_memmove(memmove)
elseif(${LIBC_TARGET_ARCHITECTURE_IS_AARCH64})
# Disable tail merging as it leads to lower performance.
- # Note that '-mllvm' needs to be prefixed with 'SHELL:' to prevent CMake flag deduplication.
add_memmove(memmove_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE}
- COMPILE_OPTIONS "SHELL:-mllvm --tail-merge-threshold=0")
- add_memmove(memmove COMPILE_OPTIONS "SHELL:-mllvm --tail-merge-threshold=0")
+ MLLVM_COMPILE_OPTIONS "-tail-merge-threshold=0")
+ add_memmove(memmove MLLVM_COMPILE_OPTIONS "-tail-merge-threshold=0")
else()
add_memmove(memmove_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})
add_memmove(memmove)
@@ -452,9 +459,10 @@
add_memset(memset_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})
add_memset(memset)
elseif(${LIBC_TARGET_ARCHITECTURE_IS_AARCH64})
+ # Disable tail merging as it leads to lower performance.
add_memset(memset_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE}
- COMPILE_OPTIONS "SHELL:-mllvm --tail-merge-threshold=0")
- add_memset(memset COMPILE_OPTIONS "SHELL:-mllvm --tail-merge-threshold=0")
+ MLLVM_COMPILE_OPTIONS "-tail-merge-threshold=0")
+ add_memset(memset MLLVM_COMPILE_OPTIONS "-tail-merge-threshold=0")
else()
add_memset(memset_opt_host COMPILE_OPTIONS ${LIBC_COMPILE_OPTIONS_NATIVE})
add_memset(memset)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119143.406754.patch
Type: text/x-patch
Size: 3750 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20220208/4a81b71b/attachment.bin>
More information about the libc-commits
mailing list