Skip to content

[Archetype builder] Never use the representative as the archetype anchor #6684

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
Jan 9, 2017

Conversation

DougGregor
Copy link
Member

The "representative" potential archetype chosen by the archetype
builder is essentially chosen at random, because this is a union-find
data structure. Therefore, it should never be used as the "archetype
anchor", which is the canonical representative of an equivalence class
that affects both semantics and ABI.

Decouple the computation of the archetype anchor from the
representative, and verify that the chosen archetype anchor no worse
than all other choices.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

…hor.

The "representative" potential archetype chosen by the archetype
builder is essentially chosen at random, because this is a union-find
data structure. Therefore, it should never be used as the "archetype
anchor", which is the canonical representative of an equivalence class
that affects both semantics and ABI.

Decouple the computation of the archetype anchor from the
representative, and verify that the chosen archetype anchor no worse
than all other choices.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

@DougGregor
Copy link
Member Author

Note: this is the same as the previous PR. The CI failure we'd seen was caused by something else.

@swift-ci swift-ci merged commit a37fa88 into swiftlang:master Jan 9, 2017
@DougGregor DougGregor deleted the archetype-anchor-cleanup branch January 9, 2017 22:54
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