-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[RECONSTRUCTION] [CLANG] Loop not vectorized
warnings
#41624
Comments
assign reconstruction |
FYI, @slava77 |
New categories assigned: reconstruction @mandrenguyen,@clacaputo you have been requested to review this Pull request/Issue and eventually sign? Thanks |
A new Issue was created by @aandvalenzuela Andrea Valenzuela. @Dr15Jones, @perrotta, @dpiparo, @rappoccio, @makortel, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
This issue is rather urgent to be able to integrate llvm 16 in cmssw master IBs. |
do we really require zero warnings to be able to use a compiler? @srlantz reminded me that different loops had different success in vectorization using different compilers. Is there a pragma or compiler macro that would instruct llvm here to not issue a warning for the "best effort" cases like here? |
type tracking |
yes @slava77 , currently bot rejects the PR (and do not run tests) if it finds warnings in the file changed by the PR. So we need to clean then warnings otherwise any future change in these files will be rejected.
If itis really needed, we can teach bot to ignore some advisory warnings |
I searched on the web and found https://useyourloaf.com/blog/disabling-clang-compiler-warnings/ #pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
int a;
#pragma clang diagnostic pop I guess we can add it in mkFit. @smuzaffar |
@slava77 yes you can just use a recent CLANG IB, I'm looking to see if there are any better options to get those loops to vectorize. So far unrolling the loops doesn't help. |
It appears that if you have a simd pragma it unconditionally turns on the warning that vectorization failed and it can't be turned off--or at least I couldn't find a flag to turn it off. From the message you might think ignoring "-Wpass-failed=transform-warning" or "-Wpass-failed" might work, but neither suppressed the warning message. So I guess it'll have to be conditioned on whether "clang" is defined. |
Fix submitted in PR #41730 |
Hello,
I am opening a separate issue for what we started discussing in #41616.
CLANG IBs started showing some warnings reporting
loop not vectorized
as of the update to llvm16.In concrete, for the reconstruction module
RecoTracker/MkFitCore
:I have seen in older PRs that sometimes this has been fixed by using a pragma statement, others inlining the function (which I believe it won't work here, but correct me if I am wrong) and in other cases the original authors took care of rearranging the code. Any hints on what can we do in those cases?
Many thanks! :)
Andrea.
FYI, @smuzaffar
The text was updated successfully, but these errors were encountered: