rust/compiler/rustc_codegen_ssa/src/mir
Scott McMurray 4a7b6c0e6c More GVN for PtrMetadata
`PtrMetadata` doesn't care about `*const`/`*mut`/`&`/`&mut`, so GVN away those casts in its argument.

This includes updating MIR to allow calling PtrMetadata on references too, not just raw pointers.  That means that `[T]::len` can be just `_0 = PtrMetadata(_1)`, for example.

# Conflicts:
#	tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-abort.mir
#	tests/mir-opt/pre-codegen/slice_index.slice_get_unchecked_mut_range.PreCodegen.after.panic-unwind.mir
2024-06-20 22:16:59 -07:00
..
analyze.rs Remove #[macro_use] extern crate tracing from rustc_codegen_ssa. 2024-05-23 18:02:40 +10:00
block.rs Rename InstanceDef -> InstanceKind 2024-06-16 21:35:21 -04:00
constant.rs Add Ty to mir::Const::Ty 2024-06-05 22:25:41 +01:00
coverageinfo.rs Unbox and unwrap the contents of StatementKind::Coverage 2024-03-23 22:05:11 +11:00
debuginfo.rs Make builtin_deref just return a Ty 2024-05-09 22:55:00 -04:00
intrinsic.rs Refactoring after the PlaceValue addition 2024-05-10 20:09:37 -07:00
locals.rs Add blank lines after module-level //! comments. 2024-06-20 09:23:20 +10:00
mod.rs Remove #[macro_use] extern crate tracing from rustc_codegen_ssa. 2024-05-23 18:02:40 +10:00
operand.rs Add an intrinsic for ptr::metadata 2024-05-28 09:28:51 -07:00
place.rs Add an intrinsic for ptr::metadata 2024-05-28 09:28:51 -07:00
rvalue.rs More GVN for PtrMetadata 2024-06-20 22:16:59 -07:00
statement.rs Remove #[macro_use] extern crate tracing from rustc_codegen_ssa. 2024-05-23 18:02:40 +10:00