-
-
Notifications
You must be signed in to change notification settings - Fork 48
Add explanations to --debug-mem-patterns
#1566
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
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1566 +/- ##
=======================================
Coverage 90.28% 90.28%
=======================================
Files 65 65
Lines 9993 10038 +45
=======================================
+ Hits 9022 9063 +41
- Misses 971 975 +4
🚀 New features to boost your workflow:
|
SteveBronder
left a comment
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.
Only one major comment about deduping the printed warnings. It would be nice to make the warnings a little more fleshed out / actionable, but I did not do that in the original branch. If it is not too much effort to make the warnings a little nicer that would be nice. But that is optional.
test/integration/good/compiler-optimizations/mem_patterns/transformed_mir.expected
Outdated
Show resolved
Hide resolved
test/integration/good/compiler-optimizations/mem_patterns/transformed_mir.expected
Outdated
Show resolved
Hide resolved
test/integration/good/compiler-optimizations/mem_patterns/transformed_mir.expected
Outdated
Show resolved
Hide resolved
| SoA (Line 46) warning: Right hand side contains only AoS expressions: p_aos_mat_pass_func_outer_single_indexed2 | ||
| SoA (Line 45) warning: Right hand side contains only AoS expressions: p_aos_mat_pass_func_outer_single_indexed1 |
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.
I need to make a separate issue to figure out if this should fail now because of something we turned off. But I think the answer is yet to be conservative. Should probably change the name to fail
|
@SteveBronder I deduplicated the warnings and added some more information where it was easy to do so -- I think this can be something we tweak and improve over time |
SteveBronder
left a comment
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.
Excellent! One last thing that is optional. Right now the lead for each warning is like the following
SoA (Line 13) warning:
I think we could do something like the following to make it a little more clear what these lines mean
(Line 13) SoA Optim Pass Demotion Warning:
Or something that says, "This is a warning with respect to the optimization pass for promoting to SoA. But I'm also fine with it as is
This took @SteveBronder's idea from #1353 and ported it to the current compiler. I've already found myself using it a couple times to help people on the forums, so it seems like a good idea to expose.
Submission Checklist
Release notes
--debug-mem-patternswill now output information about why each variable was not considered a candidate for the SoA optimization.Copyright and Licensing
By submitting this pull request, the copyright holder is agreeing to
license the submitted work under the BSD 3-clause license (https://opensource.org/licenses/BSD-3-Clause)