Skip to content

Commit e0e31e8

Browse files
authored
Merge pull request #31891 from apple/tensorflow-merge
Merge 2020-05-19 into tensorflow
2 parents 112f6d3 + 7148362 commit e0e31e8

File tree

811 files changed

+31514
-3617
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

811 files changed

+31514
-3617
lines changed

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ if(POLICY CMP0067)
1212
cmake_policy(SET CMP0067 NEW)
1313
endif()
1414

15+
# Convert relative paths to absolute for subdirectory `target_sources`
16+
if(POLICY CMP0076)
17+
cmake_policy(SET CMP0076 NEW)
18+
endif()
19+
1520
# Add path for custom CMake modules.
1621
list(APPEND CMAKE_MODULE_PATH
1722
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")

benchmark/scripts/run_smoke_bench

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ def report_code_size(opt_level, old_dir, new_dir, platform, output_file):
272272
old_lines = ""
273273
new_lines = ""
274274
for oldfile in files:
275+
new_dir = os.path.join(new_dir, '')
275276
newfile = oldfile.replace(old_dir, new_dir, 1)
276277
if os.path.isfile(newfile):
277278
oldsize = get_codesize(oldfile)

cmake/modules/AddSwift.cmake

Lines changed: 74 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -399,17 +399,16 @@ function(_add_host_variant_link_flags target)
399399
endif()
400400
endfunction()
401401

402-
# Add a single variant of a new Swift library.
402+
# Add a new Swift host library.
403403
#
404404
# Usage:
405-
# _add_swift_host_library_single(
406-
# target
405+
# add_swift_host_library(name
407406
# [SHARED]
408407
# [STATIC]
409408
# [LLVM_LINK_COMPONENTS comp1 ...]
410409
# source1 [source2 source3 ...])
411410
#
412-
# target
411+
# name
413412
# Name of the library (e.g., swiftParse).
414413
#
415414
# SHARED
@@ -422,223 +421,151 @@ endfunction()
422421
# LLVM components this library depends on.
423422
#
424423
# source1 ...
425-
# Sources to add into this library
426-
function(_add_swift_host_library_single target)
424+
# Sources to add into this library.
425+
function(add_swift_host_library name)
427426
set(options
428427
SHARED
429428
STATIC)
430429
set(single_parameter_options)
431430
set(multiple_parameter_options
432431
LLVM_LINK_COMPONENTS)
433432

434-
cmake_parse_arguments(ASHLS
433+
cmake_parse_arguments(ASHL
435434
"${options}"
436435
"${single_parameter_options}"
437436
"${multiple_parameter_options}"
438437
${ARGN})
439-
set(ASHLS_SOURCES ${ASHLS_UNPARSED_ARGUMENTS})
438+
set(ASHL_SOURCES ${ASHL_UNPARSED_ARGUMENTS})
440439

441-
translate_flags(ASHLS "${options}")
440+
translate_flags(ASHL "${options}")
442441

443-
if(NOT ASHLS_SHARED AND NOT ASHLS_STATIC)
442+
if(NOT ASHL_SHARED AND NOT ASHL_STATIC)
444443
message(FATAL_ERROR "Either SHARED or STATIC must be specified")
445444
endif()
446445

447-
# Include LLVM Bitcode slices for iOS, Watch OS, and Apple TV OS device libraries.
448-
set(embed_bitcode_arg)
449-
if(SWIFT_EMBED_BITCODE_SECTION)
450-
if(SWIFT_HOST_VARIANT_SDK MATCHES "(I|TV|WATCH)OS")
451-
list(APPEND ASHLS_C_COMPILE_FLAGS "-fembed-bitcode")
452-
set(embed_bitcode_arg EMBED_BITCODE)
453-
endif()
454-
endif()
455-
456446
if(XCODE)
457-
string(REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
458-
list(GET split_path -1 dir)
459-
file(GLOB_RECURSE ASHLS_HEADERS
447+
get_filename_component(dir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
448+
449+
file(GLOB_RECURSE ASHL_HEADERS
460450
${SWIFT_SOURCE_DIR}/include/swift${dir}/*.h
461451
${SWIFT_SOURCE_DIR}/include/swift${dir}/*.def
462452
${CMAKE_CURRENT_SOURCE_DIR}/*.def)
463-
464-
file(GLOB_RECURSE ASHLS_TDS
453+
file(GLOB_RECURSE ASHL_TDS
465454
${SWIFT_SOURCE_DIR}/include/swift${dir}/*.td)
466455

467-
set_source_files_properties(${ASHLS_HEADERS} ${ASHLS_TDS}
468-
PROPERTIES
456+
set_source_files_properties(${ASHL_HEADERS} ${ASHL_TDS} PROPERTIES
469457
HEADER_FILE_ONLY true)
470-
source_group("TableGen descriptions" FILES ${ASHLS_TDS})
458+
source_group("TableGen descriptions" FILES ${ASHL_TDS})
471459

472-
set(ASHLS_SOURCES ${ASHLS_SOURCES} ${ASHLS_HEADERS} ${ASHLS_TDS})
460+
set(ASHL_SOURCES ${ASHL_SOURCES} ${ASHL_HEADERS} ${ASHL_TDS})
473461
endif()
474462

475-
if(ASHLS_SHARED)
463+
if(ASHL_SHARED)
476464
set(libkind SHARED)
477-
elseif(ASHLS_STATIC)
465+
elseif(ASHL_STATIC)
478466
set(libkind STATIC)
479467
endif()
480468

481-
add_library("${target}" ${libkind} ${ASHLS_SOURCES})
482-
_set_target_prefix_and_suffix("${target}" "${libkind}" "${SWIFT_HOST_VARIANT_SDK}")
483-
add_dependencies(${target} ${LLVM_COMMON_DEPENDS})
484-
485-
if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
486-
swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH} SWIFTLIB_INCLUDE)
487-
target_include_directories("${target}" SYSTEM PRIVATE ${SWIFTLIB_INCLUDE})
488-
set_target_properties(${target}
489-
PROPERTIES
490-
CXX_STANDARD 14)
491-
endif()
492-
493-
if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
494-
set_property(TARGET "${target}" PROPERTY NO_SONAME ON)
495-
endif()
496-
497-
llvm_update_compile_flags(${target})
498-
499-
set_output_directory(${target}
469+
add_library(${name} ${libkind} ${ASHL_SOURCES})
470+
add_dependencies(${name} ${LLVM_COMMON_DEPENDS})
471+
llvm_update_compile_flags(${name})
472+
swift_common_llvm_config(${name} ${ASHL_LLVM_LINK_COMPONENTS})
473+
set_output_directory(${name}
500474
BINARY_DIR ${SWIFT_RUNTIME_OUTPUT_INTDIR}
501475
LIBRARY_DIR ${SWIFT_LIBRARY_OUTPUT_INTDIR})
502476

503477
if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_APPLE_PLATFORMS)
504-
set_target_properties("${target}"
478+
set_target_properties(${name}
505479
PROPERTIES
506480
INSTALL_NAME_DIR "@rpath")
507481
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX)
508-
set_target_properties("${target}"
482+
set_target_properties(${name}
509483
PROPERTIES
510484
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/linux")
511485
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL CYGWIN)
512-
set_target_properties("${target}"
486+
set_target_properties(${name}
513487
PROPERTIES
514488
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/cygwin")
515489
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
516-
set_target_properties("${target}"
490+
set_target_properties(${name}
517491
PROPERTIES
518492
INSTALL_RPATH "$ORIGIN")
519493
endif()
520494

521-
set_target_properties("${target}" PROPERTIES BUILD_WITH_INSTALL_RPATH YES)
522-
set_target_properties("${target}" PROPERTIES FOLDER "Swift libraries")
495+
set_target_properties(${name} PROPERTIES
496+
BUILD_WITH_INSTALL_RPATH YES
497+
FOLDER "Swift libraries")
523498

524-
# Call llvm_config() only for libraries that are part of the compiler.
525-
swift_common_llvm_config("${target}" ${ASHLS_LLVM_LINK_COMPONENTS})
526-
527-
target_compile_options(${target} PRIVATE
528-
${ASHLS_C_COMPILE_FLAGS})
529-
if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
530-
if(libkind STREQUAL SHARED)
531-
target_compile_definitions(${target} PRIVATE
532-
_WINDLL)
533-
endif()
534-
endif()
535-
536-
_add_host_variant_c_compile_flags(${target})
537-
_add_host_variant_link_flags(${target})
499+
_add_host_variant_c_compile_flags(${name})
500+
_add_host_variant_link_flags(${name})
501+
_set_target_prefix_and_suffix(${name} "${libkind}" "${SWIFT_HOST_VARIANT_SDK}")
538502

539503
# Set compilation and link flags.
540504
if(SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS)
541505
swift_windows_include_for_arch(${SWIFT_HOST_VARIANT_ARCH}
542506
${SWIFT_HOST_VARIANT_ARCH}_INCLUDE)
543-
target_include_directories(${target} SYSTEM PRIVATE
507+
target_include_directories(${name} SYSTEM PRIVATE
544508
${${SWIFT_HOST_VARIANT_ARCH}_INCLUDE})
545509

510+
if(libkind STREQUAL SHARED)
511+
target_compile_definitions(${name} PRIVATE
512+
_WINDLL)
513+
endif()
514+
546515
if(NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC)
547-
swift_windows_get_sdk_vfs_overlay(ASHLS_VFS_OVERLAY)
548-
target_compile_options(${target} PRIVATE
549-
"SHELL:-Xclang -ivfsoverlay -Xclang ${ASHLS_VFS_OVERLAY}")
516+
swift_windows_get_sdk_vfs_overlay(ASHL_VFS_OVERLAY)
517+
target_compile_options(${name} PRIVATE
518+
"SHELL:-Xclang -ivfsoverlay -Xclang ${ASHL_VFS_OVERLAY}")
550519

551520
# MSVC doesn't support -Xclang. We don't need to manually specify
552521
# the dependent libraries as `cl` does so.
553-
target_compile_options(${target} PRIVATE
522+
target_compile_options(${name} PRIVATE
554523
"SHELL:-Xclang --dependent-lib=oldnames"
555524
# TODO(compnerd) handle /MT, /MTd
556525
"SHELL:-Xclang --dependent-lib=msvcrt$<$<CONFIG:Debug>:d>")
557526
endif()
527+
528+
set_target_properties(${name} PROPERTIES
529+
CXX_STANDARD 14
530+
NO_SONAME YES)
558531
endif()
559532

560533
if(${SWIFT_HOST_VARIANT_SDK} IN_LIST SWIFT_APPLE_PLATFORMS)
561-
target_link_options(${target} PRIVATE
562-
"LINKER:-compatibility_version,1")
563-
if(SWIFT_COMPILER_VERSION)
564-
target_link_options(${target} PRIVATE
565-
"LINKER:-current_version,${SWIFT_COMPILER_VERSION}")
566-
endif()
567534
# Include LLVM Bitcode slices for iOS, Watch OS, and Apple TV OS device libraries.
568535
if(SWIFT_EMBED_BITCODE_SECTION)
569-
if(${SWIFT_HOST_VARIANT_SDK} MATCHES "(I|TV|WATCH)OS")
570-
target_link_options(${target} PRIVATE
571-
"LINKER:-bitcode_bundle"
572-
"LINKER:-lto_library,${LLVM_LIBRARY_DIR}/libLTO.dylib")
573-
574-
# Please note that using a generator expression to fit
575-
# this in a single target_link_options does not work
576-
# (at least in CMake 3.15 and 3.16),
577-
# since that seems not to allow the LINKER: prefix to be
578-
# evaluated (i.e. it will be added as-is to the linker parameters)
579-
if(SWIFT_EMBED_BITCODE_SECTION_HIDE_SYMBOLS)
580-
target_link_options(${target} PRIVATE
581-
"LINKER:-bitcode_hide_symbols")
582-
endif()
536+
target_compile_options(${name} PRIVATE
537+
-fembed-bitcode)
538+
target_link_options(${name} PRIVATE
539+
"LINKER:-bitcode_bundle"
540+
"LINKER:-lto_library,${LLVM_LIBRARY_DIR}/libLTO.dylib")
541+
542+
# Please note that using a generator expression to fit this in a single
543+
# target_link_options does not work (at least in CMake 3.15 and 3.16),
544+
# since that seems not to allow the LINKER: prefix to be evaluated (i.e.
545+
# it will be added as-is to the linker parameters)
546+
if(SWIFT_EMBED_BITCODE_SECTION_HIDE_SYMBOLS)
547+
target_link_options(${name} PRIVATE
548+
"LINKER:-bitcode_hide_symbols")
583549
endif()
584550
endif()
585-
endif()
586-
587-
# Do not add code here.
588-
endfunction()
589551

590-
# Add a new Swift host library.
591-
#
592-
# Usage:
593-
# add_swift_host_library(name
594-
# [SHARED]
595-
# [STATIC]
596-
# [LLVM_LINK_COMPONENTS comp1 ...]
597-
# source1 [source2 source3 ...])
598-
#
599-
# name
600-
# Name of the library (e.g., swiftParse).
601-
#
602-
# SHARED
603-
# Build a shared library.
604-
#
605-
# STATIC
606-
# Build a static library.
607-
#
608-
# LLVM_LINK_COMPONENTS
609-
# LLVM components this library depends on.
610-
#
611-
# source1 ...
612-
# Sources to add into this library.
613-
function(add_swift_host_library name)
614-
set(options
615-
SHARED
616-
STATIC)
617-
set(single_parameter_options)
618-
set(multiple_parameter_options
619-
LLVM_LINK_COMPONENTS)
620-
621-
cmake_parse_arguments(ASHL
622-
"${options}"
623-
"${single_parameter_options}"
624-
"${multiple_parameter_options}"
625-
${ARGN})
626-
set(ASHL_SOURCES ${ASHL_UNPARSED_ARGUMENTS})
627-
628-
translate_flags(ASHL "${options}")
552+
target_link_options(${name} PRIVATE
553+
"LINKER:-compatibility_version,1")
554+
if(SWIFT_COMPILER_VERSION)
555+
target_link_options(${name} PRIVATE
556+
"LINKER:-current_version,${SWIFT_COMPILER_VERSION}")
557+
endif()
629558

630-
if(NOT ASHL_SHARED AND NOT ASHL_STATIC)
631-
message(FATAL_ERROR "Either SHARED or STATIC must be specified")
559+
set(DEPLOYMENT_VERSION "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_DEPLOYMENT_VERSION}")
560+
# MSVC, clang-cl, gcc don't understand -target.
561+
if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT SWIFT_COMPILER_IS_MSVC_LIKE)
562+
get_target_triple(target target_variant "${SWIFT_HOST_VARIANT_SDK}" "${SWIFT_HOST_VARIANT_ARCH}"
563+
MACCATALYST_BUILD_FLAVOR ""
564+
DEPLOYMENT_VERSION "${DEPLOYMENT_VERSION}")
565+
target_link_options(${name} PRIVATE -target;${target})
566+
endif()
632567
endif()
633568

634-
_add_swift_host_library_single(
635-
${name}
636-
${ASHL_SHARED_keyword}
637-
${ASHL_STATIC_keyword}
638-
${ASHL_SOURCES}
639-
LLVM_LINK_COMPONENTS ${ASHL_LLVM_LINK_COMPONENTS}
640-
)
641-
642569
add_dependencies(dev ${name})
643570
if(NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
644571
swift_install_in_component(TARGETS ${name}

0 commit comments

Comments
 (0)