-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Fix OSSA handling of address uses #39663
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
@swift-ci test |
Build failed |
Build failed |
Failures in |
@swift-ci test |
@swift-ci test source compatibility |
@swift-ci smoke test |
@swift-ci benchmark |
Performance (x86_64): -O
Code size: -OPerformance (x86_64): -Osize
Code size: -OsizePerformance (x86_64): -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
|
@swift-ci smoke test |
The return value was inverted, meaning the OSSA utilities simply bailed out in most cases. Fixing this means potentially exposing other OSSA bugs.
Recording uses is now optional. This utility is also used simply to check for PointerEscape. When uses are recorded, they are used to extend a live range. There could be a large number of transitive uses that we don't want to pass back to the caller.
To test finding transitive address uses
Recording uses is now optional. This utility is also used simply to check for PointerEscape. When uses are recorded, they are used to extend a live range. There could be a large number of transitive uses that we don't want to pass back to the caller.
Because not all OSSA utility fixes have been committed yet.
findInnerTransitiveUsesForAddress was incorrectly returning true for pointer escapes. Introduce enum AddressUseKind { NonEscaping, PointerEscape, Unknown }; Clients need to handle each of these cases differently.
cb8f264
to
b4a47b6
Compare
@swift-ci test |
@swift-ci test source compatibility |
@swift-ci smoke test windows |
Full SCK testing passed on this a few days ago. The current run passed through SwifterSwift. I need to merge this to start SCK testing on a dependent PR. |
Fix code that analyzes address uses for use in OSSA utilities. Various correctness and efficiency issues noticed via code inspection.
This code was mostly disabled because of a bug. Fixing it exposes other bugs in OSSA utilities, so some of the logic is temporarily disabled. Those utilities have been fixed, but they are dependent on these changes so need to be in a following PR. Additional unit tests will be checked in with those changes.