rust/compiler/rustc_middle
bors d7c59370ce Auto merge of #126844 - scottmcm:more-ptr-cast-gvn, r=saethlin
Remove more `PtrToPtr` casts in GVN

This addresses two things I noticed in MIR:

1. `NonNull::<T>::eq` does `(a as *mut T) == (b as *mut T)`, but it could just compare the `*const T`s, so this removes `PtrToPtr` casts that are on both sides of a pointer comparison, so long as they're not fat-to-thin casts.

2. `NonNull::<T>::addr` does `transmute::<_, usize>(p as *const ())`, but so long as `T: Thin` that cast doesn't do anything, and thus we can directly transmute the `*const T` instead.

r? mir-opt
2024-06-26 14:22:31 +00:00
..
src Auto merge of #126844 - scottmcm:more-ptr-cast-gvn, r=saethlin 2024-06-26 14:22:31 +00:00
Cargo.toml Remove some unused crate dependencies. 2024-06-10 19:55:49 +10:00
messages.ftl Port DeprecatedMacro to diag structs 2024-05-21 20:16:39 +00:00
README.md

For more information about how rustc works, see the rustc dev guide.