Skip to content

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

Merged
merged 3 commits into from
Sep 25, 2017

Conversation

rjmccall
Copy link
Contributor

This is in preparation for multi-valued instructions.

@rjmccall
Copy link
Contributor Author

@swift-ci Please test and merge.

@eeckstein
Copy link
Contributor

A small patch :-)
LGTM!

@rjmccall
Copy link
Contributor Author

@swift-ci Please test and merge.

@rjmccall
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 8c17a03819d2cf29113f80a9a56d0bb31a6b085f

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 8c17a03819d2cf29113f80a9a56d0bb31a6b085f

@rjmccall
Copy link
Contributor Author

@swift-ci Please test and merge.

@rjmccall
Copy link
Contributor Author

@swift-ci Please test.

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - d825490c172e98116e69c132b2fbe4331b55e2dc

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - d825490c172e98116e69c132b2fbe4331b55e2dc

@rjmccall
Copy link
Contributor Author

@swift-ci Please test Linux

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - f49db6605bd1770332b96e413b1d300cb9369167

@rjmccall
Copy link
Contributor Author

Looks like ubuntu-16.04-04 is maybe messed up.

@rjmccall
Copy link
Contributor Author

rjmccall commented Sep 25, 2017

Okay, it passed the full OS X build. Resolved the merge and trying a smoke test.

@rjmccall
Copy link
Contributor Author

@swift-ci Please smoke test and merge

1 similar comment
@gottesmm
Copy link
Contributor

@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.
@rjmccall
Copy link
Contributor Author

Rebased again, bumped the module version out of an abundance of caution.

@rjmccall
Copy link
Contributor Author

@swift-ci Please smoke test and merge

1 similar comment
@gottesmm
Copy link
Contributor

@swift-ci Please smoke test and merge

@gottesmm
Copy link
Contributor

@rjmccall after a force push, due to a bug in the jenkins, you need to write the comment twice.

@rjmccall
Copy link
Contributor Author

@gottesmm Ah, interesting, thanks.

@gottesmm
Copy link
Contributor

No worries. I got you = ).

@rjmccall rjmccall merged commit fc9a7b7 into swiftlang:master Sep 25, 2017
@rjmccall rjmccall deleted the sil-nodes branch September 25, 2017 17:12
@rjmccall
Copy link
Contributor Author

Thanks for shepharding. :)

@gottesmm
Copy link
Contributor

Woot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants