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