-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[ownership] Move OME after CopyForwarding #33106
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
Conversation
This may break pass restart in the interim, since OME is a module pass and is being moved into a function pass pipeline. OME should be converted to a function pass. |
// We earlier eliminated ownership if we are not compiling the stdlib. Now | ||
// handle the stdlib functions. | ||
P.addNonTransparentFunctionOwnershipModelEliminator(); | ||
|
||
addFunctionPasses(P, OptimizationLevelKind::HighLevel); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a note here that we are lowering ownership in side addFunctionPasses. I am just trying to be very careful/explicit during the transition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@swift-ci benchmark |
Performance: -O
Code size: -O
Performance: -Osize
Code size: -OsizePerformance: -Onone
Code size: -swiftlibs
How to read the dataThe tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.If you see any unexpected regressions, you should consider fixing the Noise: Sometimes the performance results (not code size!) contain false Hardware Overview
|
Converting the OME to a function pass is not an option. Doing so, we may end up inlining ossa functions to non-ossa functions due to callgraph scc cycles. Added a comment to document this interim issue. |
@swift-ci test |
@swift-ci test source compatibility |
Build failed |
Build failed |
@swift-ci smoke test OS X platform |
1 similar comment
@swift-ci smoke test OS X platform |
@swift-ci test OS X platform |
Build failed |
@swift-ci test |
* 'master' of github.com:apple/swift: [ownership] Move OME after CopyForwarding (swiftlang#33106)
This reverts commit ef972eb.
This reverts commit ef972eb.
* 'master' of github.com:apple/swift: (37 commits) [android] Disable a test that needs LTO support. [Function builders] Add support for function builders on stored struct properties. [cxx-interop] Rename tests in Cxx/templates to show they are class templates. (swiftlang#34086) [Concurrency] (De-)mangling for SIL @async function types. Sema: Rename coerceObjectArgumentToType() to coerceSelfArgumentToType() Sema: Simplify adjustSelfTypeForMember() a little bit to avoid a cycle Sema: Fix diagnoseSelfAssignment() with computed properties [Gardening] Rename Incremental/PrivateDependencies to Incremental/Dependencies [ownership] Teach the ownership verifier how to verify that guaranteed yielded values are only used within the coroutine's lifetime. Sema: Don't trigger ImplInfoRequest from TypeChecker::buildRefExpr() Sema: Use ASTScope::lookupSingleLocalDecl() in BodyInitKindRequest Sema: Use ASTScope::lookupSingleLocalDecl() in CSGen's CollectVarRefs pass Sema: Use ASTScope::lookupSingleLocalDecl() in MissingOptionalUnwrapFailure ASTScope: Add a new lookupSingleLocalDecl() entry point AST: Convert ConstructorDecl::getDelegatingOrChainedInitKind() into a request WinSDK: extract version into a separate submodule Revert "Merge pull request swiftlang#33205 from meg-gupta/ometofunctionpass" Revert "[ownership] Move OME after CopyForwarding (swiftlang#33106)" [Type checker] Eliminate a use-after-free due to C++ temporaries. Install Incremental External Dependency Integration Code ...
* 'master' of github.com:apple/swift: Revert "Revert swiftlang#33106 and swiftlang#33205" (swiftlang#34106)
No description provided.