| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-02-05 | Run SROA to fixpoint. | Camille GILLOT | -1/+1 | |
| 2023-02-05 | Simplify construction of replacement map. | Camille GILLOT | -1/+1 | |
| 2023-01-30 | Treat Drop as a rmw operation | Giacomo Pasini | -9/+17 | |
| Previously, a Drop terminator was considered a move in MIR. This commit changes the behavior to only treat Drop as a mutable access to the dropped place. In order for this change to be correct, we need to guarantee that a) A dropped value won't be used again b) Places that appear in a drop won't be used again before a subsequent initialization. We can ensure this to be correct at MIR construction because Drop will only be emitted when a variable goes out of scope, thus having: (a) as there is no way of reaching the old value. drop-elaboration will also remove any uninitialized drop. (b) as the place can't be named following the end of the scope. However, the initialization status, previously tracked by moves, should also be tied to the execution of a Drop, hence the additional logic in the dataflow analyses. | ||||
| 2023-01-23 | Create stable metric to measure long computation in Const Eval | Bryan Garza | -1/+5 | |
| This patch adds a `MirPass` that tracks the number of back-edges and function calls in the CFG, adds a new MIR instruction to increment a counter every time they are encountered during Const Eval, and emit a warning if a configured limit is breached. | ||||
| 2023-01-17 | Remove double spaces after dots in comments | Maybe Waffle | -1/+1 | |
| 2023-01-05 | Fix `uninlined_format_args` for some compiler crates | nils | -15/+15 | |
| Convert all the crates that have had their diagnostic migration completed (except save_analysis because that will be deleted soon and apfloat because of the licensing problem). | ||||
| 2023-01-02 | Fix handling of dead unwinds in backward analyses | Tomasz Miąsko | -1/+1 | |
| Dead unwinds set contains a head of an unreachable unwind edge. | ||||
| 2022-12-20 | rustc: Remove needless lifetimes | Jeremy Stucki | -3/+3 | |
| 2022-12-20 | Auto merge of #105880 - Nilstrieb:make-newtypes-less-not-rust, r=oli-obk | bors | -9/+6 | |
| Improve syntax of `newtype_index` This makes it more like proper Rust and also makes the implementation a lot simpler. Mostly just turns weird flags in the body into proper attributes. It should probably also be converted to an attribute macro instead of function-like, but that can be done in a future PR. | ||||
| 2022-12-19 | Revert "Auto merge of #103880 - b-naber:field-ty-mir, r=lcnr" | Rémy Rakic | -3/+3 | |
| This reverts commit 03770f0e2b60c02db8fcf52fed5fb36aac70cedc, reversing changes made to 01ef4b21dc5251b58bd9c6fd6face2ae95d56da1. | ||||
| 2022-12-18 | A few small cleanups for `newtype_index` | Nilstrieb | -6/+3 | |
| Remove the `..` from the body, only a few invocations used it and it's inconsistent with rust syntax. Use `;` instead of `,` between consts. As the Rust syntax gods inteded. | ||||
| 2022-12-18 | Make `#[debug_format]` an attribute in `newtype_index` | Nilstrieb | -3/+3 | |
| This removes the `custom` format functionality as its only user was trivially migrated to using a normal format. If a new use case for a custom formatting impl pops up, you can add it back. | ||||
| 2022-12-16 | Auto merge of #103880 - b-naber:field-ty-mir, r=lcnr | bors | -3/+3 | |
| Use non-ascribed type as field's type in mir Fixes https://github.com/rust-lang/rust/issues/96514 r? `@lcnr` | ||||
| 2022-12-14 | Remove one more usage of `mk_substs_trait` | Oli Scherer | -2/+6 | |
| 2022-12-13 | Don't require owned data in `MaybeStorageLive` | Jakob Degen | -6/+7 | |
| 2022-12-13 | Auto merge of #105436 - ↵ | bors | -51/+46 | |
| nnethercote:inline-place_contents_drop_state_cannot_differ, r=spastorino Inline and remove `place_contents_drop_state_cannot_differ`. It has a single call site and is hot enough to be worth inlining. And make sure `is_terminal_path` is inlined, too. r? `@ghost` | ||||
| 2022-12-11 | Rollup merge of #105537 - kadiwa4:remove_some_imports, r=fee1-dead | Matthias Krüger | -1/+1 | |
| compiler: remove unnecessary imports and qualified paths Some of these imports were necessary before Edition 2021, others were already in the prelude. I hope it's fine that this PR is so spread-out across files :/ | ||||
| 2022-12-10 | compiler: remove unnecessary imports and qualified paths | KaDiWa | -1/+1 | |
| 2022-12-09 | Remove unneeded field from `SwitchTargets` | Jakob Degen | -6/+4 | |
| 2022-12-08 | Inline and remove `place_contents_drop_state_cannot_differ`. | Nicholas Nethercote | -51/+46 | |
| It has a single call site and is hot enough to be worth inlining. And make sure `is_terminal_path` is inlined, too. | ||||
| 2022-12-05 | fix dupe word typos | Rageking8 | -1/+1 | |
| 2022-12-01 | Create `format_args` as late as possible | Oli Scherer | -8/+1 | |
| 2022-11-26 | Rewrite dest prop. | Jakob Degen | -124/+0 | |
| This fixes a number of correctness issues from the previous version. Additionally, we use a new strategy which has much better performance charactersitics and also finds more opportunities to apply the optimization. | ||||
| 2022-11-23 | use no type in ProjectionElem::Field for PlaceBuilder::UpVar | b-naber | -3/+3 | |
| 2022-11-21 | Allow iterators instead of requiring slices that will get turned into iterators | Oli Scherer | -1/+1 | |
| 2022-11-18 | couple of clippy::perf fixes | Matthias Krüger | -1/+1 | |
| 2022-11-12 | Remove log statement that was commented out | Jannis Christopher Köhl | -2/+0 | |
| 2022-11-12 | Exclude locals completely, instead of individual places | Jannis Christopher Köhl | -29/+18 | |
| 2022-11-11 | Add test for repr(transparent) with scalar | Jannis Christopher Köhl | -2/+5 | |
| 2022-11-10 | Simplify creation of map | Jannis Christopher Köhl | -52/+25 | |
| 2022-11-09 | Fix struct field tracking and add tests for it | Jannis Christopher Köhl | -7/+7 | |
| 2022-11-09 | Completely remove tracking of references for now | Jannis Christopher Köhl | -135/+37 | |
| 2022-11-07 | Fix rebase | Jannis Christopher Köhl | -2/+1 | |
| 2022-11-07 | Small corrections of documentation | Jannis Christopher Köhl | -3/+3 | |
| 2022-11-07 | Limit number of tracked places, and some other perf improvements | Jannis Christopher Köhl | -11/+46 | |
| 2022-11-07 | Move HasTop and HasBottom into lattice.rs | Jannis Christopher Köhl | -26/+41 | |
| 2022-11-07 | Explicitly match all terminators | Jannis Christopher Köhl | -2/+11 | |
| 2022-11-07 | Improve documentation of assumptions | Jannis Christopher Köhl | -65/+51 | |
| 2022-11-07 | Improve documentation, plus some small changes | Jannis Christopher Köhl | -76/+126 | |
| 2022-11-07 | Add comment for the current retag situation | Jannis Christopher Köhl | -1/+6 | |
| 2022-11-07 | Only assume Stacked Borrows if -Zunsound-mir-opts is given | Jannis Christopher Köhl | -2/+42 | |
| 2022-11-07 | Prevent registration inside references if target is !Freeze | Jannis Christopher Köhl | -17/+39 | |
| 2022-11-07 | Fix formatting | Jannis Christopher Köhl | -2/+1 | |
| 2022-11-07 | Remove `Unknown` state in favor of `Value(Top)` | Jannis Christopher Köhl | -13/+18 | |
| 2022-11-07 | Only track (trivially) freeze types | Jannis Christopher Köhl | -1/+5 | |
| 2022-11-07 | Make more assumptions explicit | Jannis Christopher Köhl | -7/+26 | |
| 2022-11-07 | Flood with bottom for Deinit, StorageLive and StorageDead | Jannis Christopher Köhl | -4/+5 | |
| 2022-11-07 | Handle NonDivergingIntrinsic and CopyNonOverlapping | Jannis Christopher Köhl | -3/+12 | |
| 2022-11-07 | Update test results after rebase | Jannis Christopher Köhl | -2/+18 | |
| 2022-11-07 | Fix typo | Jannis Christopher Köhl | -1/+1 | |
