-
Notifications
You must be signed in to change notification settings - Fork 41
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
@asmcall
should take an option for emitting as volatile
#320
Comments
The LLVM LangRef does not specify IIRC C level volatile get's translated to |
Hm, that makes sense. I misremembered that I used |
Uhm... It's probably somewhere in LLVM. We could put in a pseudo intrinsic that we noop after optimization. |
Yeah, that might be necessary.. I've noticed that adding this via the sideeffect/memory clobber breaks autovectorization pretty bad :/ Should I close this and track this in MCAnalyzer instead? |
While helping out debugging some slowness on an A64FX machine, I encountered this:
This is reproducible with https://github.com/JuliaPerf/MCAnalyzer.jl/tree/no_iaca, while the example above works fine on the most recent release of MCAnalyzer.jl. The reason this fails seems to be due to the mark in the assembly being emitted twice, which of course llvm-mca then doesn't like:
I think this wouldn't happen if this were marked as volatile, but
@asmcall
doesn't have this in its interface.The text was updated successfully, but these errors were encountered: