Skip to content

[sil-devirtualizer] Use a more advanced algorithm to figure out the exact types of instances #4756

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
Sep 14, 2016

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Sep 14, 2016

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

  • Look through BB arguments with multiple predecessors.
  • Provide a new helper function to figure out the exact type of the underlying object. It will be used by subsequent commits to improve the escape analysis.

…xact types of instances

- Look through BB arguments with multiple predecessors.
- Provide a new helper function to figure out the exact type of the underlying object. It will be used by subsequent commits to improve the escape analysis.
@swiftix
Copy link
Contributor Author

swiftix commented Sep 14, 2016

@swift-ci Please smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Sep 14, 2016

@swift-ci Please smoke test Linux

@swiftix swiftix merged commit 079caaa into swiftlang:master Sep 14, 2016
// The detected type of the underlying object.
SILType ResultType;
// Set of processed values.
llvm::SetVector<SILValue> Processed;
Copy link
Contributor

Choose a reason for hiding this comment

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

No need to be a SetVector as you don't iterate over the elements

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep. I meant SmallSet, but typed SetVector ;-)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@eeckstein I addressed it in #4761

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