-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Floating point modulus (and probably other llvm instrs) calls libc without stack switch #5702
Comments
We can solve this with an |
Is this an issue with calls to compiler-rt too? Or are they compiled in some special way to avoid the issue? |
Nominating for milestone 5, production-ready |
|
We can possibly be selective about when we emit memcpy/memmov, second guessing LLVM (like, never for big things) |
accepted for production-ready milestone |
Closing due to segmented stacks being gone (stack switches no longer a thing) |
if_same_then_else: don't assume multiplication is always commutative changelog: Don't assume multiplication is always commutative in [`if_same_then_else`] Fixes rust-lang#5698
As seen in #5697, LLVM has lots of places where it will insert calls to libm directly, not switching stacks.
One of places that I recall seeing this before is the translation of the
fmod
instruction. Rust has floating point modulus and presumably it is doing it in the red zone.The text was updated successfully, but these errors were encountered: