-
Notifications
You must be signed in to change notification settings - Fork 10.5k
SwiftCompilerSources: refactor and verify conformances to ForwardingInstruction #71723
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
eeckstein
commented
Feb 19, 2024
- add the ability to implement SIL verification in swift
- add all missing instruction classes and require that all new instructions must be added and registered in SwiftCompilerSources as well
- add ForwardingInstruction conformances to missing forwarding instruction classes
- move all the forwarding instruction conformance definitions into ForwardingInstructions.swift
@swift-ci test |
054959b
to
fa68759
Compare
@swift-ci test |
fa68759
to
6dfc947
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.
Awesome. I've been wanting this verification.
Tangentially, it would be nice to verify statically that all instructions added to SILNodes.def exist in Instruction.swift
Note that I had made some of the same fixes here: So I rebased on top of this PR and am now waiting for it to be merged first. |
@swift-ci test linux platform |
Rerunning linux tests since the old build log is no longer available. |
It's not needed because UnaryInstruction is "derived" from Instruction which has this property.
And require that all new instructions must be added and registered in SwiftCompilerSources as well.
Because it can only appear in the initializer list of a global variable.
* add ForwardingInstruction conformances to missing forwarding instruction classes * move all the forwarding instruction conformance definitions into ForwardingInstructions.swift * remove the default implementations of the requirements, so that every instruction needs to specify them
Verify that the C++ view of forwarding instructions agrees with the swift ForwardInstruction conformances.
6dfc947
to
a13a6e0
Compare
@swift-ci test |