about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/gvn.rs
AgeCommit message (Expand)AuthorLines
2025-08-07Do not flatten derefs with ProjectionElem::Index.Camille Gillot-2/+13
2025-07-23Remove useless lifetime parameter.Camille GILLOT-1/+1
2025-07-18Generalize `unsize` and `unsize_into` destinationsOli Scherer-1/+1
2025-07-18Rollup merge of #143271 - cjgillot:gvn-types, r=oli-obkMatthias Krüger-298/+255
2025-07-03setup CI and tidy to use typos for spellchecking and fix few typosklensy-1/+1
2025-07-01Avoid computing layouts inside coroutines.Camille GILLOT-1/+8
2025-07-01Remove extraneous types.Camille GILLOT-130/+79
2025-07-01Store a full Ty with each Value.Camille GILLOT-130/+114
2025-07-01Introduce Value::RawPtr as it behaves differently from other aggregates.Camille GILLOT-55/+67
2025-07-01Simplify assignments.Camille GILLOT-28/+33
2025-06-29give Pointer::into_parts a more scary name and offer a safer alternativeRalf Jung-1/+1
2025-06-27Rollup merge of #143046 - RalfJung:zst-unsafe-cell, r=lcnr,oli-obkMatthias Krüger-1/+1
2025-06-27Add InterpCx::layout_of with tracing, shadowing LayoutOfStypox-1/+1
2025-06-26make size_and_align_of_mplace work on all projectableRalf Jung-1/+1
2025-06-13Unimplement unsized_localsmejrs-10/+1
2025-06-05Update `InterpCx::project_field` to take `FieldIdx`Scott McMurray-3/+5
2025-05-19gvn: bail out unavoidable non-ssa locals in repeatdianqk-1/+7
2025-05-18gvn: avoid creating overlapping assignmentsdianqk-6/+13
2025-04-04Only introduce stable projections.Camille GILLOT-4/+12
2025-04-04Allow GVN to produce places and not just locals.Camille GILLOT-27/+39
2025-04-03Invalid dereferences for all non-local mutationsdianqk-14/+16
2025-04-03Only preserving derefs for trivial terminators like SwitchInt and Gotodianqk-2/+8
2025-04-03Remove `unsound-mir-opts` for `simplify_aggregate_to_copy`dianqk-3/+1
2025-04-02Partially revert "Do not unify dereferences in GVN."dianqk-3/+1
2025-04-02Invalidate all dereferences for non-local assignmentsdianqk-8/+30
2025-04-02`next_opaque` is no longer an `Option`dianqk-37/+32
2025-04-02Do not use `for_each_assignment_mut` to iterate over assignment statementsdianqk-40/+37
2025-03-15Don't drop Rvalue::WrapUnsafeBinder during GVNMichael Goulet-2/+8
2025-02-28rename BackendRepr::Vector → SimdVectorRalf Jung-1/+1
2025-02-24Rollup merge of #136610 - Jarcho:range_idx, r=NoratriebJacob Pratt-1/+1
2025-02-21Allow SliceIndex to be indexed by ranges.Jason Newcomb-1/+1
2025-02-20Remove `BackendRepr::Uninhabited`, replaced with an `uninhabited: bool` field...Zachary S-1/+4
2025-02-10Rename rustc_middle::Ty::is_unsafe_ptr to is_raw_ptrBastian Kersting-2/+2
2025-02-06Don't reset cast kind without also updating the operand in simplify_castMichael Goulet-9/+11
2025-02-03Contracts core intrinsics.Felix S. Klock II-0/+1
2025-01-31Implement MIR, CTFE, and codegen for unsafe bindersMichael Goulet-0/+8
2025-01-28Represent the raw pointer for a array length check as a new kind of fake borrowMichael Goulet-2/+4
2025-01-26Auto merge of #135753 - compiler-errors:from-ty-const, r=oli-obkbors-15/+3
2025-01-23Disable non-required MIR opts with `optimize(none)`clubby789-0/+4
2025-01-20Get rid of mir::Const::from_ty_constMichael Goulet-15/+3
2025-01-18Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper"Rémy Rakic-0/+51
2025-01-11rename `BitSet` to `DenseBitSet`Rémy Rakic-4/+4
2025-01-08Make the aggregate-then-transmute handling more generalScott McMurray-13/+9
2025-01-08Refactor the cast-then-cast cases together, and support transmute-then-transmuteScott McMurray-89/+113
2025-01-08Use layout information to detect transparent transmutesScott McMurray-9/+34
2025-01-08Apply suggestions from code reviewscottmcm-2/+2
2025-01-08[mir-opt] GVN some more transmute casesScott McMurray-1/+55
2024-12-22Delete `Rvalue::Len`Scott McMurray-51/+0
2024-11-25Do not unify dereferences in GVN.Camille GILLOT-1/+3
2024-11-20interpret: make typing_env field privateRalf Jung-2/+2