about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/simplify.rs
AgeCommit message (Expand)AuthorLines
2025-08-06simplifycfg: Mark as changed when start is modified in collapse goto chaindianqk-0/+1
2025-06-18Preserve caches in a call to shrink_to_fitTomasz Miąsko-1/+1
2025-06-16Add comment.Camille GILLOT-0/+3
2025-06-15Manually invalidate caches in SimplifyCfg.Camille GILLOT-3/+13
2025-04-29Use a closure instead of three chained iteratorsOli Scherer-6/+3
2025-04-19Rollup merge of #139042 - compiler-errors:do-not-optimize-switchint, r=saethlinChris Denton-9/+26
2025-04-13Visit place in BackwardIncompatibleDropHint statementMichael Goulet-14/+0
2025-04-08Do not optimize out SwitchInt before borrowck, or if Zmir-preserve-ubMichael Goulet-9/+26
2025-02-22Fix binding mode problemsMichael Goulet-3/+3
2025-01-23Disable non-required MIR opts with `optimize(none)`clubby789-0/+8
2024-11-20reduce false positives of tail-expr-drop-order from consumed valuesDing Xiang Fei-1/+17
2024-09-10Inline and remove some functions.Nicholas Nethercote-25/+23
2024-09-09Reduce visibilities, and add `warn(unreachable_pub)`.Nicholas Nethercote-11/+11
2024-09-03Move `MirPass` to `rustc_mir_transform`.Nicholas Nethercote-2/+2
2024-08-30Remove `#[macro_use] extern crate tracing` from `rustc_mir_transform`.Nicholas Nethercote-0/+1
2024-08-03When deduplicating unreachable blocks, erase the source information.Kyle Huey-0/+11
2024-04-03rustc_index: Add a `ZERO` constant to index typesVadim Petrochenkov-1/+1
2024-04-03Auto merge of #122225 - DianQK:nits-120268, r=cjgillotbors-3/+3
2024-03-17simplify_cfg: rename some passes so that they make more senseRalf Jung-4/+7
2024-03-09Rename `UninhabitedEnumBranching` to `UnreachableEnumBranching`DianQK-3/+3
2024-01-07Merge dead bb pruning and unreachable bb deduplication.Camille GILLOT-55/+37
2023-12-10remove redundant importssurechen-1/+0
2023-11-21Fix `clippy::needless_borrow` in the compilerNilstrieb-1/+1
2023-10-25Do not remove unused definitions inside GVN.Camille GILLOT-0/+2
2023-10-18Remove unused `TyCtxt` from `remove_dead_blocks`Zalathar-2/+2
2023-10-18coverage: Store all of a function's mappings in function coverage infoZalathar-101/+2
2023-10-03coverage: Let each coverage statement hold a vector of code regionsZalathar-4/+6
2023-09-25Use Vec::retain in remove_dead_blocks.Camille GILLOT-19/+24
2023-07-12Re-format let-else per rustfmt updateMark Rousskov-1/+2
2023-05-15Profile MIR passes.Camille GILLOT-1/+1
2023-05-06Rename InstCombine to InstSimplifyBen Kimock-2/+2
2023-04-24Split `{Idx, IndexVec, IndexSlice}` into their own modulesMaybe Waffle-1/+1
2023-04-20Run combine_duplicate_switch_targets after the simplification that produces themBen Kimock-0/+14
2023-04-18refactor SimlifyCfg and friends - no globals, just enumsmiguelraz-16/+32
2023-04-02Use `&IndexSlice` instead of `&IndexVec` where possibleScott McMurray-5/+5
2023-03-25Explain how we get to skip checking for cleanup blocks in the visitorBen Kimock-0/+2
2023-03-18Remove duplicate unreachable blocksBen Kimock-1/+43
2023-03-09Introduce a no-op PlaceMention statement for `let _ =`.Camille GILLOT-0/+1
2023-02-16`BasicBlock::new(0)` -> `START_BLOCK` [no functional changes]Scott McMurray-1/+1
2023-01-29Auto merge of #106908 - cjgillot:copyprop-ssa, r=oli-obkbors-2/+14
2023-01-27Allow to remove unused definitions without renumbering locals.Camille GILLOT-2/+14
2023-01-23Create stable metric to measure long computation in Const EvalBryan Garza-1/+1
2022-12-25Remove Nop in simplify_locals.Camille GILLOT-0/+1
2022-12-25Move SimplifyLocals before ConstProp.Camille GILLOT-1/+13
2022-12-10compiler: remove unnecessary imports and qualified pathsKaDiWa-1/+0
2022-12-01Remove needless `Cow`Oli Scherer-3/+2
2022-09-06Generalize the Assume intrinsic statement to a general Intrinsic statementOli Scherer-2/+1
2022-09-06Lower the assume intrinsic to a MIR statementOli Scherer-0/+1
2022-08-26Replace `Body::basic_blocks()` with field accessTomasz Miąsko-2/+2
2022-08-09Add option to `mir::MutVisitor` to not invalidate CFG.Jakob Degen-2/+2