-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Divide the SIL concepts of values and instructions #12057
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 Please test and merge. |
A small patch :-) |
@swift-ci Please test and merge. |
@swift-ci Please test |
Build failed |
Build failed |
@swift-ci Please test and merge. |
@swift-ci Please test. |
Build failed |
Build failed |
@swift-ci Please test Linux |
Build failed |
Looks like ubuntu-16.04-04 is maybe messed up. |
Okay, it passed the full OS X build. Resolved the merge and trying a smoke test. |
@swift-ci Please smoke test and merge |
1 similar comment
@swift-ci Please smoke test and merge |
introduce a common superclass, SILNode. This is in preparation for allowing instructions to have multiple results. It is also a somewhat more elegant representation for instructions that have zero results. Instructions that are known to have exactly one result inherit from a class, SingleValueInstruction, that subclasses both ValueBase and SILInstruction. Some care must be taken when working with SILNode pointers and testing for equality; please see the comment on SILNode for more information. A number of SIL passes needed to be updated in order to handle this new distinction between SIL values and SIL instructions. Note that the SIL parser is now stricter about not trying to assign a result value from an instruction (like 'return' or 'strong_retain') that does not produce any.
Rebased again, bumped the module version out of an abundance of caution. |
@swift-ci Please smoke test and merge |
1 similar comment
@swift-ci Please smoke test and merge |
@rjmccall after a force push, due to a bug in the jenkins, you need to write the comment twice. |
@gottesmm Ah, interesting, thanks. |
No worries. I got you = ). |
Thanks for shepharding. :) |
Woot! |
This is in preparation for multi-valued instructions.