forked from OSchip/llvm-project
Revert "[CMake][compiler-rt][AArch64] Avoid preprocessing LSE builtins separately"
Causing issues on Apple buildbots. http://green.lab.llvm.org/green/job/clang-stage1-RA/17019/console This reverts commit33b740f8dc
. This reverts commitd9697c2e6b
. Differential Revision: https://reviews.llvm.org/D93199
This commit is contained in:
parent
d9697c2e6b
commit
617cd01a4b
|
@ -395,9 +395,7 @@ macro(darwin_add_builtin_libraries)
|
|||
set(CMAKE_CXX_FLAGS "")
|
||||
set(CMAKE_ASM_FLAGS "")
|
||||
|
||||
append_string_if(COMPILER_RT_HAS_ASM_LSE " -DHAS_ASM_LSE" CFLAGS)
|
||||
|
||||
set(PROFILE_SOURCES ../profile/InstrProfiling
|
||||
set(PROFILE_SOURCES ../profile/InstrProfiling
|
||||
../profile/InstrProfilingBuffer
|
||||
../profile/InstrProfilingPlatformDarwin
|
||||
../profile/InstrProfilingWriter
|
||||
|
|
|
@ -509,24 +509,31 @@ set(aarch64_SOURCES
|
|||
)
|
||||
|
||||
# Generate outline atomics helpers from lse.S base
|
||||
set(CUSTOM_FLAGS ${CMAKE_C_FLAGS})
|
||||
if(NOT ANDROID)
|
||||
append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG -DVISIBILITY_HIDDEN CUSTOM_FLAGS)
|
||||
endif()
|
||||
append_list_if(COMPILER_RT_HAS_ASM_LSE -DHAS_ASM_LSE CUSTOM_FLAGS)
|
||||
string(REPLACE " " "\t" CUSTOM_FLAGS "${CUSTOM_FLAGS}")
|
||||
set(OA_HELPERS_DIR "${CMAKE_CURRENT_BINARY_DIR}/outline_atomic_helpers.dir")
|
||||
file(MAKE_DIRECTORY "${OA_HELPERS_DIR}")
|
||||
file(MAKE_DIRECTORY ${OA_HELPERS_DIR})
|
||||
|
||||
foreach(pat cas swp ldadd ldclr ldeor ldset)
|
||||
foreach(size 1 2 4 8 16)
|
||||
foreach(model 1 2 3 4)
|
||||
if(pat STREQUAL "cas" OR NOT size STREQUAL "16")
|
||||
set(helper_asm "${OA_HELPERS_DIR}/outline_atomic_${pat}${size}_${model}.S")
|
||||
set(helper_asm ${OA_HELPERS_DIR}/outline_atomic_${pat}${size}_${model}.S)
|
||||
add_custom_command(
|
||||
OUTPUT ${helper_asm}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_SOURCE_DIR}/aarch64/lse.S" "${helper_asm}"
|
||||
COMMAND ${CMAKE_C_COMPILER} -E ${CUSTOM_FLAGS} -DL_${pat} -DSIZE=${size} -DMODEL=${model}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/aarch64/lse.S -o ${helper_asm}
|
||||
DEPENDS aarch64/lse.S assembly.h
|
||||
)
|
||||
set_source_files_properties("${helper_asm}"
|
||||
PROPERTIES
|
||||
COMPILE_DEFINITIONS "L_${pat};SIZE=${size};MODEL=${model}"
|
||||
INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
set_source_files_properties(${helper_asm} PROPERTIES GENERATED TRUE)
|
||||
set(aarch64_SOURCES
|
||||
${aarch64_SOURCES}
|
||||
${helper_asm}
|
||||
)
|
||||
list(APPEND aarch64_SOURCES "${helper_asm}")
|
||||
endif()
|
||||
endforeach(model)
|
||||
endforeach(size)
|
||||
|
@ -680,8 +687,6 @@ else ()
|
|||
append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG VISIBILITY_HIDDEN BUILTIN_DEFS)
|
||||
endif()
|
||||
|
||||
append_list_if(COMPILER_RT_HAS_ASM_LSE HAS_ASM_LSE BUILTIN_DEFS)
|
||||
|
||||
foreach (arch ${BUILTIN_SUPPORTED_ARCH})
|
||||
if (CAN_TARGET_${arch})
|
||||
# For ARM archs, exclude any VFP builtins if VFP is not supported
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
#include "assembly.h"
|
||||
#include "../assembly.h"
|
||||
|
||||
// Out-of-line LSE atomics helpers. Ported from libgcc library.
|
||||
// N = {1, 2, 4, 8}
|
||||
|
|
Loading…
Reference in New Issue