-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Don't log warnings for certain RemoveAttributeInstances #91782
Conversation
Fixes #88994. ILLinker attribute XML format has a way to express "only remove these attributes when parameter X has value of Y". We currently generate a warning and don't trim the attribute at all. The savings from trimming these attributes are going to be miniscule. Even in IL, this is scraping the bottom of the barrel. In Native AOT these attributes are pretty effectively deduplicated across assemblies. We'll likely never need this. This keeps the existing behavior (don't trim the attribute), but removes the warning.
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsFixes #88994. ILLinker attribute XML format has a way to express "only remove these attributes when parameter X has value of Y". We currently generate a warning and don't trim the attribute at all. The savings from trimming these attributes are going to be miniscule. Even in IL, this is scraping the bottom of the barrel. In Native AOT these attributes are pretty effectively deduplicated across assemblies. We'll likely never need this. This keeps the existing behavior (don't trim the attribute), but removes the warning. Cc @dotnet/ilc-contrib
|
/cc: @rolfbjarne |
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.
We're likely missing a test here - this should have been caught by a test.
I agree that if NativeAOT doesn't support that feature, it should not warn because of it being used.
We have validation for the things that work (unconditional removal) in Native AOT smoke test suite. We just don't run the shared ILLinker tests for these. We probably don't have any sort of Kept validation for attributes. One could extract that information from the dependency graph in theory. |
/backport to release-8.0 |
Started backporting to release-8.0: https://github.com/dotnet/runtime/actions/runs/6143538866 |
@MichalStrehovsky an error occurred while backporting to release-8.0, please check the run log for details! Error: The specified backport target branch release-8.0 wasn't found in the repo. |
/backport to release/8.0 |
Started backporting to release/8.0: https://github.com/dotnet/runtime/actions/runs/6143568355 |
Fixes #88994.
ILLinker attribute XML format has a way to express "only remove these attributes when parameter X has value of Y". We currently generate a warning and don't trim the attribute at all.
The savings from trimming these attributes are going to be miniscule. Even in IL, this is scraping the bottom of the barrel. In Native AOT these attributes are pretty effectively deduplicated across assemblies. We'll likely never need this.
This keeps the existing behavior (don't trim the attribute), but removes the warning.
Cc @dotnet/ilc-contrib