-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Update some parts of SimplifyCFG for OSSA #61824
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
0eaee7b
to
b555b10
Compare
b555b10
to
fb40b18
Compare
fb40b18
to
e42f751
Compare
e42f751
to
e86dc2c
Compare
@swift-ci test |
@swift-ci test source compatibility |
@swift-ci benchmark |
e86dc2c
to
607e1eb
Compare
@swift-ci test |
@swift-ci test source compatibility |
@swift-ci benchmark |
------- Performance (x86_64): -O ------- REGRESSION OLD NEW DELTA RATIO IMPROVEMENT OLD NEW DELTA RATIO ------- Performance (x86_64): -Osize ------- REGRESSION OLD NEW DELTA RATIO IMPROVEMENT OLD NEW DELTA RATIO ------- Performance (x86_64): -Onone ------- REGRESSION OLD NEW DELTA RATIO IMPROVEMENT OLD NEW DELTA RATIO |
@swift-ci test windows platform |
@swift-ci benchmark |
607e1eb
to
95fbd54
Compare
@swift-ci test |
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.
Just a couple of comments... Looks great!
95fbd54
to
f66bd2e
Compare
@swift-ci test |
f66bd2e
to
52134c4
Compare
@swift-ci test |
… dead block as a phi With f9861ec we consider SILPhiArgument in a block with no predecessors as phis, remove assert that we expect non-empt predecessors to reflect this change.
52134c4
to
62901c2
Compare
@swift-ci smoke test and merge |
This PR fixes and adds OSSA tests for the following SimplifyCFG transformations:
SimplifyCFG::simplifySwitchEnumBlock
SimplifyCFG::simplifySwitchEnumUnreachableBlocks
SimplifyCFG::simplifyTermWithIdenticalDestBlocks
SimplifyCFG::simplifyArgs
SimplifyCFG::simplifySwitchEnumOnObjcClassOptional
Left over transformations in SimplifyCFG not included in this PR are jump threading, dominator based simplifications and argument splitting, which will be posted in a subsequent PR.