Skip to content

Commit 8c672bf

Browse files
committed
---
yaml --- r: 341437 b: refs/heads/rxwei-patch-1 c: 8bb63c0 h: refs/heads/master i: 341435: 07f6fca
1 parent 96aa787 commit 8c672bf

File tree

1,114 files changed

+47830
-129031
lines changed

Some content is hidden

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

1,114 files changed

+47830
-129031
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-08-18-a: b10b1fce14385faa6d44f6b933e95
10151015
refs/heads/rdar-43033749-fix-batch-mode-no-diags-swift-5.0-branch: a14e64eaad30de89f0f5f0b2a782eed7ecdcb255
10161016
refs/heads/revert-19006-error-bridging-integer-type: 8a9065a3696535305ea53fe9b71f91cbe6702019
10171017
refs/heads/revert-19050-revert-19006-error-bridging-integer-type: ecf752d54b05dd0a20f510f0bfa54a3fec3bcaca
1018-
refs/heads/rxwei-patch-1: c5c6f3b2b3f539b19494d8392b9c7d312a8a9f47
1018+
refs/heads/rxwei-patch-1: 8bb63c0c1508825c14e82fe839aa49c2c15c6460
10191019
refs/heads/shahmishal-patch-1: e58ec0f7488258d42bef51bc3e6d7b3dc74d7b2a
10201020
refs/heads/typelist-existential: 4046359efd541fb5c72d69a92eefc0a784df8f5e
10211021
refs/tags/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-08-20-a: 4319ba09e4fb8650ee86061075c74a016b6baab9

branches/rxwei-patch-1/CMakeLists.txt

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -223,17 +223,6 @@ option(SWIFT_STDLIB_ENABLE_SIB_TARGETS
223223
"Should we generate sib targets for the stdlib or not?"
224224
FALSE)
225225

226-
227-
set(SWIFT_DARWIN_SUPPORTED_ARCHS "" CACHE STRING
228-
"Semicolon-separated list of architectures to configure on Darwin platforms. \
229-
If left empty all default architectures are configured.")
230-
231-
set(SWIFT_DARWIN_MODULE_ARCHS "" CACHE STRING
232-
"Semicolon-separated list of architectures to configure Swift module-only \
233-
targets on Darwin platforms. These targets are in addition to the full \
234-
library targets.")
235-
236-
237226
#
238227
# User-configurable Android specific options.
239228
#
@@ -621,9 +610,9 @@ endif()
621610
if(SWIFT_HOST_VARIANT_ARCH)
622611
set(SWIFT_HOST_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
623612
else()
624-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64")
613+
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
625614
set(SWIFT_HOST_VARIANT_ARCH_default "x86_64")
626-
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64")
615+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
627616
set(SWIFT_HOST_VARIANT_ARCH_default "aarch64")
628617
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ppc64")
629618
set(SWIFT_HOST_VARIANT_ARCH_default "powerpc64")
@@ -636,6 +625,8 @@ else()
636625
set(SWIFT_HOST_VARIANT_ARCH_default "armv6")
637626
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "armv7l|armv7-a")
638627
set(SWIFT_HOST_VARIANT_ARCH_default "armv7")
628+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64")
629+
set(SWIFT_HOST_VARIANT_ARCH_default "x86_64")
639630
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "IA64")
640631
set(SWIFT_HOST_VARIANT_ARCH_default "itanium")
641632
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86|i686)")
@@ -843,18 +834,14 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin" AND NOT CMAKE_CROSSCOMPILING)
843834
set(CMAKE_OSX_DEPLOYMENT_TARGET "")
844835
endif()
845836

846-
if(SWIFT_INCLUDE_TOOLS)
847-
message(STATUS "Building host Swift tools for ${SWIFT_HOST_VARIANT_SDK} ${SWIFT_HOST_VARIANT_ARCH}")
848-
message(STATUS " Build type: ${CMAKE_BUILD_TYPE}")
849-
message(STATUS " Assertions: ${LLVM_ENABLE_ASSERTIONS}")
850-
message(STATUS " LTO: ${SWIFT_TOOLS_ENABLE_LTO}")
851-
message(STATUS "")
852-
else()
853-
message(STATUS "Not building host Swift tools")
854-
message(STATUS "")
855-
endif()
837+
message(STATUS "Building host Swift tools for ${SWIFT_HOST_VARIANT_SDK} ${SWIFT_HOST_VARIANT_ARCH}")
838+
message(STATUS " Build type: ${CMAKE_BUILD_TYPE}")
839+
message(STATUS " Assertions: ${LLVM_ENABLE_ASSERTIONS}")
840+
message(STATUS " LTO: ${SWIFT_TOOLS_ENABLE_LTO}")
841+
message(STATUS "")
842+
843+
if (SWIFT_BUILD_STDLIB OR SWIFT_BUILD_SDK_OVERLAY)
856844

857-
if(SWIFT_BUILD_STDLIB OR SWIFT_BUILD_SDK_OVERLAY)
858845
message(STATUS "Building Swift standard library and overlays for SDKs: ${SWIFT_SDKS}")
859846
message(STATUS " Build type: ${SWIFT_STDLIB_BUILD_TYPE}")
860847
message(STATUS " Assertions: ${SWIFT_STDLIB_ASSERTIONS}")
@@ -863,9 +850,12 @@ if(SWIFT_BUILD_STDLIB OR SWIFT_BUILD_SDK_OVERLAY)
863850
message(STATUS "Building Swift runtime with:")
864851
message(STATUS " Leak Detection Checker Entrypoints: ${SWIFT_RUNTIME_ENABLE_LEAK_CHECKER}")
865852
message(STATUS "")
853+
866854
else()
855+
867856
message(STATUS "Not building Swift standard library, SDK overlays, and runtime")
868857
message(STATUS "")
858+
869859
endif()
870860

871861
#
@@ -1078,13 +1068,10 @@ endif()
10781068
if(SWIFT_BUILD_STDLIB)
10791069
add_subdirectory(stdlib)
10801070
else()
1081-
add_subdirectory(stdlib/public/legacy_layouts)
1082-
10831071
# Some tools (e.g. swift-reflection-dump) rely on a host swiftReflection, so
10841072
# ensure we build that when building tools.
10851073
if(SWIFT_INCLUDE_TOOLS)
10861074
add_subdirectory(stdlib/public/Reflection)
1087-
add_subdirectory(stdlib/public/SwiftShims)
10881075
endif()
10891076
endif()
10901077

branches/rxwei-patch-1/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Instructions for installing CMake and Ninja directly can be found [below](#build
9898

9999
For Ubuntu, you'll need the following development dependencies:
100100

101-
sudo apt-get install git cmake ninja-build clang python uuid-dev libicu-dev icu-devtools libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config libcurl4-openssl-dev systemtap-sdt-dev tzdata rsync
101+
sudo apt-get install git cmake ninja-build clang python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config libblocksruntime-dev libcurl4-openssl-dev systemtap-sdt-dev tzdata rsync
102102

103103
**Note:** LLDB currently requires at least `swig-1.3.40` but will successfully build
104104
with version 2 shipped with Ubuntu.

branches/rxwei-patch-1/benchmark/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ set(SWIFT_BENCH_MODULES
7878
single-source/DictionaryRemove
7979
single-source/DictionarySubscriptDefault
8080
single-source/DictionarySwap
81-
single-source/Diffing
8281
single-source/DropFirst
8382
single-source/DropLast
8483
single-source/DropWhile
@@ -105,7 +104,6 @@ set(SWIFT_BENCH_MODULES
105104
single-source/Memset
106105
single-source/MonteCarloE
107106
single-source/MonteCarloPi
108-
single-source/Myers
109107
single-source/NSDictionaryCastToSwift
110108
single-source/NSError
111109
single-source/NSStringConversion

branches/rxwei-patch-1/benchmark/single-source/AngryPhonebook.swift

Lines changed: 6 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -13,60 +13,13 @@
1313
// This test is based on single-source/Phonebook, with
1414
// to test uppercase and lowercase ASCII string fast paths.
1515
import TestsUtils
16+
import Foundation
1617

17-
let t: [BenchmarkCategory] = [.validation, .api, .String]
18-
19-
public let AngryPhonebook = [
20-
BenchmarkInfo(
21-
name: "AngryPhonebook",
22-
runFunction: run_AngryPhonebook,
23-
tags: t,
24-
legacyFactor: 7),
25-
26-
// Small String Workloads
27-
BenchmarkInfo(
28-
name: "AngryPhonebook.ASCII.Small",
29-
runFunction: { angryPhonebook($0, ascii) },
30-
tags: t,
31-
setUpFunction: { blackHole(ascii) }),
32-
BenchmarkInfo(
33-
name: "AngryPhonebook.Strasse.Small",
34-
runFunction: { angryPhonebook($0, strasse) },
35-
tags: t,
36-
setUpFunction: { blackHole(strasse) }),
37-
BenchmarkInfo(
38-
name: "AngryPhonebook.Armenian.Small",
39-
runFunction: { angryPhonebook($0, armenian) },
40-
tags: t,
41-
setUpFunction: { blackHole(armenian) }),
42-
BenchmarkInfo(
43-
name: "AngryPhonebook.Cyrillic.Small",
44-
runFunction: { angryPhonebook($0, cyrillic) },
45-
tags: t,
46-
setUpFunction: { blackHole(cyrillic) }),
47-
48-
// Regular String Workloads
49-
BenchmarkInfo(
50-
name: "AngryPhonebook.ASCII",
51-
runFunction: { angryPhonebook($0, precomposed: longASCII) },
52-
tags: t,
53-
setUpFunction: { blackHole(longASCII) }),
54-
BenchmarkInfo(
55-
name: "AngryPhonebook.Strasse",
56-
runFunction: { angryPhonebook($0, precomposed: longStrasse) },
57-
tags: t,
58-
setUpFunction: { blackHole(longStrasse) }),
59-
BenchmarkInfo(
60-
name: "AngryPhonebook.Armenian",
61-
runFunction: { angryPhonebook($0, precomposed: longArmenian) },
62-
tags: t,
63-
setUpFunction: { blackHole(longArmenian) }),
64-
BenchmarkInfo(
65-
name: "AngryPhonebook.Cyrillic",
66-
runFunction: { angryPhonebook($0, precomposed: longCyrillic) },
67-
tags: t,
68-
setUpFunction: { blackHole(longCyrillic) })
69-
]
18+
public let AngryPhonebook = BenchmarkInfo(
19+
name: "AngryPhonebook",
20+
runFunction: run_AngryPhonebook,
21+
tags: [.validation, .api, .String],
22+
legacyFactor: 7)
7023

7124
let words = [
7225
"James", "John", "Robert", "Michael", "William", "David", "Richard", "Joseph",
@@ -86,67 +39,3 @@ public func run_AngryPhonebook(_ N: Int) {
8639
}
8740
}
8841
}
89-
90-
// Workloads for various scripts. Always 20 names for 400 pairings.
91-
// To keep the performance of various scripts roughly comparable, aim for
92-
// a total length of approximately 120 characters.
93-
// E.g.: `ascii.joined(separator: "").count == 124`
94-
// Every name should fit in 15-bytes UTF-8 encoded, to excercise the small
95-
// string optimization.
96-
// E.g.: `armenian.allSatisfy { $0._guts.isSmall } == true`
97-
98-
// Workload Size Statistics
99-
// SMALL | UTF-8 | UTF-16 | REGULAR | UTF-8 | UTF-16
100-
// ---------|-------|--------|--------------|---------|--------
101-
// ascii | 124 B | 248 B | longASCII | 6158 B | 12316 B
102-
// strasse | 140 B | 240 B | longStrasse | 6798 B | 11996 B
103-
// armenian | 232 B | 232 B | longArmenian | 10478 B | 11676 B
104-
// cyrillic | 238 B | 238 B | longCyrillic | 10718 B | 11916 B
105-
106-
let ascii = Array(words.prefix(20))
107-
// Pathological case, uppercase: ß -> SS
108-
let strasse = Array(repeating: "Straße", count: 20)
109-
110-
let armenian = [
111-
"Արմեն", "Աննա", "Հարութ", "Միքայել", "Մարիա", "Դավիթ", "Վարդան",
112-
"Նարինե", "Տիգրան", "Տաթևիկ", "Թագուհի", "Թամարա", "Ազնաուր", "Գրիգոր",
113-
"Կոմիտաս", "Հայկ", "Գառնիկ", "Վահրամ", "Վահագն", "Գևորգ"]
114-
115-
let cyrillic = [
116-
"Ульяна", "Аркадий", "Аня", "Даниил", "Дмитрий", "Эдуард", "Юрій", "Давид",
117-
"Анна", "Дмитрий", "Евгений", "Борис", "Ксения", "Артур", "Аполлон",
118-
"Соломон", "Николай", "Кристи", "Надежда", "Спартак"]
119-
120-
/// Precompose the phonebook into one large string of comma separated names.
121-
func phonebook(_ names: [String]) -> String {
122-
names.map { firstName in
123-
names.map { lastName in
124-
firstName + " " + lastName
125-
}.joined(separator: ", ")
126-
}.joined(separator: ", ")
127-
}
128-
129-
let longASCII = phonebook(ascii)
130-
let longStrasse = phonebook(strasse)
131-
let longArmenian = phonebook(armenian)
132-
let longCyrillic = phonebook(cyrillic)
133-
134-
@inline(never)
135-
public func angryPhonebook(_ N: Int, _ names: [String]) {
136-
assert(names.count == 20)
137-
// Permute the names.
138-
for _ in 1...N {
139-
for firstname in names {
140-
for lastname in names {
141-
blackHole((firstname.uppercased(), lastname.lowercased()))
142-
}
143-
}
144-
}
145-
}
146-
147-
@inline(never)
148-
public func angryPhonebook(_ N: Int, precomposed names: String) {
149-
for _ in 1...N {
150-
blackHole((names.uppercased(), names.lowercased()))
151-
}
152-
}

branches/rxwei-patch-1/benchmark/single-source/BinaryFloatingPointConversionFromBinaryInteger.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// This test checks performance of generic binary floating-point conversion from
1414
// a binary integer.
1515

16+
import Foundation
1617
import TestsUtils
1718

1819
#if swift(>=4.2)
@@ -109,7 +110,7 @@ extension MockBinaryInteger : BinaryInteger {
109110
var trailingZeroBitCount: Int {
110111
return _value.trailingZeroBitCount
111112
}
112-
113+
113114
func isMultiple(of other: MockBinaryInteger<T>) -> Bool {
114115
return _value.isMultiple(of: other._value)
115116
}
@@ -210,3 +211,4 @@ public func run_BinaryFloatingPointConversionFromBinaryInteger(_ N: Int) {
210211
}
211212

212213
#endif
214+

branches/rxwei-patch-1/benchmark/single-source/BinaryFloatingPointProperties.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13+
import Foundation
1314
import TestsUtils
1415

1516
public let BinaryFloatingPointPropertiesBinade = BenchmarkInfo(

branches/rxwei-patch-1/benchmark/single-source/BitCount.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// This test checks performance of Swift bit count.
1414
// and mask operator.
1515
// rdar://problem/22151678
16+
import Foundation
1617
import TestsUtils
1718

1819
public let BitCount = BenchmarkInfo(

branches/rxwei-patch-1/benchmark/single-source/BucketSort.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,17 @@
1616
// https://github.com/raywenderlich/swift-algorithm-club/tree/master/Bucket%20Sort
1717
//
1818
// It sorts an array of generic `SortableItem`s. If the type of `sortingAlgo`
19-
// is not known to the call site at line 89, the `sort` method can not be
19+
// is not known to the call site at line 90, the `sort` method can not be
2020
// specialized to integer array sorting, which will lead to a huge performance
2121
// loss. Since `SortingAlgorithm` and `InsertionSort` are declared to be
22-
// `public` and the lines 88-90 can not be inlined in `bucketSort` (due to
22+
// `public` and the lines 89-91 can not be inlined in `bucketSort` (due to
2323
// inlining heuristic limitations), compiler without ExistentialSpecializer
2424
// optimization can not achieve this feat. With ExistentialSpecializer which
2525
// enables generic specialization recursively in a call chain, we're able to
26-
// specialize line 89 for `InsertionSort` on integers.
26+
// specialize line 90 for `InsertionSort` on integers.
2727

2828
import TestsUtils
29+
import Foundation
2930

3031
public let BucketSort = BenchmarkInfo(
3132
name: "BucketSort",
@@ -116,8 +117,7 @@ let items: [Int] = {
116117
let buckets: [Bucket<Int>] = {
117118
let bucketCount = 10
118119
let maxValue = items.max()!.convertToInt()
119-
let maxCapacity = Int(
120-
(Double(maxValue + 1) / Double(bucketCount)).rounded(.up))
120+
let maxCapacity = Int(ceil(Double(maxValue + 1) / Double(bucketCount)))
121121
return (0..<bucketCount).map { _ in Bucket<Int>(capacity: maxCapacity) }
122122
}()
123123

branches/rxwei-patch-1/benchmark/single-source/ByteSwap.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// This test checks performance of Swift byte swap.
1414
// rdar://problem/22151907
1515

16+
import Foundation
1617
import TestsUtils
1718

1819
public let ByteSwap = BenchmarkInfo(

branches/rxwei-patch-1/benchmark/single-source/CString.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
import TestsUtils
1414
#if os(Linux)
1515
import Glibc
16-
#elseif os(Windows)
17-
import MSVCRT
1816
#else
1917
import Darwin
2018
#endif

branches/rxwei-patch-1/benchmark/single-source/Calculator.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
import TestsUtils
14+
import Foundation
1415

1516
public let Calculator = BenchmarkInfo(
1617
name: "Calculator",
@@ -52,3 +53,4 @@ public func run_Calculator(_ N: Int) {
5253
}
5354
CheckResults(c == 0)
5455
}
56+

0 commit comments

Comments
 (0)