-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[opt] remove trivially dead instructions in mandatory combine #30429
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
[opt] remove trivially dead instructions in mandatory combine #30429
Conversation
@gottesmm when updating these tests I sometimes skipped the mandatory combine pass and sometimes added uses. I only skipped the pass when I thought that the test had absolutely nothing to do with mandatory combine. The only exception is in Serialization. I think mandatory combine should run for those two serialization tests but, I was having trouble generating uses for all the |
@gottesmm ping. |
@swift-ci please smoke test |
e98bbc5
to
dfa472d
Compare
@swift-ci please smoke test and merge |
1 similar comment
@swift-ci please smoke test and merge |
@zoecarver given that you are hitting failures, lets do a full test on this. |
We should also run the device filecheck tests to make sure you didn't miss anything. @shahmishal you said we could do that via a bot now, right? |
I suspect those were added/modified since I last updated this PR. I'll build from TOT and fix those now. |
Ok. But yea, please do a full test and also we need to do a preset test to test that the file check device tests aren't broken by this. |
@gottesmm will do. I'll try to run those tests tonight and fix whatever errors arise. |
dfa472d
to
fd39d81
Compare
@swift-ci test |
Build failed |
Build failed |
@swift-ci please test source compatibility |
@gottesmm I think that's the device filecheck tests that you were talking about. |
@swift-ci please test source compatibility |
@swift-ci please smoke test OS X platform |
@swift-ci Please smoke test OS X platform |
The Debug build failed because of this error:
It doesn't look like that's because of this patch. Should I re-trigger the bots or is the Release build good enough? |
@swift-ci test windows platform |
preset=buildbot,tools=RA,stdlib=RD,test=non_executable |
preset=buildbot,tools=RA,stdlib=RD,test=non_executable |
Possible that the debug source compat builder ran out of space @swift-ci test Source Compatibility Debug |
The preset build failed because of #31022 but also had another error. I'll fix the other failing test tonight then build the preset. |
Failing tests that do not test mandatory combine are updated to skip the mandatory combine pass. Othere tests are updated to use otherwise removed values.
fd39d81
to
4cc98f0
Compare
preset=buildbot,tools=RA,stdlib=RD,test=non_executable |
@swift-ci please test |
preset=buildbot,tools=RA,stdlib=RD,test=non_executable |
@swift-ci please test |
@swift-ci please test windows platform |
Looks like the enum stuff is failing on windows on master too. |
Should be fixed by #31040 |
@gottesmm let me know if this looks good to you and I'll merge it. |
@swift-ci test Windows |
@zoecarver thanks for jumping through the hoops! |
Of course. Thanks for reviewing :) |
Except for all the test changes, this patch should be very simple. When mandatory combine iterates over all instructions it already checks if they're trivially dead. Now, if they are trivially dead, they will be erased.