-
Notifications
You must be signed in to change notification settings - Fork 290
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
Drop separate miri codepath for ptr_map when LLVM issues are fixed #565
Comments
While I agree it would be good to avoid this kind of thing, we currently have an MSRV of 1.39.0. As long as we support compilers that miscompile the version used by miri, we will need to keep the separate codepath. |
I think there might be some confusion here. There are two ways to write I think we are in the clear with respect to miscompilation regardless of rustc/LLVM version because tokio doesn't use the As far as I know nikic hunted down all the missing optimizations with the |
Nikic fixed it, I think: rust-lang/rust#96538 (comment) So, yeah, the consequence of using the Miri version for old versions of rustc is slightly worse codegen, but there are no known miscompilations. |
Ah, right, I forgot that the version we're currently using doesn't miscompile. I'm more open to dropping the separate codepath once the past few stable releases compile it properly. |
Since Rust 1.65, which introduced LLVM 15, codegen for both versions of ptr_map is the same. The release happened in Nov 2022, which should mean the majority of users have upgraded.
Since Rust 1.65, which introduced LLVM 15, codegen for both versions of ptr_map is the same. The release happened in Nov 2022, which should mean the majority of users have upgraded.
ptr_map
currently has a separate codepath for Miri, which is always dicy since it means the codepath used 'for real' is not actually checked by Miri. (FWIW that codepath would work fine in Miri these days, but it would lead to warnings about int2ptr casts.) So it might make sense to track removing that temporary hack when it is no longer needed.Judging from rust-lang/rust#96152, once Rust uses LLVM 15, the code used for Miri should also produce good runtime code, hopefully making the hack no longer needed.
The text was updated successfully, but these errors were encountered: