-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[SILOptimizer] Added MandatoryCombiner. #27049
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
[SILOptimizer] Added MandatoryCombiner. #27049
Conversation
@swift-ci please test |
@swift-ci please ASAN test |
Build failed |
e816d87
to
fcba7e5
Compare
@swift-ci please test |
1 similar comment
@swift-ci please test |
@swift-ci please ASAN test |
1 similar comment
@swift-ci please ASAN 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.
Looks overall very reasonable. I found some small things. As a meta comment, SmallVector, SmallVectorImpl are both imported into the swift namespace so you don't need to put llvm::. You can find the list in this header: include/swift/Basic/LLVM.h.
82c57de
to
0d371c1
Compare
@swift-ci please 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.
Is my understanding correct? Assuming so, LGTM
0d371c1
to
0ad2183
Compare
@swift-ci please test |
Build failed |
Build failed |
0ad2183
to
df105d8
Compare
@swift-ci please test |
Minimal commit to get the mandatory combiner rolling. The intent of the mandatory combiner is to do basic transformations after the diagnostics passes have run at the beginning of both the Onone and the performance pipelines. For now, it simply visits reachable instructions and does no work. In a subsequent commit, apply instructions will be processed and replaced if they are calls to partial applies defined in the same function. At that point an attempt will be made to eliminate the partial apply altogether. For now, the pass does no work and is not part of any pipeline.
df105d8
to
211e656
Compare
@swift-ci please smoke test and merge |
@swift-ci please smoke test and merge |
@swift-ci please smoke test OS X platform |
@swift-ci please clean smoke test OS X platform |
Minimal commit to get the mandatory combiner rolling. The intent of the mandatory combiner is to do basic transformations after the diagnostics passes have run at the beginning of both the Onone and the performance pipelines. For now, it simply visits reachable instructions and does no work.
In a subsequent commit, apply instructions will be processed and replaced if they are calls to partial applies defined in the same function. At that point an attempt will be made to eliminate the partial apply altogether.
For now, the pass does no work and is not part of any pipeline.