Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
379 commits
Select commit Hold shift + click to select a range
e0bbedc
Fixup availability for one of the Float16 tests.
stephentyrone Dec 1, 2020
4396eba
Update a comment in EscapeAnalysis.
atrick Dec 1, 2020
4b580bd
[stdlib] Unbreak unified builds after #34859
davezarzycki Dec 1, 2020
c3d23c5
Merge branch 'main' of github.com:swiftwasm/swift into maxd/main-merge
MaxDesiatov Dec 1, 2020
2b0ff64
Merge pull request #34870 from zoecarver/cxx/fix/no-params
zoecarver Dec 1, 2020
f3666d0
[NFC] Move Migrated SDK Target List into StdlibDeploymentTarget
CodaFi Dec 1, 2020
4861441
Merge pull request #34885 from LucianoPAlmeida/warn-class-protocol-in…
CodaFi Dec 1, 2020
59c041d
Merge pull request #34907 from eeckstein/concurrency-irgen2
eeckstein Dec 1, 2020
6eb6dd6
[Concurrency] Update tests for Linux
DougGregor Dec 1, 2020
540ecac
Merge pull request #34908 from atrick/comment-escape
swift-ci Dec 1, 2020
dd92ed5
[test] Disable IRGen/unmanaged_objc_throw_func.swift with non-optimiz…
benlangmuir Dec 1, 2020
01d2638
[test] Mark two SILOptimizer tests requiring asserts
benlangmuir Dec 1, 2020
cf6a137
Merge pull request #34911 from benlangmuir/disable-some-tests-ci
benlangmuir Dec 1, 2020
aa86538
[Sema] Warn on @_spi imports of modules built from their public inter…
xymus Dec 1, 2020
eb8af67
Merge pull request #34910 from davezarzycki/pr34910
swift-ci Dec 1, 2020
3fd4aae
Merge pull request #34898 from gottesmm/pr-d3b6d903b097410b535d209400…
gottesmm Dec 1, 2020
b2ebf97
Merge pull request #34904 from AnthonyLatsis/sema-misc
swift-ci Dec 1, 2020
b47607c
[Runtime] Validate scribble data when metadata allocation scribbling …
mikeash Nov 19, 2020
951d4f3
Merge pull request #34425 from 3405691582/OpenBSDManpageLocation
swift-ci Dec 1, 2020
57a2e11
Merge pull request #34834 from xedin/replace-last-supertype-index
xedin Dec 1, 2020
05534f1
[Sema] Reword the warning on @_spi import of a public module
xymus Dec 1, 2020
4bbdc39
Merge pull request #34903 from CodaFi/target-acquired
CodaFi Dec 1, 2020
820b2c6
Merge pull request #34879 from Lukasa/cb-simpler-buffer-initializer
atrick Dec 1, 2020
84afba5
driver: forward driver invocation to the new driver by default
nkcsgexi Nov 30, 2020
f0f78a1
[sil] Templatize base class of FieldIndexCacheBase.
gottesmm Dec 1, 2020
6328fe3
Merge pull request #34912 from xymus/warn-ineffective-spi-import
xymus Dec 2, 2020
5266b99
Merge pull request #34891 from DougGregor/concurrency-arm64e-disable
DougGregor Dec 2, 2020
0dd3659
[AST] Fix conversion for Unmanaged<T> in ClangTypeConverter.
varungandhi-apple Dec 1, 2020
3e38655
Merge pull request #34883 from LucianoPAlmeida/SR-13899-coerce-to-che…
LucianoPAlmeida Dec 2, 2020
1a89813
AST: Introduce Builtin.RawUnsafeContinuation type
slavapestov Nov 20, 2020
c2bfff0
AST: Add support for building 'throws' and 'async' built-in functions
slavapestov Nov 20, 2020
a2dbdec
SIL: Refactor get_async_continuation[_addr] to return a RawUnsafeCont…
slavapestov Nov 20, 2020
361eef2
Concurrency: Change Unsafe[Throwing]Continuation<T> to store a RawUns…
slavapestov Nov 20, 2020
5c5f012
AST: Add withUnsafe[Throwing]Continuation built-ins
slavapestov Nov 20, 2020
9b3cd28
Concurrency: Implement high-level withUnsafe[Throwing]Continuation en…
slavapestov Dec 1, 2020
33aec98
[ownership] Assume values/operands in SILGlobalVariable blocks are no…
gottesmm Dec 1, 2020
09ae2ef
[ownership] Centralize all info about SILInstruction forwarding in th…
gottesmm Dec 1, 2020
b9a895f
Merge pull request #34894 from nkcsgexi/forward-new-driver-by-default
nkcsgexi Dec 2, 2020
39de3d4
[SILGen] Fix Clang type for foreign completion handler impl.
varungandhi-apple Dec 1, 2020
5ebba42
[ConstraintSystem] Mark type variable representing closure parameter …
xedin Dec 2, 2020
0992e77
Enable GenericSpecializer on OSSA by default (#34899)
meg-gupta Dec 2, 2020
b13a8e9
Merge pull request #34915 from gottesmm/forwarding-silinstruction
gottesmm Dec 2, 2020
1a28a91
[android] Switch armv7 vendor to 'unknown' in target triple to match …
finagolfin Dec 2, 2020
1a20cbe
Merge pull request #34918 from xedin/rdar-71858936
hborla Dec 2, 2020
e9074ee
Merge branch 'main' of github.com:swiftwasm/swift into maxd/main-merge
MaxDesiatov Dec 2, 2020
2b88336
Merge pull request #34828 from mikeash/metadata-allocator-scribble-check
mikeash Dec 2, 2020
e004a80
test: recover Driver/opt-record.swift
nkcsgexi Dec 2, 2020
aea1ace
Merge pull request #34920 from nkcsgexi/71898247
benlangmuir Dec 2, 2020
27a4e82
The runtime function swift_autoDiffCreateLinearMapContext was recentl…
aschwaighofer Dec 2, 2020
b8581cb
[AutoDiff] Add differentiation benchmarks (#34901)
rxwei Dec 2, 2020
3211817
[CMake] Copy legacy layouts for module architectures (#34921)
edymtt Dec 2, 2020
46f53a0
Merge pull request #34854 from keith/ks/nfc-remove-unnecessary-constant
CodaFi Dec 2, 2020
0555a86
Extract executor stuff out into a separate header and
rjmccall Nov 18, 2020
33c4d7f
[NFC] Add some conveniences for working with task priorities
rjmccall Nov 18, 2020
ca16548
Add a swift::atomic<T> which uses a better ABI than MSVC's 128-bit st…
rjmccall Nov 19, 2020
78a317a
Add support for declaring thread-local variables in the runtime.
rjmccall Nov 19, 2020
2547533
Add four words to DefaultActor so that we have some room to grow.
rjmccall Nov 21, 2020
853a865
Add a basic default-actor implementation with support for
rjmccall Nov 19, 2020
945011d
Handle default actors by special-casing layout in IRGen instead
rjmccall Dec 1, 2020
a53d83f
Disable the swift::atomic<..., 16> specialization until we can
rjmccall Dec 2, 2020
8518136
Merge pull request #34810 from xedin/rdar-66709164
xedin Dec 2, 2020
8595bd6
Merge pull request #34926 from varungandhi-apple/vg-ClangTypeConverte…
swift-ci Dec 3, 2020
ec71713
[ownership] Teach CanonicalizeInstruction how to eliminate trivial co…
gottesmm Nov 17, 2020
3706644
Merge pull request #34816 from rjmccall/actor-runtime
rjmccall Dec 3, 2020
e46ab4b
Merge pull request #34787 from gottesmm/pr-aa2767f26b092e40ae7b044c1a…
gottesmm Dec 3, 2020
3d91d7f
Merge pull request #34794 from xedin/rdar-71356981
xedin Dec 3, 2020
9936c86
Fix Mac Catalyst test dependency failures
beccadax Dec 3, 2020
752558c
IRGen: fix the LLVM struct definition of AsyncTask.
eeckstein Dec 3, 2020
89007e2
runtime: work around the missing task-enqueue implementation
eeckstein Dec 3, 2020
4e296c0
IRGen: emit emit_hop_to_executor instructions.
eeckstein Dec 3, 2020
423169c
SILOptimizer: update alias analysis in TempRValueOpt and TempLValueOpt
eeckstein Dec 3, 2020
3ae4e62
Merge pull request #34924 from aschwaighofer/fix_autodiff_test_failur…
aschwaighofer Dec 3, 2020
71a993c
Clarify comment
aschwaighofer Dec 3, 2020
0e547e2
Merge pull request #34761 from eeckstein/irgen-hop-to-executor
eeckstein Dec 3, 2020
007c74f
Temporarily disable test in optimize mode
aschwaighofer Dec 3, 2020
14ea0e5
Merge pull request #34937 from aschwaighofer/clarify_comment
swift-ci Dec 3, 2020
c133e13
Merge pull request #34916 from slavapestov/with-unsafe-continuation
slavapestov Dec 3, 2020
1798e66
[Concurrency] Disallow 'async' and non-async overloading.
DougGregor Dec 3, 2020
eaaeb94
Merge pull request #34936 from eeckstein/fix-templvalueopt
eeckstein Dec 3, 2020
bbd1ed4
Merge pull request #34939 from stephentyrone/f16-test-fixup
swift-ci Dec 3, 2020
ca02ef2
Merge pull request #34932 from brentdax/rdar-71897958
beccadax Dec 3, 2020
5598283
Change tensorflow link to point to `main`
texasmichelle Dec 3, 2020
6a79985
Merge pull request #34942 from varungandhi-apple/vg-silgen-fix-clang-…
swift-ci Dec 3, 2020
c4363b9
[cxx-interop] Support class template specializations in namespaces.
zoecarver Nov 2, 2020
976c0d4
[nfc] Remove unused variable "loc".
zoecarver Dec 3, 2020
f569be2
Merge pull request #34484 from apple/malmap-parse
lorentey Dec 3, 2020
50cddda
[Concurrency] Enable implicit conversion from synchronous -> asynchro…
DougGregor Dec 3, 2020
f46ad6c
[Concurrency] Emit thunk for synchronous -> async function conversion.
DougGregor Dec 3, 2020
d6e0ed1
Merge pull request #34938 from aschwaighofer/temporarily_disable_dict…
aschwaighofer Dec 3, 2020
2a7ed26
Temporarily disable hop_to_executor.sil test
aschwaighofer Dec 3, 2020
b57751d
Merge pull request #34950 from aschwaighofer/disable_hop_to_executor_…
aschwaighofer Dec 3, 2020
ac9ee94
Merge pull request #34940 from DougGregor/async-nonasync-redecl-checking
DougGregor Dec 3, 2020
3530dc6
[Concurrency] Allow synchronous witnesses to satisfy 'async' requirem…
DougGregor Dec 4, 2020
af25d75
Merge pull request #34947 from zoecarver/gardening/silopt-loc
swift-ci Dec 4, 2020
a218281
[SIL] Don't verify functions whose body was skipped
xymus Dec 3, 2020
5423da2
[Sema] Fix init_not_instance_member_use_assignment diagnostic typo
LucianoPAlmeida Dec 4, 2020
41f74e4
Merge pull request #34952 from DougGregor/convert-sync-to-async
DougGregor Dec 4, 2020
3ac7dbf
[gardening] Remove uses of "importDeclCached" and cleanup "VisitEnumC…
zoecarver Dec 4, 2020
ee0bb0a
Freeze PartialAsyncTask as a Job*.
rjmccall Dec 4, 2020
413352b
Merge pull request #34620 from AnthonyLatsis/parse-misc
AnthonyLatsis Dec 4, 2020
dd7ce80
[Concurrency] Reject top-level asynchronous code for now.
DougGregor Dec 4, 2020
c346d94
Fix the build and implementation of the 16-byte atomics for MSVC.
rjmccall Dec 4, 2020
a6027fc
[basicblock-utils] Add new API: JointPostDominanceSetComputer and its…
gottesmm Nov 27, 2020
18ef186
[Concurrency] Diagnose "try await" with a Fix-It
DougGregor Dec 4, 2020
16b63b1
[cfgoptutils] Add a new overload of addNewEdgeValueToBranch that take…
gottesmm Dec 4, 2020
ab71104
Merge pull request #34954 from LucianoPAlmeida/nfc-typo
LucianoPAlmeida Dec 4, 2020
040ac4b
Merge pull request #34945 from texasmichelle/main_links
texasmichelle Dec 4, 2020
3add677
build: correct dependencies for a unified build
compnerd Dec 4, 2020
9b77fef
IRGen: fix the async task type for 32 bit platforms
eeckstein Dec 4, 2020
a53b1e4
[Sema] Always look through optionals for unresolved member lookup
Jumhyn Nov 12, 2020
6b0f5da
[Unit tests] Add unit tests for optional lookup behavior
Jumhyn Dec 3, 2020
a6b302c
Merge pull request #34958 from rjmccall/msvc-atomic-128
rjmccall Dec 4, 2020
b935c4a
Merge pull request #34948 from xymus/skip-sil-verify-skipped-functions
xymus Dec 4, 2020
5dbd34d
[semantic-arc] Prevent future pointer invalidation issues in the Owne…
gottesmm Nov 28, 2020
105a273
[Concurrency] Traffic in underlying C type rather than JobFlags.
DougGregor Dec 4, 2020
40723a1
Merge pull request #34538 from zoecarver/cxx/fix/same-nominal-in-name…
zoecarver Dec 4, 2020
24aa9ac
[cxx-interop] Add support for templated member functions.
zoecarver Nov 13, 2020
6400a43
Merge pull request #34964 from eeckstein/fix-task-struct
aschwaighofer Dec 4, 2020
ceb1fda
Merge pull request #34930 from gottesmm/pr-d981ca4c510954e4ca19818a43…
gottesmm Dec 4, 2020
8914ba6
Merge pull request #34959 from gottesmm/pr-98cbb22de5b33dbf86eecf90b5…
gottesmm Dec 4, 2020
055dc66
[Frontend] Recover missing input file by dummy input buffer.
rintaro Nov 7, 2020
bf5d222
[Frontend] Opt-in missing file recovery
rintaro Dec 4, 2020
4957a5e
Merge pull request #34969 from DougGregor/swift_get_jobflags
DougGregor Dec 4, 2020
06a712b
Merge pull request #34957 from rjmccall/partial-async-task-is-a-job
DougGregor Dec 4, 2020
2d299de
Merge pull request #34862 from zoecarver/cxx/feat/templated-methods
zoecarver Dec 5, 2020
d4be3e8
[PtrAuth] Adopt AsyncContextResume schema.
nate-chandler Dec 4, 2020
7091e0d
[PtrAuth] Auth parent async context after loading.
nate-chandler Dec 4, 2020
b0913fd
[PtrAuth] Corrected AsyncContextParent schema.
nate-chandler Dec 4, 2020
c73e3c1
[NFC] Destructure AsyncFunctionPointer in getAsyncFunctionAndSize.
nate-chandler Dec 4, 2020
8f1b353
[mandatory-combine] Just like SILCombine, perform SIL canonicializati…
gottesmm Dec 3, 2020
04a1a72
[mandatory-combine] Eliminate trivially dead instructions aggressivel…
gottesmm Dec 4, 2020
c6525fd
[ownership] end_borrow/destroy_value with an operand that has Ownersh…
gottesmm Dec 4, 2020
7ce975f
[AST] Fix linker errors when doing a 'parser only' build
akyrtzi Dec 5, 2020
ad55fd1
Merge pull request #34949 from gottesmm/pr-1fb3bad22e50b7ec605b680cc7…
gottesmm Dec 5, 2020
e7ec8c2
[Async CC] Handle contextless fn ptrs in getAsyncFunctionAndSize.
nate-chandler Dec 5, 2020
bbf5795
[Async CC] Fixed AuthInfo of AsyncCallEmission.
nate-chandler Dec 4, 2020
d17c069
[Async CC] Auth'd AFP ptr of dynamically thin fn.
nate-chandler Dec 4, 2020
0d93b8d
[Async CC] Auth'd AFP ptr to load ptr from FunctionPointer.
nate-chandler Dec 4, 2020
659c1ed
[Async CC] Resigning AFP results in AFP.
nate-chandler Dec 4, 2020
5256697
[NFC] Use FunctionPointer::getRawPointer for vwitness.
nate-chandler Dec 4, 2020
eac9cfc
[Async CC] Auth'd AFP ptr of statically thin fn.
nate-chandler Dec 4, 2020
f1d263b
[Async CC] Fixed ptrauth for dynamic ptrs in partial applies.
nate-chandler Dec 4, 2020
b8ec80a
[Async CC] Resigned ptr passed to swift_task_create[_f].
nate-chandler Dec 4, 2020
0f2b659
[PtrAuth] Pass discriminator to swift_suspend_dispatch.
nate-chandler Dec 5, 2020
84e7ba7
[Test] Reenabled arm64e concurrency tests.
nate-chandler Dec 5, 2020
0b0025d
Merge pull request #34965 from compnerd/dependencies
drodriguez Dec 5, 2020
379d752
IRGen: Nonoverridden method descriptors should be true-const
slavapestov Dec 4, 2020
363d536
Merge pull request #34955 from rintaro/frontend-missing-input-rdar337…
rintaro Dec 5, 2020
a86a26c
Merge pull request #34976 from akyrtzi/parser-only-build-fix-linker-e…
akyrtzi Dec 5, 2020
509f905
Merge pull request #34977 from slavapestov/nonoverridden-descriptors
slavapestov Dec 5, 2020
54406b4
[ConstraintSystem] Track constraints that caused bindings to be "full…
xedin Nov 21, 2020
9df8375
[CSBindings] Delay attempting type variable if it's involved in unres…
xedin Nov 21, 2020
8104d5f
Merge pull request #34956 from zoecarver/cxx/cache-nullptr
zoecarver Dec 5, 2020
65db86b
Merge pull request #34715 from Jumhyn/SR-13815
xedin Dec 5, 2020
cba7029
[NFC] Correcting test case for SR-11535 and adding a explanation comment
LucianoPAlmeida Nov 14, 2020
3189d5c
[CSApply] Removing warning diagnostic that will be moved to a fix format
LucianoPAlmeida Nov 21, 2020
c8ea08d
[Sema] Creating ambiguous base for none member warning diagnostic as …
LucianoPAlmeida Nov 21, 2020
1c9ba53
[CSSimplify] Detect and record optional base infered base for unresol…
LucianoPAlmeida Nov 21, 2020
d954b84
[tests] Adjusting SR-11535 test case on the suit
LucianoPAlmeida Nov 21, 2020
28e7e95
[mandatory-combine] Put canonicalization and trivial DCE behind a fla…
gottesmm Dec 6, 2020
6aab0b2
Merge branch 'main' of github.com:swiftwasm/swift into maxd/main-merge
MaxDesiatov Dec 6, 2020
27ece6f
Merge pull request #34968 from gottesmm/pr-50e8ac8f699f7e3ef7096b4b56…
gottesmm Dec 6, 2020
3ef21aa
[semantic-arc] Change SemanticARCOptVisitor to be a SILValueVisitor i…
gottesmm Dec 4, 2020
5bd27db
IRGen: correct decoration handling for x86
compnerd Dec 7, 2020
abe0308
[Concurrency] Adopt Clang swift_async_name attribute.
DougGregor Dec 7, 2020
185f44e
Concurrency: Implement `resume(returning:)` and `resume(throwing:)` f…
jckarter Dec 1, 2020
e365fc5
Disable actor_class.swift tests on arm64e
aschwaighofer Dec 7, 2020
f702be9
SIL: cleanup the GenericSpecializationMangler API
eeckstein Dec 4, 2020
4db201c
Mangling: introduce an alternative mangling for generic specializations.
eeckstein Dec 7, 2020
9e43f49
GenericSpecializer: use an alternative mangling if the function has r…
eeckstein Dec 7, 2020
af8cf15
Merge pull request #34928 from nate-chandler/concurrency/irgen/ptrauth
nate-chandler Dec 7, 2020
62d5b72
[Test] Matched ordering in ptrauth-partial-apply.sil.
nate-chandler Dec 7, 2020
38d25e9
[CSBindings] Refactor handling of disjunction and member constraints
xedin Dec 7, 2020
a046eaf
[ConstraintSystem] Adjust `getFunctionArgApplyInfo` to respect holes
xedin Dec 7, 2020
b317763
Merge pull request #34983 from compnerd/decoration
compnerd Dec 7, 2020
611ff41
Merge pull request #34987 from nate-chandler/concurrency/irgen/test/p…
nate-chandler Dec 7, 2020
96c0bd1
Dump Fingerprint Status to the Provided Stream
CodaFi Dec 7, 2020
030ed2a
[NFC] Drop The Unused Interface Key From the Use Enumerator
CodaFi Dec 7, 2020
4804f03
[NFC] Don't Store An llvm::function_ref
CodaFi Dec 7, 2020
9075d32
[NFC] Delete An Unused Entrypoint
CodaFi Dec 7, 2020
2b2c5dc
[NFC] Move findJobsToRecompileWhenNodesChange Into The Headers
CodaFi Dec 7, 2020
276e1a2
Merge pull request #34989 from xedin/rdar-71525503
xedin Dec 8, 2020
b837675
[Concurrency] Introduce more completion-handler names to the import h…
DougGregor Dec 8, 2020
719e220
[Concurrency] Move "extra" text from completion handler parameter to …
DougGregor Dec 8, 2020
233eccd
mark the nearest CallExpr as implicitly async; not just the nearest A…
kavon Dec 2, 2020
60fa93f
emit hop_to_executor before & sometimes after implicitly-async calls
kavon Dec 3, 2020
e34a998
[IRGen] Use specialized mangled name for class constants.
nate-chandler Dec 8, 2020
e4d4c0b
[Sema] Moving detection of fix base type for optional member to attem…
LucianoPAlmeida Dec 8, 2020
cc2e32f
Merge pull request #34902 from jckarter/continuation-resume-operations
DougGregor Dec 8, 2020
57b10ac
Merge pull request #34992 from DougGregor/concurrency-objc-interop-fixes
DougGregor Dec 8, 2020
c1d178a
[ConstraintSystem] NFC: Rename `isFullyBound` -> `isDelayed` and clar…
xedin Dec 8, 2020
daa85e1
Merge pull request #34986 from eeckstein/fix-generic-spec
eeckstein Dec 8, 2020
20dd399
This test also fails in optimize size mode
aschwaighofer Dec 8, 2020
deb16ac
Disable tests that fails on some bots test/IRGen/objc_super.swift
aschwaighofer Dec 8, 2020
7dc50a1
Merge pull request #34917 from kavon/implicitly-async-silgen
kavon Dec 8, 2020
88efaac
Merge pull request #34988 from xedin/on-demand-fully-bound
xedin Dec 8, 2020
5087e41
SILGen: Implement native-to-foreign thunks for async methods.
jckarter Dec 4, 2020
48f53ab
[nfc] add alias to mailmap
kavon Dec 8, 2020
1687855
Merge pull request #34991 from CodaFi/depletion-layer
CodaFi Dec 8, 2020
3135b5d
Merge pull request #34994 from nate-chandler/rdar72053639
nate-chandler Dec 8, 2020
2ce140d
[ModuleInterface] Print custom attributes on function protocol requir…
xymus Dec 8, 2020
5b5384a
[Clang importer] Work around addition of _Nullable_result
DougGregor Dec 8, 2020
2619e2d
[ConstraintSystem] Track adjacent type variables while inferring bind…
xedin Dec 8, 2020
9fb7934
WinSDK: adjust for 32-bit builds
compnerd Dec 8, 2020
f92009d
Remove SILArgumentConvention::Direct_Deallocating
atrick Dec 8, 2020
b80e4bf
Merge pull request #35005 from DougGregor/nullable-result-workaround
DougGregor Dec 8, 2020
915afc3
[Clang importer] Implement support for importing _Nullable_result.
DougGregor Dec 4, 2020
82b44fc
[Concurrency] Fix async throws import nullability in the presence of …
DougGregor Dec 8, 2020
89c617a
Merge pull request #34919 from buttaface/android-vendor
compnerd Dec 9, 2020
2cf7d63
[AutoDiff] Fix ownership error in `VJPCloner::visitApplyInst`. (#35003)
dan-zheng Dec 9, 2020
17a2bc5
[NFC] Use std::mismatch Now That We Live In The Future
CodaFi Dec 9, 2020
d5d9e48
Merge pull request #35001 from kavon/main
swift-ci Dec 9, 2020
353e6fe
Merge pull request #35009 from atrick/remove-directdealloc
atrick Dec 9, 2020
8a6f6cb
[ownership][canonicalize] Canonicalize load_borrow the same we we can…
gottesmm Dec 9, 2020
a884fe1
Merge pull request #34744 from LucianoPAlmeida/correct-test-case
LucianoPAlmeida Dec 9, 2020
12eda10
Merge pull request #35002 from xymus/fix-func-proto-result-builder
xymus Dec 9, 2020
446c327
Merge pull request #35008 from compnerd/32-bit-sdk-overlay
compnerd Dec 9, 2020
a1d8819
Concurrency: repair the build after #34902
compnerd Dec 9, 2020
95309e1
Fixup Float16 availability for macCatalyst/x86_64
stephentyrone Dec 9, 2020
3d670f7
Merge pull request #35018 from gottesmm/pr-e08ad4b2552526ca2dc2718f49…
gottesmm Dec 9, 2020
2f48a53
Merge pull request #35017 from CodaFi/mishmatch
CodaFi Dec 9, 2020
6bd4a8e
[semantic-arc] Eliminate unneeded unchecked_ownership_conversion from…
gottesmm Dec 8, 2020
259d2bb
[ownership] Commit a generic replaceAllUsesAndEraseFixingOwnership ap…
gottesmm Dec 6, 2020
89dba54
Merge pull request #34973 from DougGregor/import-nullable-result
DougGregor Dec 9, 2020
c55b9cc
Merge pull request #34984 from DougGregor/import-swift-async-name
DougGregor Dec 9, 2020
e7b5843
runtime: add a StackAllocator utility
eeckstein Dec 2, 2020
ec1490d
[concurrency] Implement the Task allocator as bump-pointer allocator.
eeckstein Dec 8, 2020
579274b
Merge pull request #35007 from xedin/refactor-involves-type-vars
xedin Dec 9, 2020
1ca5577
Merge pull request #34559 from gottesmm/ossa-inst-simplify
gottesmm Dec 9, 2020
b43c671
Merge pull request #35022 from compnerd/34902
compnerd Dec 9, 2020
398be00
[sourcekit] Prevent race between getInitializationInfo and requests
benlangmuir Dec 9, 2020
291b75f
Merge pull request #34953 from jckarter/async-native-to-foreign-thunk
jckarter Dec 10, 2020
ea0c135
[ownership] Do not insert an end_borrow when calling emitEndBorrowOpe…
gottesmm Dec 9, 2020
743fdb1
[sil] Teach the verifier that an upcast of an address isn't a consumi…
gottesmm Dec 9, 2020
678612a
Merge pull request #35027 from benlangmuir/fix-sourcekitd-getInitiali…
benlangmuir Dec 10, 2020
041ecba
Canonicalize single value forwarding insts that only have debug_value…
gottesmm Dec 10, 2020
d815e27
[NFC] Add Compilation::Result
CodaFi Dec 10, 2020
3ecb0b0
[NFC] Move "HadAbnormalExit" Flag Into Compilation::Result
CodaFi Dec 10, 2020
d402292
[NFC] Mark `Result` as move-only
CodaFi Dec 10, 2020
d4e76d0
[NFC] Use Result::code to Simplify Some Callsites
CodaFi Dec 10, 2020
905c3d8
[Gardening] Document Compilation::Result
CodaFi Dec 10, 2020
fa35b0a
Merge pull request #35032 from gottesmm/pr-9d2d0740b16985e441b6396a97…
gottesmm Dec 10, 2020
7d11b0f
Merge pull request #35033 from gottesmm/pr-1bf9b6a4d0027fd10e89ae3bb8…
gottesmm Dec 10, 2020
4f8556d
Merge pull request #35031 from gottesmm/pr-7b80c07cdbdd273eed31ca1f3a…
gottesmm Dec 10, 2020
07e3f30
Merge pull request #35034 from CodaFi/turnout-results
CodaFi Dec 10, 2020
ad58de3
Merge pull request #34880 from eeckstein/task-allocator
eeckstein Dec 10, 2020
09f609a
Merge pull request #35035 from stephentyrone/catalyst-float16
swift-ci Dec 10, 2020
4f3f68e
Amend test to actually fail due to SR-13032 (#35038)
scentini Dec 10, 2020
59e77cc
[WASM] Disable concurrency feature temporarily
kateinoigakukun Dec 10, 2020
36d3b13
Merge remote-tracking branch 'apple/main' into maxd/main-merge
kateinoigakukun Dec 10, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .mailmap
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Adrian-Constantin Popescu <epsilon.gamma@gmail.com> <adrian-constantin.popescu@outlook.com>
Alex Blewitt <alblue@apple.com> <alex.blewitt@gmail.com>
Alex Hoppen <alex@alexhoppen.de> <alex@ateamer.de>
Alex Hoppen <alex@alexhoppen.de> <ahoppen@apple.com>>
Alex Hoppen <alex@alexhoppen.de> <ahoppen@apple.com>
Alexis Beingessner <abeingessner@apple.com> <a.beingessner@gmail.com>
Alper Çugun <github@alper.nl> <alper@users.noreply.github.com>
Amr Aboelela <amraboelela@gmail.com> <amraboelela@users.noreply.github.com>
Expand Down Expand Up @@ -79,6 +79,7 @@ Joe Shajrawi <shajrawi@apple.com> <joeshajrawi@Joes-iMac-Pro.local>
Johannes Weiß <johannesweiss@apple.com> <github@tux4u.de>
John Regner <john@johnregner.com> <regnerjr@gmail.com>
Karoy Lorentey <klorentey@apple.com> <karoly@lorentey.hu>
Kavon Farvardin <kfarvardin@apple.com> <kavon@farvard.in>
Keith Smiley <k@keith.so> <keithbsmiley@gmail.com>
Kevin Ballard <kevin@sb.org> <kevin.ballard@postmates.com>
Kevin Saldaña <ksaldana1@gmail.com>
Expand Down
1 change: 1 addition & 0 deletions benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ set(SWIFT_BENCH_MODULES
single-source/DictionaryRemove
single-source/DictionarySubscriptDefault
single-source/DictionarySwap
single-source/Differentiation
single-source/Diffing
single-source/DiffingMyers
single-source/DropFirst
Expand Down
73 changes: 73 additions & 0 deletions benchmark/single-source/Differentiation.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
//===--- Differentiation.swift -------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//

#if canImport(_Differentiation)

import TestsUtils
import _Differentiation

public let Differentiation = [
BenchmarkInfo(
name: "DifferentiationIdentity",
runFunction: run_DifferentiationIdentity,
tags: [.regression, .differentiation]
),
BenchmarkInfo(
name: "DifferentiationSquare",
runFunction: run_DifferentiationSquare,
tags: [.regression, .differentiation]
),
BenchmarkInfo(
name: "DifferentiationArraySum",
runFunction: run_DifferentiationArraySum,
tags: [.regression, .differentiation],
setUpFunction: { blackHole(onesArray) }
),
]

@inline(never)
public func run_DifferentiationIdentity(N: Int) {
func f(_ x: Float) -> Float {
x
}
for _ in 0..<1000*N {
blackHole(valueWithGradient(at: 1, in: f))
}
}

@inline(never)
public func run_DifferentiationSquare(N: Int) {
func f(_ x: Float) -> Float {
x * x
}
for _ in 0..<1000*N {
blackHole(valueWithGradient(at: 1, in: f))
}
}

let onesArray: [Float] = Array(repeating: 1, count: 50)

@inline(never)
public func run_DifferentiationArraySum(N: Int) {
func sum(_ array: [Float]) -> Float {
var result: Float = 0
for i in withoutDerivative(at: 0..<array.count) {
result += array[i]
}
return result
}
for _ in 0..<N {
blackHole(valueWithGradient(at: onesArray, in: sum))
}
}

#endif
2 changes: 1 addition & 1 deletion benchmark/utils/TestsUtils.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public enum BenchmarkCategory : String {
case runtime, refcount, metadata
// Other general areas of compiled code validation.
case abstraction, safetychecks, exceptions, bridging, concurrency, existential
case exclusivity
case exclusivity, differentiation

// Algorithms are "micro" that test some well-known algorithm in isolation:
// sorting, searching, hashing, fibonaci, crypto, etc.
Expand Down
6 changes: 6 additions & 0 deletions benchmark/utils/main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ import DictionaryOfAnyHashableStrings
import DictionaryRemove
import DictionarySubscriptDefault
import DictionarySwap
#if canImport(_Differentiation)
import Differentiation
#endif
import Diffing
import DiffingMyers
import DropFirst
Expand Down Expand Up @@ -258,6 +261,9 @@ registerBenchmark(DictionaryOfAnyHashableStrings)
registerBenchmark(DictionaryRemove)
registerBenchmark(DictionarySubscriptDefault)
registerBenchmark(DictionarySwap)
#if canImport(_Differentiation)
registerBenchmark(Differentiation)
#endif
registerBenchmark(Diffing)
registerBenchmark(DiffingMyers)
registerBenchmark(DropFirst)
Expand Down
4 changes: 2 additions & 2 deletions cmake/modules/SwiftConfigureSDK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -297,9 +297,9 @@ macro(configure_sdk_unix name architectures)
else()
message(SEND_ERROR "Couldn't find SWIFT_SDK_ANDROID_ARCH_armv7_PATH")
endif()
set(SWIFT_SDK_ANDROID_ARCH_${arch}_TRIPLE "armv7-none-linux-androideabi")
set(SWIFT_SDK_ANDROID_ARCH_${arch}_TRIPLE "armv7-unknown-linux-androideabi")
# The Android ABI isn't part of the module triple.
set(SWIFT_SDK_ANDROID_ARCH_${arch}_MODULE "armv7-none-linux-android")
set(SWIFT_SDK_ANDROID_ARCH_${arch}_MODULE "armv7-unknown-linux-android")
elseif("${arch}" STREQUAL "aarch64")
set(SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE "aarch64-linux-android")
set(SWIFT_SDK_ANDROID_ARCH_${arch}_ALT_SPELLING "aarch64")
Expand Down
6 changes: 5 additions & 1 deletion cmake/modules/SwiftManpage.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,12 @@ function(manpage)
ALL)

add_dependencies(${MP_INSTALL_IN_COMPONENT} ${manpage_target})
set(MANPAGE_DEST "share/")
if("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "OPENBSD")
set(MANPAGE_DEST "")
endif()
swift_install_in_component(FILES "${output_file_name}"
DESTINATION "share/man/man${MP_MAN_SECTION}"
DESTINATION "${MANPAGE_DEST}man/man${MP_MAN_SECTION}"
COMPONENT "${MP_INSTALL_IN_COMPONENT}")
endfunction()

4 changes: 4 additions & 0 deletions docs/ABI/Mangling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -492,9 +492,11 @@ Types

type ::= 'Bb' // Builtin.BridgeObject
type ::= 'BB' // Builtin.UnsafeValueBuffer
type ::= 'Bc' // Builtin.RawUnsafeContinuation
type ::= 'Bf' NATURAL '_' // Builtin.Float<n>
type ::= 'Bi' NATURAL '_' // Builtin.Int<n>
type ::= 'BI' // Builtin.IntLiteral
type ::= 'Bj' // Builtin.Job
type ::= 'BO' // Builtin.UnknownObject (no longer a distinct type, but still used for AnyObject)
type ::= 'Bo' // Builtin.NativeObject
type ::= 'Bp' // Builtin.RawPointer
Expand Down Expand Up @@ -1006,6 +1008,8 @@ Function Specializations
::

specialization ::= type '_' type* 'Tg' SPEC-INFO // Generic re-abstracted specialization
specialization ::= type '_' type* 'TB' SPEC-INFO // Alternative mangling for generic re-abstracted specializations,
// used for functions with re-abstracted resilient parameter types.
specialization ::= type '_' type* 'Ts' SPEC-INFO // Generic re-abstracted prespecialization
specialization ::= type '_' type* 'TG' SPEC-INFO // Generic not re-abstracted specialization
specialization ::= type '_' type* 'Ti' SPEC-INFO // Inlined function with generic substitutions.
Expand Down
2 changes: 1 addition & 1 deletion docs/Android.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ $ NDK_PATH="path/to/android-ndk21"
$ build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swiftc \ # The Swift compiler built in the previous step.
# The location of the tools used to build Android binaries
-tools-directory ${NDK_PATH}/toolchains/llvm/prebuilt/linux-x86_64/bin/ \
-target armv7a-none-linux-androideabi \ # Targeting android-armv7, and supply the path to libgcc.
-target armv7a-unknown-linux-androideabi \ # Targeting android-armv7, and supply the path to libgcc.
-L ${NDK_PATH}/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a \
-sdk ${NDK_PATH}/platforms/android-21/arch-arm \ # Use the same architecture and API version as you used to build the stdlib in the previous step.
hello.swift
Expand Down
2 changes: 1 addition & 1 deletion docs/ContinuousIntegration.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ preset=buildbot,tools=RA,stdlib=RD,test=non_executable

### Build and Test the Minimal Freestanding Stdlib using Toolchain Specific Preset Testing

To test the minimal freestanding stdlib on macho, you can use the support for running a miscellanous preset against a snapshot toolchain.
To test the minimal freestanding stdlib on macho, you can use the support for running a miscellaneous preset against a snapshot toolchain.

```
preset=stdlib_S_standalone_minimal_macho_x86_64,build,test
Expand Down
8 changes: 7 additions & 1 deletion docs/DifferentiableProgramming.md
Original file line number Diff line number Diff line change
Expand Up @@ -1273,6 +1273,12 @@ The synthesized `TangentVector` has the same effective access level as the
original type declaration. Properties in the synthesized `TangentVector` have
the same effective access level as their corresponding original properties.

The synthesized `TangentVector` adopts protocols from all `TangentVector`
conformance constraints implied by the declaration that triggers synthesis. For
example, synthesized `TangentVector`s always adopt the `AdditiveArithmetic` and
`Differentiable` protocols because the `Differentiable` protocol requires that
`TangentVector` conforms to `AdditiveArithmetic` and `Differentiable`.

The synthesized `move(along:)` method calls `move(along:)` for each pair of a
differentiable variable and its corresponding property in `TangentVector`.

Expand Down Expand Up @@ -1879,7 +1885,7 @@ Since complex numbers are not yet defined in the standard library, we extended
the complex number type defined in the
[NumericAnnex](https://github.com/xwu/NumericAnnex) library to be
differentiable.
[The full implementation is here](https://github.com/tensorflow/swift-apis/blob/master/Sources/third_party/Experimental/Complex.swift).
[The full implementation is here](https://github.com/tensorflow/swift-apis/blob/main/Sources/third_party/Experimental/Complex.swift).
The implementation adopts the
[Autograd convention](https://github.com/HIPS/autograd/blob/master/docs/tutorial.md#complex-numbers)
for derivatives of functions with complex arguments or results, so that we can
Expand Down
44 changes: 44 additions & 0 deletions include/swift/ABI/Actor.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
//===--- Actor.h - ABI structures for actors --------------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// Swift ABI describing actors.
//
//===----------------------------------------------------------------------===//

#ifndef SWIFT_ABI_ACTOR_H
#define SWIFT_ABI_ACTOR_H

#include "swift/ABI/HeapObject.h"
#include "swift/ABI/MetadataValues.h"

namespace swift {

/// The default actor implementation. This is the layout of both
/// the DefaultActor and NSDefaultActor classes.
class alignas(Alignment_DefaultActor) DefaultActor : public HeapObject {
public:
// These constructors do not initialize the actor instance, and the
// destructor does not destroy the actor instance; you must call
// swift_defaultActor_{initialize,destroy} yourself.
constexpr DefaultActor(const HeapMetadata *metadata)
: HeapObject(metadata), PrivateData{} {}

constexpr DefaultActor(const HeapMetadata *metadata,
InlineRefCounts::Immortal_t immortal)
: HeapObject(metadata, immortal), PrivateData{} {}

void *PrivateData[NumWords_DefaultActor];
};

} // end namespace swift

#endif
7 changes: 6 additions & 1 deletion include/swift/ABI/Class.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,12 @@ enum class ObjCClassFlags : uint32_t {
/// This class provides a non-trivial .cxx_destruct method, but
/// its .cxx_construct is trivial. For backwards compatibility,
/// when setting this flag, HasCXXStructors must be set as well.
HasCXXDestructorOnly = 0x00100
HasCXXDestructorOnly = 0x00100,

/// This class does not allow associated objects on instances.
///
/// Will cause the objc runtime to trap in objc_setAssociatedObject.
ForbidsAssociatedObjects = 0x00400,
};
inline ObjCClassFlags &operator|=(ObjCClassFlags &lhs, ObjCClassFlags rhs) {
lhs = ObjCClassFlags(uint32_t(lhs) | uint32_t(rhs));
Expand Down
119 changes: 119 additions & 0 deletions include/swift/ABI/Executor.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
//===--- Executor.h - ABI structures for executors --------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// Swift ABI describing executors.
//
//===----------------------------------------------------------------------===//

#ifndef SWIFT_ABI_EXECUTOR_H
#define SWIFT_ABI_EXECUTOR_H

#include <inttypes.h>

namespace swift {
class AsyncContext;
class AsyncTask;
class DefaultActor;
class Job;

/// An ExecutorRef isn't necessarily just a pointer to an executor
/// object; it may have other bits set.
class ExecutorRef {
static constexpr uintptr_t IsDefaultActor = 1;
static constexpr uintptr_t PointerMask = 7;

uintptr_t Value;

constexpr ExecutorRef(uintptr_t value) : Value(value) {}

public:
/// A generic execution environment. When running in a generic
/// environment, it's presumed to be okay to switch synchronously
/// to an actor. As an executor request, this represents a request
/// to drop whatever the current actor is.
constexpr static ExecutorRef generic() {
return ExecutorRef(0);
}

/// Given a pointer to a default actor, return an executor reference
/// for it.
static ExecutorRef forDefaultActor(DefaultActor *actor) {
assert(actor);
return ExecutorRef(reinterpret_cast<uintptr_t>(actor) | IsDefaultActor);
}

/// Is this the generic executor reference?
bool isGeneric() const {
return Value == 0;
}

/// Is this a default-actor executor reference?
bool isDefaultActor() const {
return Value & IsDefaultActor;
}
DefaultActor *getDefaultActor() const {
assert(isDefaultActor());
return reinterpret_cast<DefaultActor*>(Value & ~PointerMask);
}

/// Do we have to do any work to start running as the requested
/// executor?
bool mustSwitchToRun(ExecutorRef newExecutor) const {
return *this != newExecutor;
}

bool operator==(ExecutorRef other) const {
return Value == other.Value;
}
bool operator!=(ExecutorRef other) const {
return Value != other.Value;
}
};

using JobInvokeFunction =
SWIFT_CC(swiftasync)
void (Job *, ExecutorRef);

using TaskContinuationFunction =
SWIFT_CC(swiftasync)
void (AsyncTask *, ExecutorRef, AsyncContext *);

template <class Fn>
struct AsyncFunctionTypeImpl;
template <class Result, class... Params>
struct AsyncFunctionTypeImpl<Result(Params...)> {
// TODO: expand and include the arguments in the parameters.
using type = TaskContinuationFunction;
};

template <class Fn>
using AsyncFunctionType = typename AsyncFunctionTypeImpl<Fn>::type;

/// A "function pointer" for an async function.
///
/// Eventually, this will always be signed with the data key
/// using a type-specific discriminator.
template <class FnType>
class AsyncFunctionPointer {
public:
/// The function to run.
RelativeDirectPointer<AsyncFunctionType<FnType>,
/*nullable*/ false,
int32_t> Function;

/// The expected size of the context.
uint32_t ExpectedContextSize;
};

}

#endif
Loading