| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-10-20 | s/Generator/Coroutine/ | Oli Scherer | -10/+10 | |
| 2023-10-19 | FileCheck inline_shims. | Camille GILLOT | -1/+4 | |
| 2023-10-19 | FileCheck issue_106141. | Camille GILLOT | -1/+6 | |
| 2023-10-19 | Allow to run filecheck in mir-opt tests. | Camille GILLOT | -25/+58 | |
| 2023-10-18 | Only check in a single place if a pass is enabled. | Camille GILLOT | -0/+19 | |
| 2023-10-17 | Automatically enable cross-crate inlining for small functions | Ben Kimock | -19/+35 | |
| 2023-10-13 | Clean up unchecked_math, separate out unchecked_shifts | ltdk | -1/+1 | |
| 2023-10-08 | Also consider call and yield as MIR SSA. | Camille GILLOT | -3/+3 | |
| 2023-10-05 | move subtyper change reveal_all | ouz-a | -52/+44 | |
| 2023-10-04 | Remove mir::LocalDecl::internal. | Camille GILLOT | -0/+52 | |
| 2023-10-02 | have better explanation for `relate_types` | ouz-a | -2/+2 | |
| 2023-10-02 | change is_subtype to relate_types | ouz-a | -45/+51 | |
| 2023-10-02 | Add docs, remove code, change subtyper code | ouz-a | -1/+3 | |
| 2023-09-28 | Unconditionally run `RevealAll` pass and run it earlier | Oli Scherer | -13/+37 | |
| 2023-09-24 | Embed simplification into VnState. | Camille GILLOT | -4/+4 | |
| 2023-09-24 | Add global value numbering pass. | Camille GILLOT | -12/+4 | |
| 2023-09-23 | Bless mir-opt | Camille GILLOT | -49/+66 | |
| 2023-09-21 | adjust how closure/generator types and rvalues are printed | Ralf Jung | -42/+42 | |
| 2023-08-30 | lower ExprKind::Use, LogicalOp::Or and UnOp::Not | Ding Xiang Fei | -2/+4 | |
| Co-authored-by: Abdulaziz Ghuloum <aghuloum@gmail.com> | ||||
| 2023-08-24 | make MIR less verbose | Ralf Jung | -13/+13 | |
| 2023-08-24 | bless more mir-opt tests by hand | Ralf Jung | -1/+1 | |
| 2023-08-24 | when terminating during unwinding, show the reason why | Ralf Jung | -12/+12 | |
| 2023-08-17 | Bless mir-opt tests. | Camille GILLOT | -10/+22 | |
| 2023-08-03 | bless | Michael Goulet | -0/+79 | |
| 2023-08-03 | Explicitly don't inline user-written rust-call fns | Michael Goulet | -200/+94 | |
| 2023-08-03 | Only unpack tupled args in inliner if we expect args to be unpacked | Michael Goulet | -6/+80 | |
| 2023-08-03 | Negative test for inlining `<Box<dyn Fn()> as Fn<()>>::call` | Michael Goulet | -0/+39 | |
| 2023-07-20 | Always propagate into operands. | Camille GILLOT | -60/+28 | |
| 2023-07-19 | Turn copy into moves during DSE. | Camille GILLOT | -10/+10 | |
| 2023-07-10 | Enable by default. | Camille GILLOT | -22/+10 | |
| 2023-07-07 | Rename `adjustment::PointerCast` and variants using it to `PointerCoercion` | Nilstrieb | -8/+8 | |
| 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-23 | Bless tests | Gary Guo | -61/+61 | |
| 2023-06-19 | Promote unchecked_add/sub/mul/shl/shr to mir::BinOp | Scott McMurray | -64/+40 | |
| 2023-06-19 | Auto merge of #112724 - scottmcm:simpler-unchecked-shifts, r=Mark-Simulacrum | bors | -8/+420 | |
| [libs] Simplify `unchecked_{shl,shr}` There's no need for the `const_eval_select` dance here. And while I originally wrote the `.try_into().unwrap_unchecked()` implementation here, it's kinda a mess in MIR -- this new one is substantially simpler, as shown by the old one being above the inlining threshold but the new one being below it in the `mir-opt/inline/unchecked_shifts` tests. We don't need `u32::checked_shl` doing a dance through both `Result` *and* `Option` 🙃 | ||||
| 2023-06-17 | Auto merge of #100036 - DrMeepster:box_free_free_box, r=oli-obk | bors | -12/+17 | |
| Remove `box_free` lang item This PR removes the `box_free` lang item, replacing it with `Box`'s `Drop` impl. Box dropping is still slightly magic because the contained value is still dropped by the compiler. | ||||
| 2023-06-16 | [libs] Simplify `unchecked_{shl,shr}` | Scott McMurray | -8/+420 | |
| There's no need for the `const_eval_select` dance here. And while I originally wrote the `.try_into().unwrap_unchecked()` implementation here, it's kinda a mess in MIR -- this new one is substantially simpler, as shown by the old one being above the inlining threshold but the new one being below it. | ||||
| 2023-06-16 | remove box_free and replace with drop impl | DrMeepster | -12/+17 | |
| 2023-06-16 | Ignore the always part of #[inline(always)] in MIR inlining | Ben Kimock | -929/+343 | |
| 2023-06-15 | Remove comments from mir-opt MIR dumps | Ben Kimock | -2902/+2325 | |
| 2023-06-12 | bless mir-opt | Pietro Albini | -7/+2060 | |
| 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. | ||||
| 2023-06-12 | properly mark tests that require panic=abort | Pietro Albini | -19/+20 | |
| 2023-06-03 | Only check inlining counter after recusing. | Camille GILLOT | -43/+140 | |
| 2023-05-31 | Enable ScalarReplacementOfAggregates | Ben Kimock | -216/+184 | |
| 2023-05-28 | Auto merge of #111813 - scottmcm:pretty-mir, r=cjgillot | bors | -210/+210 | |
| MIR: opt-in normalization of `BasicBlock` and `Local` numbering This doesn't matter at all for actual codegen, but after spending some time reading pre-codegen MIR, I was wishing I didn't have to jump around so much in reading post-inlining code. So this add two passes that are off by default for every mir level, but can be enabled (`-Zmir-enable-passes=+ReorderBasicBlocks,+ReorderLocals`) for humans. | ||||
| 2023-05-21 | Normalize block and local orders in mir-opt tests | Scott McMurray | -210/+210 | |
| Since this only affects `PreCodegen MIR, and it would be nice for that to be resilient to permutations of things that don't affect the actual semantic behaviours. | ||||
| 2023-05-20 | Don't inline functions with unsized args | Jakob Degen | -0/+65 | |
| 2023-05-14 | Merge return place with other locals in CopyProp. | Camille GILLOT | -86/+468 | |
| 2023-05-08 | Disable nrvo mir opt | Jakob Degen | -468/+86 | |
| 2023-04-23 | Auto merge of #110705 - saethlin:ignore-locals-cost, r=cjgillot | bors | -48/+450 | |
| Remove the size of locals heuristic in MIR inlining This heuristic doesn't necessarily correlate to complexity of the MIR Body. In particular, a lot of straight-line code in MIR tends to never reuse a local, even though any optimizer would effectively reuse the storage or just put everything in registers. So it doesn't even necessarily make sense that this would be a stack size heuristic. So... what happens if we just delete the heuristic? The benchmark suite improves significantly. Less heuristics better? r? `@cjgillot` | ||||
| 2023-04-22 | Remove the size of locals heuristic in MIR inlining | Ben Kimock | -48/+450 | |
