-
Notifications
You must be signed in to change notification settings - Fork 10.6k
[ownership] Fix the eager specializer for ownership #32756
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
66daf86 to
69fec4f
Compare
|
@swift-ci test |
|
@swift-ci test source compatibility |
|
Build failed |
|
@swift-ci test linux platform |
|
Build failed |
|
Build failed |
atrick
left a comment
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.
Look pretty good. I don't see test cases for
- the load_borrow code path
- the code path for a specializing a loadable, nontrivial generic type, where the members don't depend on the generic parameter
|
Those test cases are there. I just didn't put in explicit FileCheck checks. I'll add them. |
Today unchecked_bitwise_cast returns a value with ObjCUnowned ownership. This is important to do since the instruction can truncate memory meaning we want to treat it as a new object that must be copied before use. This means that in OSSA we do not have a purely ossa forwarding unchecked layout-compatible assuming cast. This role is filled by unchecked_value_cast.
69fec4f to
7a32079
Compare
… coverage for ossa. Specifically, we were missing a bunch of coverage around specializing guaranteed parameters and non-trivial values in general.
7a32079 to
ac3109a
Compare
|
@atrick I made it more explicit. |
|
@swift-ci test |
2 similar comments
|
@swift-ci test |
|
@swift-ci test |
|
@swift-ci test source compatibility |
2 similar comments
|
@swift-ci test source compatibility |
|
@swift-ci test source compatibility |
|
@swift-ci test |
|
@swift-ci test source compatibility |
|
@swift-ci benchmark |
|
@swift-ci test windows platform |
|
@swift-ci benchmark |
|
@swift-ci test windows platform |
Performance: -O
Code size: -OPerformance: -Osize
Code size: -OsizePerformance: -Onone
Code size: -swiftlibsHow 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 |
|
Build failed |
|
@swift-ci smoke test linux platform |
|
Compatibility failures I think are due to a swiftpm issue. The full linux test is failing in lldb in a way that can't be caused by this patch (I am not even running this in the pipeline yet). |
This is an in progress PR to fix the open coded part of the eager specializer for ownership now that the generic specializer itself is now fixed for OSSA.