about summary refs log tree commit diff
path: root/tests/mir-opt/pre-codegen/slice_iter.reverse_loop.PreCodegen.after.panic-unwind.mir
AgeCommit message (Collapse)AuthorLines
2025-05-21Add some track_caller info to precondition panicsBen Kimock-1/+1
2025-04-02Make slice iterator constructors unstably constDaniel Bloom-14/+12
2025-01-18Update tests for std::simd subtree syncCaleb Zulawski-1/+1
2025-01-15Less unsafe in `dangling`/`without_provenance`Scott McMurray-6/+8
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-70/+60
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-62/+70
2024-09-27Add 'from_ref' and 'from_mut' constructors to 'core::ptr::NonNull';Gabriel Bjørnager Jensen-10/+12
2024-08-18Bless *all* the mir-opt testsScott McMurray-12/+12
2024-07-01Avoid MIR bloat in inliningScott McMurray-205/+32
In 126578 we ended up with more binary size increases than expected. This change attempts to avoid inlining large things into small things, to avoid that kind of increase, in cases when top-down inlining will still be able to do that inlining later.
2024-06-23Make MIR inlining costs in build-std independent of config.tomlScott McMurray-32/+205
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-50/+46
2024-05-31Revert "Auto merge of #115105 - cjgillot:dest-prop-default, r=oli-obk"Camille GILLOT-35/+39
This reverts commit cfb730450f847bb622243eaaab15e77e58d91767, reversing changes made to 91c0823ee63e793d990bb9fed898dc95b5d6db51.
2024-05-29Enable DestinationPropagation by default.Camille GILLOT-39/+35
2024-04-18At debuginfo=0, don't inline debuginfo when inliningScott McMurray-83/+61
2024-04-03Remove MIR unsafe checkMatthew Jasper-30/+20
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-83/+75
2024-02-08Bless/fix testsBen Kimock-125/+119
2024-01-11Sandwich MIR optimizations between DSE.Camille GILLOT-8/+11
2023-11-26Update std::simd usage and test outputsCaleb Zulawski-5/+5
2023-10-06Preserve DebugInfo in DeadStoreElimination.Camille GILLOT-24/+25
2023-08-24make MIR less verboseRalf Jung-1/+1
2023-08-24bless more mir-opt tests by handRalf Jung-1/+1
2023-08-17Bless mir-opt tests.Camille GILLOT-7/+8
2023-07-20Get `!nonnull` metadata consistently in slice iterators, without needing ↵Scott McMurray-2/+2
`assume`s
2023-07-10Enable by default.Camille GILLOT-31/+29
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-139/+128
2023-06-12bless mir-optPietro Albini-0/+217
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.