Skip to content

[pull] swiftwasm from main #4587

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 50 commits into from
May 25, 2022
Merged

[pull] swiftwasm from main #4587

merged 50 commits into from
May 25, 2022

Conversation

pull[bot]
Copy link

@pull pull bot commented May 24, 2022

See Commits and Changes for more details.


Created by pull[bot]

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

AnthonyLatsis and others added 30 commits May 1, 2022 06:21
…t need to pattern match and varies with asserts.
- Revise '// Prints' comments style like the other stdlib files
- Remove verbose string interpolations and extra spaces
- Remove some unneeded parentheses
- Replace the majority of ' : ' with ': '
- Fix wrong indentation
- Keep files with a single empty line at the end
… in C++

`libInternalSwiftSyntaxParser.dylib` currently doesn’t link against `SwiftExperimentalStringProcessing`, so it can’t use the regex lexing functions defined within. This caused SwiftSyntax to fail if the source code contained regex literals.

Implement a fallback regex lexing function in C++ and use it for SwiftSyntax parsing.

rdar://93580240

Co-authored-by: Rintaro Ishizaki <[email protected]>
Otherwise we can duplicate linker flags across input binaries, which can result in very large linkerr invocation commands.

Resolves swiftlang#58380
The number of dependencies isn't super important for this test - it is
just checking paths are correctly remapped. Remove the check for the
number of dependencies.
The utility provides a standard way for backwards traversing a region of
a function constrained by a predicate (isInRegion) starting from some
root blocks.  It exposes a visit function for post-order and iterable
collections for post-order and reverse post-order.  Adding corresponding
pre-order functionality will be straightforward.
The new optimistic, iterative backward reachability is optimized to do
as little work as possible.  Only blocks not all of whose successors are
kills participate in the worklist at all.  The blocks within that
discovered set are visited via a worklist which tracks blocks which have
been found to be unreachable at begin and whose
unreachable-at-begin-ness must be propagated into
unreachable-at-end-ness of its predecessors.

rdar://92545900
The new utility finds access scopes which are barriers by finding access
scopes which themselves contain barriers.  This is necessary to (1)
allow hoisting through access scopes when possible (i.e. not simply
treating all end_access instructions as barriers) and (2) not hoist into
access scopes that contain barriers and in so doing introduce
exclusivity violations.
Instead of doing one or two non-iterative BackwardReachability runs,
do a single run of IterativeBackwardReachability.  During that, pause
after discovery/local dataflow and use VisitBarrierAccessScopes to
determine which end_access instructions in the discovered region are
barriers.  Add those instructions as kills to the dataflow.  Finally run
the global dataflow.

Enables SSADestroyHoisting to hoist destroys over loops.

Addresses a correctness issue where access scopes which were open at
barrier blocks were not promoted to barriers, resulting in destroy_addrs
getting hoisted into unrelated access scopes.
docs: add some build tips in DevelopmentTips.md
…is `Any`

Computing type relations to 'Any' is not very enlightning because everything would be convertible to it. If the contextual type is 'Any', just report all type relations as 'Unknown'.

rdar://64812321
rdar://84684686
We should only copy bootstrapping files when we're actually
bootstrapping.
…ing-swiftsyntax

[SwiftSyntax] Parse regex literals using a fallback lexer implemented in C++
`SmallVector` has two template arguments, so both have to be
specified.

Resolves: rdar://93769727
…-fix

[cxx-interop] Fix typo in diagnostic message
fec7a0b skipped all non-visible
`ValueDecls` but missed `ExtensionDecls`, which have the same issue.
Make sure to skip these too.

Resolves rdar://91279771.
[CSClosure] Specify stack capacity of a `SmallVector`
amartini51 and others added 19 commits May 23, 2022 12:51
Fix bot by loosening FileCheck pattern
…no-strapping

Only copy bootstrap legacy layout files when bootstrapping
docs: a few minor fixes/improvements in DevelopmentTips.md
[Autolink Extract] Keep a set of linker flags instead of vector
[Concurrency] Revise `Async-` related files doc
[TypeChecker] NFC: Add a test-case for issue#59031 (crash in `ConjunctionStep::resume`)
[DeclCollector] Handle pound diagnostic decl in addMembersToRoot
…extensions

[IDE] Skip walking serialized non-visible extension decls
…for-generics-features

Update CHANGELOG for new generics features in Swift 5.7
…tractSet

Revert "[Autolink Extract] Keep a set of linker flags instead of vector"
…or-any

[CodeCompletion] Don’t compute type relations if the contextual type is `Any`
It didn't survive the python3 upgrade well.
…esolve

[Sema] Check for already existential type while resolving existential
@pull pull bot added the merge-conflict Resolve conflicts manually label May 24, 2022
@kateinoigakukun kateinoigakukun merged commit 090d45d into swiftwasm May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.