about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/jump_threading.rs
AgeCommit message (Expand)AuthorLines
2025-09-26Handle self-loops too.Camille Gillot-3/+5
2025-09-26JumpThreading: Avoid computing dominators to identify loop headers.Camille Gillot-17/+23
2025-06-27Add InterpCx::layout_of with tracing, shadowing LayoutOfStypox-1/+0
2025-06-15Only traverse reachable blocks in JumpThreading.Camille GILLOT-1/+1
2025-06-05Update `InterpCx::project_field` to take `FieldIdx`Scott McMurray-1/+1
2025-05-03Auto merge of #140464 - oli-obk:successors-mut-perf, r=petrochenkovbors-2/+2
2025-04-29Auto merge of #140023 - cjgillot:arena-try-alloc, r=BoxyUwUbors-10/+2
2025-04-29Use a closure instead of three chained iteratorsOli Scherer-2/+2
2025-04-19Introduce Arena::try_alloc_from_iter.Camille GILLOT-10/+2
2025-04-18Remove early exits from JumpThreading.Camille GILLOT-71/+64
2025-04-13JumpThreading: Bail out on interp errorsclubby789-67/+91
2025-04-13JumpThreading: Re-enable and fix Not ops on non-booleansclubby789-18/+11
2025-02-22Greatly simplify lifetime captures in edition 2024Michael Goulet-2/+2
2025-02-22Fix binding mode problemsMichael Goulet-1/+1
2025-01-23Disable non-required MIR opts with `optimize(none)`clubby789-0/+4
2025-01-11rename `BitSet` to `DenseBitSet`Rémy Rakic-4/+4
2024-12-18Variants::Single: do not use invalid VariantIdx for uninhabited enumsRalf Jung-24/+7
2024-11-20reduce false positives of tail-expr-drop-order from consumed valuesDing Xiang Fei-0/+1
2024-11-19`InterpCx` store `TypingEnv` instead of a `ParamEnv`lcnr-1/+1
2024-11-18use `TypingEnv` when no `infcx` is availablelcnr-7/+7
2024-11-03compiler: Directly use rustc_abi in mir_transformJubilee Young-1/+1
2024-10-03Disable jump threading UnOp::Not for non-boolMichael Goulet-0/+8
2024-10-01make InterpResult a dedicated type to avoid accidentally discarding the errorRalf Jung-27/+17
2024-09-30panic when an interpreter error gets unintentionally discardedRalf Jung-17/+36
2024-09-28try to get rid of mir::Const::normalizeRalf Jung-3/+1
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-1/+1
2024-09-13Rename and reorder lots of lifetimes.Nicholas Nethercote-2/+2
2024-09-10Remove references from some structs.Nicholas Nethercote-22/+20
2024-09-09Reduce visibilities, and add `warn(unreachable_pub)`.Nicholas Nethercote-1/+1
2024-09-03Move `MirPass` to `rustc_mir_transform`.Nicholas Nethercote-1/+1
2024-08-31Rollup merge of #129767 - nnethercote:rm-extern-crate-tracing-4, r=jieyouxuMatthias Krüger-0/+1
2024-08-30Remove `#[macro_use] extern crate tracing` from `rustc_mir_transform`.Nicholas Nethercote-0/+1
2024-08-30Remove `Option<!>` return types.Nicholas Nethercote-54/+56
2024-07-27Disable jump threading of float equalityNilstrieb-0/+7
2024-07-13Create mapped places upon seeing them in the body.Camille GILLOT-1/+1
2024-07-07Support tail calls in mir via `TerminatorKind::TailCall`Maybe Waffle-0/+1
2024-07-01Make jump threading state sparse.Camille GILLOT-5/+14
2024-06-29Move entry point to a method.Camille GILLOT-37/+42
2024-06-29Avoid cloning state when possible.Camille GILLOT-6/+8
2024-05-27interpret: get rid of 'mir lifetime everywhereRalf Jung-1/+1
2024-05-13Remove `extern crate rustc_middle` from `rustc_mir_transform`.Nicholas Nethercote-0/+1
2024-03-22Rollup merge of #122784 - jswrenn:tag_for_variant, r=compiler-errorsMatthias Krüger-1/+1
2024-03-22Add `tag_for_variant` queryJack Wrenn-1/+1
2024-03-18Avoid various uses of `Option<Span>` in favor of using `DUMMY_SP` in the few ...Oli Scherer-1/+1
2024-03-14preserve span when evaluating mir::ConstOperandRalf Jung-1/+2
2024-02-15Skip coroutines in jump threading to avoid query cyclesTomasz Miąsko-0/+6
2024-02-09Enable by default.Camille GILLOT-1/+1
2024-01-23Do not thread through Assert terminator.Camille GILLOT-15/+2
2024-01-18Extract process_assign.Camille GILLOT-89/+79
2024-01-18Extract process_constant.Camille GILLOT-34/+44