-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Fix OwnershipLiveRange for @owned values getting transformed to none values via switch_enum #60101
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 |
I am fine with this for 5.6 to fix this bug. That being said, lets get on main the real fix for this as we discussed: getting @atrick's patch that stops OSSA from using dead end blocks committed. That will solve this problem while allowing us to turn back on this optimization. It will also eliminate a bunch of subtle bugs that we have seen due to dead end blocks in OSSA. |
…values via switch_enum
fd46c6d
to
05e6139
Compare
Fixed a code comment. |
@swift-ci test |
@swift-ci benchmark |
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.
Thanks!
Pasting benchmark results from the bot : ------- Performance (x86_64): -O ------- REGRESSION OLD NEW DELTA RATIO ------- Code size: -O ------- IMPROVEMENT OLD NEW DELTA RATIO ------- Code size: -Osize ------- REGRESSION OLD NEW DELTA RATIO IMPROVEMENT OLD NEW DELTA RATIO ------- Code size: -swiftlibs ------- |
…values via switch_enum (swiftlang#60101)
…values via switch_enum (swiftlang#60101)
rdar://95039799
We are currently not computing OwnershipLiveRange correctly in the presence of switch_enum transforming the owned value to a none value.
We can end up with illegal SIL with LoadCopyToLoadBorrowOptimization, due to this.