Skip to content

Relax SILCombiner's archtype tracker: better existential_metatype support #12587

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 1 commit into from
Oct 24, 2017

Conversation

shajrawi
Copy link

radar rdar://problem/35052912

Fixes a bug in opened archetypes tracker wherein we did not handle init_existential_metatype / open_existential_metatype correctly: the opened type can be the first operand in the meta-type variant.

@shajrawi
Copy link
Author

@swift-ci Please smoke test

@shajrawi
Copy link
Author

Linux failure is unrelated - lib dispatch problem - just filed a bug https://bugs.swift.org/browse/SR-6205

// If we can't find the ExactConformance - bail
// We only encountered such situations in hand-written SIL (so far)
// Should take care of it nonetheless because to avoid a compiler crash
if (!ExactConformance.hasValue()) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's fine to assert on invalid SIL, even when hand-written. I'd rather shake out the cases where SILGen generates invalid SIL than have this

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@shajrawi shajrawi force-pushed the fix_silcombien_arch branch from b09be81 to 8fdca7c Compare October 23, 2017 23:27
@shajrawi
Copy link
Author

@swift-ci Please smoke test

@slavapestov
Copy link
Contributor

Thanks for doing the cleanup! LGTM

@shajrawi shajrawi merged commit 24f74f2 into swiftlang:master Oct 24, 2017
@shajrawi shajrawi deleted the fix_silcombien_arch branch October 24, 2017 00:01
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.

2 participants