Skip to content

Conversation

pull[bot]
Copy link

@pull pull bot commented May 20, 2020

See Commits and Changes for more details.


Created by pull[bot]. Want to support this open source service? Please star it : )

owenv and others added 27 commits May 12, 2020 18:40
…sourceLocation is used

- Always use the line number in the actual source file when extracting excerpts and adding highlights/fix-its
- Always use the display name when printing excerpt titles
- Don't print surrounding lines when an annotated line is in a virtual file

This reverts commit f919e04.
- Compile will start / did finish now includes the operation
  kind (perform sema or code complete).
- See also
  https://forums.swift.org/t/sourcekit-lsp-file-status-ux/35947
- `key.compile_operation` instead of `key.compileoperation`
- Make the operation kind optional (nothing emitted for perform sema)
…pty field

Introduce getByteOffsetDuringLayout() so that we can treat empty fields
just like other fixed sized field while performing layout.

rdar://62349871
in global completion result. Overly modules have the same name as the
shadowed modules. We should not list both names because they are
identical.

Maintain a set of seen module names to avoid suggesting duplicated
names.

rdar://problem/63370253
Remove the bundled generated `llvm-config.h` as the options do not apply
to the runtime usage for LLVMSupport.  The configuration is known
statically.
… RangeExpressions

The previous documentation of this operator in `Range` context was lost sometime during 2017. This new version is a simplified version of the original copy, with substantial inspiration taken from the present-day documentation of the same operator on `Optional`.

Fixes [SR-12842](https://bugs.swift.org/browse/SR-12842).
platform-module-dir isn't quite right, since we're looking for libswiftCore.dylib.

rdar://problem/63437032
stdlib: remove `llvm-config.h` from swiftLLVMSupport
Rather than use `fprintf` for the error handling path use the platform
specific error handling systems (`asl_log`, `__android_log_printf`) if
available.  The standard file streams are not available on all platforms
(e.g. Android).
…atedmodule-rdar63370253

[CodeCompletion] Avoid suggesting duplicated module names
[SourceKit] Include operation kind in compile notifications
Removed support for iOS 8.2 and earlier from lit.cfg
…-match-op-missing-docs

[SR-12842] Restore missing docs for RangeExpression.~=
Finish off private intransitive dependencies with an implementation of
dependency replay.

For the sake of illustration, imagine a chain of requests

A -> B -> C -> ...

Supposing each request is never cached, then every invocation of the
compiler with the same inputs will always kick off the exact same set of
requests. For the purposes of dependency tracking, that also means every
single lookup request will run without issue, and all dependencies will
be accurately reported. But we live in a world with cached requests.
Suppose request B* is cached. The first time we encounter that request,
its evaluation order looks identical:

A -> B* -> C -> ...

If we are in a mode that compiles single primaries, this is not
a problem because every request graph will look like this.
But if we are in a mode where we are compiling multiple primaries, then
subsequent request graphs will *actually* hit the cache and never
execute request C or any of its dependent computations!

A -> B*

Supposing C was a lookup request, that means the name(s) looked up
downstream of B* will *never* be recorded in the referenced name tracker
which can lead to miscompilation. Note that this is not a problem
inherent to the design of the request evaluator - caches in the compiler
have *always* hidden dependent lookups. In fact, the request evaluator
provides us our first opportunity to resolve this correctness bug!
…-rdar62923248

[CodeCompletion] Disable fast-completion dependecy checking test cases
…lib-dir

[Test] Have llvm-support-odr-violation.sh use platform-dylib-dir.
…ayout_empty_followed_by_nonfixed

IRGen: Correctly compute the offset for a non-fixed field after an empty field
`@noDerivative` parameter mangling was added, so the test is not meaningful.
The test occasionally flaked during CI, so it is better to remove it.
runtime: improve error handling path for the runtime
CodaFi added 2 commits May 20, 2020 16:08
Split off the notion of "recording" dependencies from the notion of
"collecting" dependencies. This corrects an oversight in the previous
design where dependency replay and recording were actually not "free" in
WMO where we actually never track dependencies. This architecture also
lays the groundwork for the removal of the referenced name trackers.

The algorithm builds upon the infrastructure for dependency sources and
sinks laid down during the cut over to request-based dependency tracking
in swiftlang#30723.

The idea of the naive algorithm is this:

For a chain of requests A -> B* -> C -> D* -> ... -> L where L is a lookup
request and all starred requests are cached, once L writes into the
dependency collector, the active stack is walked and at each cache-point
the results of dependency collection are associated with the request
itself (in this example, B* and D* have all the names L found associated
with them). Subsequent evaluations of these cached requests (B* and D*
et al) will then *replay* the previous lookup results from L into the
active referenced name tracker. One complication is, suppose the
evaluation of a cached request involves multiple downstream name
lookups. More concretely, suppose we have the following request trace:

A* -> B -> L
      |
       -> C -> L
          |
           -> D -> L
              |
               -> ...

Then A* must see the union of the results of each L. If this reminds
anyone of a union-find, that is no accident! A persistent union-find
a la Conchon and Filliatre is probably in order to help bring down peak
heap usage...
gribozavr and others added 3 commits May 21, 2020 09:46
iPhone 5 device does not come preconfigured in the latest Xcode
(11.4.1).
…6-instructions

Add instructions on how to create a 32-bit iOS simulator device
@pull pull bot merged commit 627df41 into swiftwasm May 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.