Skip to content
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

[pull] swiftwasm from main #5462

Merged
merged 37 commits into from
May 24, 2023
Merged

[pull] swiftwasm from main #5462

merged 37 commits into from
May 24, 2023

Conversation

pull[bot]
Copy link

@pull pull bot commented May 23, 2023

See Commits and Changes for more details.


Created by pull[bot]

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

artemcm and others added 30 commits May 19, 2023 14:47
…ate output category

Instead of being a part of 'directDependencies' on a module dependency info, make them a separate array of dependency IDs for Swift Source and Textual modules.

This will allow clients to still distinguish direct module dependencies imported from a given module, versus dependencies added because direct/transitive Clang module dependencies have Swift overlays.

This change does *not* remove overlay dependencies from 'directDependencies' yet, just adds them as a separate field on the module details info. A followup change will remove overlay and bridging header dependencies from 'directDependencies' once the clients have had a chance to adopt to this change.
The given code snippet assigns some value to the method: `doSomething()`, but it seems that it should be just in the form of method invocation.
The code in swift-demangle to cope with macro demangling was slightly
wrong.  Fix it.

rdar://109649226
It's not needed and just complicates the SIL
* add new create-functions for instructions
* allow the Builder to build static initializer instructions for global variables
* some refactoring to simplify the implementation
…ls in Swift

* add the StaticInitCloner utility
* remove bridging of `copyStaticInitializer` and `createStaticInitializer`
* add `Context.mangleOutlinedVariable` and `Context.createGlobalVariable`
* StaticInitCloner
* some APIs in SILGlobalVariable
Previously we were doing a `std::find` over the
files for each coverage mapping, which would be
quadratic for WMO. Switch to using a DenseMap
instead.
…Use.

I think this was a mistake from when I changed implementations to use pure
scalar bit processing rather than processing all at once. Instead of just
updating the internal found resulting uses array, we were appending to it.

Some notes:

1. This actually did not break anything semantically in the move checker since
we do not use this array in the caller in anyway. We just use it internally in
the routine to first lookup the current state which we then process in the
routine. That being said, this API is written such that a user /could/ do that
and we want to allow for users to be able to do that so that we match what
PrunedLiveness does.

2. This could cause memory corruption due to iterator invalidation if by
appending we caused the SmallVector to reallocate as we iterated over the
array.

So to fix this I did the following:

a. I changed the push_back to be an assignment.
b. I removed llvm::enumerate just out of paranoia if the assignment could
   potentially cause iterator invalidation.

The given test exercises this code path and with the old behavior would crash
with asan or guard malloc.

rdar://109673338
add optimizations-on variants directly in the noncopyable tests
Implement the ObjectOutliner and `load` simplification in Swift
exmaple -> example
Drop fix-its produced in generated buffers, such
as for macro expansions, as these aren't directly
actionable by the user.

rdar://108231633
fix typo in CompletionLookup.cpp
Modified code snippet in OptimizationTips.rst
[Dependency Scanning] Break out Swift Overlay dependencies into separate output category
gottesmm and others added 6 commits May 23, 2023 10:08
…cb5f9c8bb95a8138613

[move-only] Fix a thinko in FieldSensitivePrunedLiveBlocks::updateForUse
NOTE: This does not affect normal parameters since normal parameters that are
noncopyable never have default access semantics since the user is forced to
specify either borrow or consume. This is incontrast to implicit parameters like
the newValue of a setter.

rdar://109726282
apple#66042)

* [IRGen] Support additional single payload enum cases in layout strings

rdar://105837101

Adds layout string support for single payload enums with simple (non-scattered) extra inhabitant patterns

* Add more test cases
…3a532ffac4379ba1778

[move-only] Fix emission of addressonly noncopyable setter new values.
@kateinoigakukun kateinoigakukun merged commit d33bd9f into swiftwasm May 24, 2023
9 checks passed
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.

None yet