Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jun 24, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

DougGregor and others added 30 commits June 16, 2023 22:53
…rvable

At one point this gave us trouble, but it's since been fixed. Add the
test to make sure we don't regress. Covers rdar://109231047.
We shouldn't be using stat() or dlsym() in the freestanding
runtime.

rdar://111214571
rdar://106555012
Ported versions of the unit tests that Andy added to pruned liveness to
FieldSensitivePL.

rdar://110862719
…utes.

The excessive escaping of `init` in macro role attributes was a
workaround paired with #65442 to
smooth things over when working across Swift compiler versions.
However, it's causing problems for init accessors, so stop escaping.

Fixes rdar://111190084.
…erties.

Fixes rdar://110776763, a case where initialized stored properties
introduced by peer macros weren't working alongside declared stored
properties.
…e inits

The code to remove these subsumed properties was part of creating the
memberwise initializer declaration, which could lead to
inconsistencies with the newly-introduced request for gathering the
memberwise-initialized properties. Move the code into the computation
of the list of memberwise-initialized properties.

Also update a few more places that were effectively recomputing the
set of memberwise-initialized properties themselves over to the
request.
…pertiesRequest

Simplify the implementation and take advantage of request caching.
Sink address projections in ArrayPropertyOpt and enable verification to ensure we have no address phis
…ssor.

This is a workaround for the lack of a request for getting accessors.
…-init

[ASTPrinter] Stop unnecessary escaping of `init` in macro role attributes
The multi-def algorithm is based off the single-def algorithm.  However,
it differs from it in needing to handle "liveness holes"--uses before defs.

When identifying blocks which are originally live, the algorithm starts
from consuming blocks and walks backwards until a condition is met.

Previously, that condition was finding blocks which were originally
live.  That makes sense in the single-def case: if a block is originally
live, either it was already walked through or else it was one of the
blocks discovered by liveness.  In either case, its predecessors have
already been visited if appropriate.

However, in the multi-def case, this condition is too stringent.  It
fails to account for the possibility of a block with has a "liveness
hole".  Only stop the backwards walk if the predecessor not only (1) was
in originally live but additionally (2) "kills liveness"--doesn't have a
use before a def.

rdar://111221183
During initializeLiveness, all blocks which contain destroys are to be
recorded in consuming blocks.  Previously, however, certain reinits were
not being added.  Here, all reinits are correctly added.
[Freestanding] Remove uses of stat() and dlsym().
[Macros] Add test using observer accessors (didSet/willSet) with Observable
[FieldSensitivePL] NFC: Added unit tests.
[cxx-interop] Use translation unit scope when doing lookups
…66899)

* [IRGen+Runtime] Layout string getEnumTag for fixed size enums subset

getEnumTag impl for layout strings of fixed sized enums that use a function to fetch the enum tag

* Fix potential UB in IRGen
Code snippet was missing required of: parameter.
@pull pull bot merged commit da34a4e into swiftwasm:main Jun 24, 2023
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.

8 participants