Commit Graph

1071 Commits

Author SHA1 Message Date
Robert Widmann
aa0bf50323 Merge pull request #30723 from CodaFi/dependendable-dependencies
[Evaluator] Online Request-Based Incremental Dependency Tracking
2020-03-31 18:13:05 -07:00
Robert Widmann
3d09a00a0a CacheKind -> RequestFlags 2020-03-31 16:16:53 -07:00
Michael Gottesman
00d4576977 [multimapcache] Add an efficient CRTP based write-once multimap cache that can be small.
The properties of this multimap cache are:

1. Values are stored (inline if Small) in a Vector and our map internally maps
   keys to (start, length) of slices of the Vector. This is done instead of
   storing arrays refs to ensure that if our array goes from small -> large, we
   do not have stale pointers.

2. Values are only allowed to be inserted all at once. This is ok, since this is
   a cache.

3. One is not storing individual small vectors in a map (or state storing
   SmallVectors). This can inadvertantly add up to using a lot of memory and is
   not needed for homogenous data.
2020-03-31 15:12:37 -07:00
ematejska
1420b815d5 [Autodiff upstream] Upstream autodiff unittests (#30709)
* Adding @transpose attr deserialization support

* Turning on the transpose serialization test

* Adding the autodiff unittests
2020-03-30 09:14:22 -07:00
swift-ci
ff36b5ede8 Merge pull request #30676 from CodaFi/watman 2020-03-27 12:12:21 -07:00
swift-ci
047438711f Merge pull request #30355 from mikeash/remote-mirror-type-name-api 2020-03-27 10:51:24 -07:00
Robert Widmann
f1b12e154d [Gardening] Use std::isnan 2020-03-27 10:11:08 -07:00
Robert Widmann
987cd55f50 [NFC] Drop llvm::Expected from Evaluation Points
A request is intended to be a pure function of its inputs. That function could, in theory, fail. In practice, there were basically no requests taking advantage of this ability - the few that were using it to explicitly detect cycles can just return reasonable defaults instead of forwarding the error on up the stack.

This is because cycles are checked by *the Evaluator*, and are unwound by the Evaluator.

Therefore, restore the idea that the evaluate functions are themselves pure, but keep the idea that *evaluation* of those requests may fail. This model enables the best of both worlds: we not only keep the evaluator flexible enough to handle future use cases like cancellation and diagnostic invalidation, but also request-based dependencies using the values computed at the evaluation points. These aforementioned use cases would use the llvm::Expected interface and the regular evaluation-point interface respectively.
2020-03-26 23:08:02 -07:00
Joe Groff
4981da4a4d Merge pull request #30632 from Azoy/swift-5-3-hacks
Bump backward compatibility to 5.3
2020-03-26 11:16:01 -07:00
David Smith
40e67b53c9 Merge pull request #30034 from Catfish-Man/what-i-tell-you-three-times-is-true
Avoid mishandling retain_n of immortal objects where n >= 3
2020-03-26 11:00:46 -07:00
David Smith
78c693ba2d Avoid mishandling retain_n of immortal objects where n >= 3 2020-03-25 15:53:31 -07:00
Michael Gottesman
c5f6038a0a [blotmapvector] Add support for try_emplace.
I am going to use this in a forthcoming commit.
2020-03-25 14:24:56 -07:00
Azoy
d8ea42adfb Bump backward compatibility to 5.3 2020-03-25 11:41:15 -04:00
Mike Ash
b726056f5f [RemoteMirror] Fix up test.py to pass python_lint.
rdar://problem/59909982
2020-03-25 10:06:58 -04:00
Mike Ash
15468ee70a [RemoteMirror] Remove C++isms from interop header and clean up.
* Change nullptr to NULL.
* Change bool to int.
* Fix missing DataLayout parameter in createReflectionContext.
* Silence unused parameter warnings in the minimalDataLayoutQueryFunctions.

rdar://problem/59909982
2020-03-23 13:53:35 -04:00
Michael Forster
32d2b1486c Fix build breaks for master-next against llvm.org.
StringRef conversion to std::string needs to be explicit now.
2020-03-13 19:08:22 +01:00
Michael Gottesman
6b88599412 Revert "Merge pull request #30327 from rintaro/revert-30289"
This reverts commit 0a6ccd802f, reversing
changes made to 7c5d74e86b.
2020-03-10 16:52:58 -07:00
Rintaro Ishizaki
fad1b431c2 Revert "[semantic-arc-opts] Implement @owned phi web elimination for phi webs with a single phi node that only have copy_value introducers."
This reverts commit 6fee59bd6a.
2020-03-10 08:43:46 -07:00
Michael Gottesman
6fee59bd6a [semantic-arc-opts] Implement @owned phi web elimination for phi webs with a single phi node that only have copy_value introducers.
This is the most simple initial version that I can commit. The hope is that this will help to bring this up in a nice way.

I am going to handle the multiple phi node and load [copy] case later to reduce
code churn.

<rdar://problem/56720436>
2020-03-09 16:04:48 -07:00
Hamish Knight
c26eb11baf Merge pull request #30190 from hamishknight/the-beginning-of-the-pipeline-end
Requestify SourceFile parsing
2020-03-05 11:17:24 -08:00
Hamish Knight
dafa9b96f3 [unittests] Remove a use of addTopLevelDecl
Instead, cache the decls as a result of
ParseSourceFileRequest.
2020-03-03 15:53:18 -08:00
Hamish Knight
011f4f1584 Requestify SourceFile parsing
Add ParseSourceFileRequest that parses a SourceFile
for its top-level decls.
2020-03-03 15:53:18 -08:00
Dario Rexin
4c0b8fa5c3 build: Don't link against libatomic on Linux
The dependency on libatomic was removed in 97df90fbf1. This commit removes leftover cases that still link against libatomic.
2020-03-02 17:34:53 -08:00
David Ungar
6ee0306580 Merge pull request #30078 from apple/fix-include-punctuation
Switch UnitTestSourceFileDepGraphFactory.cpp to use `"` instead of `<`.
2020-02-28 08:50:12 -08:00
David Ungar
d09c906553 Fix overly conservative fingerprint bug & fix tests. 2020-02-27 23:38:03 -08:00
Brennan Saeta
691863d9d2 Switch UnitTestSourceFileDepGraphFactory.cpp to use " instead of <.
Using `"` for the `#include` is more accurate, and required to make the toolchain
build in more strict build environments.
2020-02-26 12:51:42 -08:00
David Ungar
b367d2ebec Rename files and classes involved in SourceFileDepGraphConstruction 2020-02-19 23:57:23 -07:00
Michael Gottesman
aac282b0dc Merge pull request #29878 from gottesmm/pr-a084c54a01e290d0552ef3ce96a8a6146cb7d446
Revert "Revert "[basic] Add a simple vector backed 2 stage multi map.""
2020-02-17 12:57:37 -08:00
Michael Gottesman
bc8a4db572 Revert "Revert "[basic] Add a simple vector backed 2 stage multi map.""
This reverts commit f071cf133a.

With ASAN fixes.
2020-02-16 23:14:57 -08:00
David Ungar
709c58ae8e Merge pull request #29869 from davidungar/unit-test-users-v4
[Incremental] Reorganization of SourceFileDepGraph building and mocking.
2020-02-16 22:26:53 -07:00
David Ungar
f4dc8884f0 Further reorganization. 2020-02-16 11:51:36 -07:00
David Ungar
314d1e12c3 Reorganization of SourceFileDepGraph building and mocking. 2020-02-14 21:53:45 -07:00
Daniel Rodríguez Troitiño
59bf0862df [windows] Move ENABLE_EXTENDED_ALIGN_STORAGE into AddSwiftUnittest
It will apply to everything that uses add_swift_unittest and hopefully it will avoid all the problems.
2020-02-13 20:49:07 -08:00
Daniel Rodríguez Troitiño
5c66f0ee85 [windows] Compare SWIFT_HOST_VARIANT against lowercase value.
SWIFT_HOST_VARIANT is lowercase. SWIFT_HOST_VARIANT_SDK is uppercase.

Compare against the right one.

This tries to fix #29805, which didn't fix the CI for Windows VS2017.
2020-02-13 13:56:43 -08:00
Saleem Abdulrasool
3dfec1b47b unittests: adjust for VS2017 15.8+
Repair the VS2017 build similar to the standard library.
2020-02-12 22:44:07 -08:00
Saleem Abdulrasool
5ae2368eb5 unittests: add stub for __SwiftValue
This placeholds the `__SwiftValue` metadata necessary for the Swift
runtime tests.
2020-02-12 14:59:12 -08:00
swift-ci
4615299cc9 Merge remote-tracking branch 'origin/master' into master-rebranch 2020-02-06 14:44:41 -08:00
Dan Zheng
b826b3cc04 [AST] Fix bug in IndexSubset::findPrevious. (#29675)
Fix incorrect loop decrement in `IndexSubset::findPrevious`
Add unit tests.
2020-02-06 14:24:00 -08:00
swift-ci
cf3c4aa3f5 Merge remote-tracking branch 'origin/master' into master-rebranch 2020-02-05 16:06:28 -08:00
Hamish Knight
8037f2feb0 Merge pull request #29619 from hamishknight/a-buffet-of-tokens
Parse Swift decls in one shot
2020-02-05 13:58:31 -08:00
swift-ci
9b78f57bd4 Merge remote-tracking branch 'origin/master' into master-rebranch 2020-02-04 14:23:48 -08:00
Hamish Knight
312f7ddc50 Parse Swift decls in one shot
Instead of interleaving typechecking and parsing
for SIL files, first parse the file for Swift
decls by skipping over any intermixed SIL decls.
Then we can perform type checking, and finally SIL
parsing where we now skip over Swift decls.

This is an intermediate step to requestifying the
parsing of a source file for its Swift decls.
2020-02-04 13:04:50 -08:00
John McCall
319cc795d8 Add a simple TaggedUnion defined in terms of ExternalUnion. NFC. 2020-02-04 15:05:39 -05:00
swift-ci
86520fc853 Merge remote-tracking branch 'origin/master' into master-rebranch 2020-01-29 19:03:10 -08:00
David Ungar
286781fc3e Add a unit test for an individual node change, & add ability to set fingerprints in unit tests. 2020-01-29 16:48:42 -08:00
swift-ci
81a6a266aa Merge remote-tracking branch 'origin/master' into master-rebranch 2020-01-27 18:23:23 -08:00
David Ungar
0a3be7575a unit tests compile 2020-01-27 15:14:46 -08:00
David Ungar
d61f6f2f66 Changes to support per-type-body fingerprints. 2020-01-27 15:14:46 -08:00
swift-ci
26ab9840a4 Merge remote-tracking branch 'origin/master' into master-rebranch 2020-01-26 09:03:30 -08:00
Saleem Abdulrasool
729ad36b80 build: delegate rpath handling to CMake
This moves the rpath handling to the build system rather than trying to
figure out the correct flags to pass to the driver.
2020-01-25 17:01:07 -08:00