Skip to content

[sil-performance-inliner] Re-introduce inlining of generics as a staging feature behind a flag #5265

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 19, 2016

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Oct 13, 2016

Use the following options to enable this flag: -Xllvm -sil-inline-generics

Generic inlining is now handled by a dedicated logic in isProfitableToInlineGeneric. This makes it easier to find this logic. And it will make it easier to extend and improve it in the future.

The initial policy for generic inlining is:

  • unconditionally inline generic functions if the -sil-inline-generics flag is used.
  • If the flag is not used, only perform generic inlining of always_inline and transparent functions.

There are slight standard library's code-size regressions with this policy. They will be addressed by the future work on the generic inlining.

@swiftix
Copy link
Contributor Author

swiftix commented Oct 13, 2016

@swift-ci Please smoke test and merge

@swiftix
Copy link
Contributor Author

swiftix commented Oct 13, 2016

@swift-ci Please smoke test

@swiftix swiftix force-pushed the wip-generics-inlining-flag branch from cfcce5a to 489f6c5 Compare October 13, 2016 15:31
@swiftix
Copy link
Contributor Author

swiftix commented Oct 13, 2016

@swift-ci Please smoke test

2 similar comments
@swiftix
Copy link
Contributor Author

swiftix commented Oct 13, 2016

@swift-ci Please smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 18, 2016

@swift-ci Please smoke test

…ing feature behind a flag

Use the following options to enable this flag: -Xllvm -sil-inline-generics

Generic inlining is now handled by a dedicated logic in isProfitableToInlineGeneric. This makes it easier to find this logic. And it will make it easier to extend and improve it in the future.

The initial policy for generic inlining is:
- unconditionally inline generic functions if the -sil-inline-generics flag is used.
- If the flag is not used, only perform generic inlining of always_inline and transparent functions.

There are slight standard library's code-size regressions with this policy. They will be addressed by the future work on the generic inlining.
@swiftix swiftix force-pushed the wip-generics-inlining-flag branch from 489f6c5 to 91f5b9d Compare October 18, 2016 23:53
@swiftix
Copy link
Contributor Author

swiftix commented Oct 18, 2016

@swift-ci Please smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 19, 2016

@swift-ci Please clean smoke test OS X

@swiftix
Copy link
Contributor Author

swiftix commented Oct 19, 2016

@swift-ci Please test

@swiftix swiftix merged commit f241f2e into swiftlang:master Oct 19, 2016
MaxDesiatov pushed a commit that referenced this pull request Sep 7, 2023
[pull] swiftwasm from main
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.

1 participant