about summary refs log tree commit diff
path: root/tests/mir-opt/pre-codegen/slice_iter.enumerated_loop.PreCodegen.after.panic-unwind.mir
AgeCommit message (Collapse)AuthorLines
2025-07-01Remove extraneous types.Camille GILLOT-4/+1
2025-05-21Add some track_caller info to precondition panicsBen Kimock-1/+1
2025-04-02Make slice iterator constructors unstably constDaniel Bloom-13/+11
2025-01-18Update tests for std::simd subtree syncCaleb Zulawski-1/+1
2025-01-15Less unsafe in `dangling`/`without_provenance`Scott McMurray-5/+7
2025-01-08Refactor the cast-then-cast cases together, and support transmute-then-transmuteScott McMurray-3/+5
2025-01-08[mir-opt] GVN some more transmute casesScott McMurray-71/+61
We already did `Transmute`-then-`PtrToPtr`; this adds the nearly-identical `PtrToPtr`-then-`Transmute`. It also adds `transmute(Foo(x))` → `transmute(x)`, when `Foo` is a single-field transparent type. That's useful for things like `NonNull { pointer: p }.as_ptr()`. Found these as I was looking at MCP807-related changes.
2024-12-03Update `NonZero` and `NonNull` to not field-project (per MCP807)Scott McMurray-63/+71
2024-09-27Add 'from_ref' and 'from_mut' constructors to 'core::ptr::NonNull';Gabriel Bjørnager Jensen-9/+11
2024-08-18Bless *all* the mir-opt testsScott McMurray-13/+13
2024-07-29Perform instsimplify before inline to eliminate some trivial callsDianQK-2/+0
2024-06-20Replace `NormalizeArrayLen` with `GVN`Scott McMurray-1/+1
GVN is actually on in release, and covers all the same things (or more), with `LowerSliceLen` changed to produce `PtrMetadata`.
2024-06-19Ban `ArrayToPointer` and `MutToConstPointer` from runtime MIRScott McMurray-1/+1
Apparently MIR borrowck cares about at least one of these for checking variance. In runtime MIR, though, there's no need for them as `PtrToPtr` does the same thing. (Banning them simplifies passes like GVN that no longer need to handle multiple cast possibilities.)
2024-06-10Add `SingleUseConsts` mir-opt passScott McMurray-53/+49
2024-05-31Revert "Auto merge of #115105 - cjgillot:dest-prop-default, r=oli-obk"Camille GILLOT-38/+42
This reverts commit cfb730450f847bb622243eaaab15e77e58d91767, reversing changes made to 91c0823ee63e793d990bb9fed898dc95b5d6db51.
2024-05-29Enable DestinationPropagation by default.Camille GILLOT-42/+38
2024-04-18At debuginfo=0, don't inline debuginfo when inliningScott McMurray-80/+61
2024-04-03Remove MIR unsafe checkMatthew Jasper-29/+19
This also remove safety information from MIR.
2024-03-10MIR printing: print the path of uneval'd const; refer to promoteds in a ↵Ralf Jung-1/+1
consistent way
2024-02-21rename ptr::invalid -> ptr::without_provenanceRalf Jung-1/+1
also introduce ptr::dangling matching NonNull::dangling
2024-02-09Fold consecutive PtrToPtr casts.Camille GILLOT-82/+74
2024-02-08Bless/fix testsBen Kimock-123/+117
2024-01-11Sandwich MIR optimizations between DSE.Camille GILLOT-8/+11
2023-11-26Update std::simd usage and test outputsCaleb Zulawski-5/+5
2023-08-24make MIR less verboseRalf Jung-1/+1
2023-08-24bless more mir-opt tests by handRalf Jung-1/+1
2023-07-20Get `!nonnull` metadata consistently in slice iterators, without needing ↵Scott McMurray-2/+2
`assume`s
2023-07-10Perform reference propagation earlier.Camille GILLOT-1/+3
2023-07-07Rename `adjustment::PointerCast` and variants using it to `PointerCoercion`Nilstrieb-1/+1
It makes it sound like the `ExprKind` and `Rvalue` are supposed to represent all pointer related casts, when in reality their just used to share a some enum variants. Make it clear there these are only coercion to make it clear why only some pointer related "casts" are in the enum.
2023-06-23Bless testsGary Guo-1/+1
2023-06-15Remove comments from mir-opt MIR dumpsBen Kimock-136/+125
2023-06-12bless mir-optPietro Albini-0/+213
To reproduce the changes in this commit locally: - Run `./x test tidy` and remove all the output files not associated with a test file anymore, as reported by tidy. - Run `./x test tests/mir-opt --bless` to generate the new outputs.