Skip to content

Commit

Permalink
[sanitizer] Cache results of darwin_test_archs
Browse files Browse the repository at this point in the history
For OS X builds of compiler-rt, we run `darwin_test_archs` to determine which architectures can the toolchain target. This detection takes quite a long time, and the result is always the same (as long as you don't upgrade your OS, system headers or toolchain). Let's cache the result.

Differential Revision: http://reviews.llvm.org/D15179

llvm-svn: 254618
  • Loading branch information
kubamracek committed Dec 3, 2015
1 parent c168c01 commit 3daf7b4
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ endfunction()
# This function takes an OS and a list of architectures and identifies the
# subset of the architectures list that the installed toolchain can target.
function(darwin_test_archs os valid_archs)
if(${valid_archs})
message(STATUS "Using cached valid architectures for ${os}.")
return()
endif()

set(archs ${ARGN})
message(STATUS "Finding valid architectures for ${os}...")
set(SIMPLE_CPP ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/src.cpp)
Expand Down Expand Up @@ -75,7 +80,8 @@ function(darwin_test_archs os valid_archs)
list(APPEND working_archs ${arch})
endif()
endforeach()
set(${valid_archs} ${working_archs} PARENT_SCOPE)
set(${valid_archs} ${working_archs}
CACHE STRING "List of valid architectures for platform ${os}.")
endfunction()

# This function checks the host cpusubtype to see if it is post-haswell. Haswell
Expand Down

0 comments on commit 3daf7b4

Please sign in to comment.