| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-07-25 | The const propagator cannot trace references. | Oliver Scherer | -32/+4 | |
| Thus we avoid propagation of a local the moment we encounter references to it. | ||||
| 2020-06-13 | Revert "Bless mir-opt tests" | Felix S. Klock II | -6/+6 | |
| This reverts commit a030c923412b0a0f7b02a585debe7bf60357370d. | ||||
| 2020-05-24 | Clear MIR local type annotations after borrowck | Jonas Schievink | -9/+9 | |
| 2020-05-17 | Auto merge of #72135 - oli-obk:const_prop_deaggregates, r=wesleywiser | bors | -0/+165 | |
| Propagate locals, even if they have unpropagatable assignments somewhere Second try for https://github.com/rust-lang/rust/pull/71946#discussion_r422967292 r? @wesleywiser cc @rust-lang/wg-mir-opt @RalfJung | ||||
| 2020-05-16 | Bless mir-opt tests to account for #72220 | Wesley Wiser | -4/+2 | |
| 2020-05-14 | [const-prop] Don't replace Rvalues that are already constants | Wesley Wiser | -4/+2 | |
| 2020-05-12 | Pointer printing: do not print 0 offset | Ralf Jung | -9/+9 | |
| 2020-05-12 | Add some more sanity tests and add a debug log message for it | Oliver Scherer | -0/+89 | |
| 2020-05-12 | Propagate locals, even if they have unpropagatable assignments somewhere. | Oliver Scherer | -3/+12 | |
| 2020-05-12 | Add a repro example for not propagating constants of partially const ↵ | Oliver Scherer | -0/+69 | |
| initialized variables | ||||
| 2020-05-11 | Auto merge of #71953 - oli-obk:const_prop_deaggregates, r=wesleywiser | bors | -0/+284 | |
| Const prop aggregates even if partially or fully modified r? @wesleywiser cc @rust-lang/wg-mir-opt I'm moderately scared of this change, but I'm confident in having reviewed all the cases. | ||||
| 2020-05-09 | Bless mir-opt tests | Matthew Jasper | -6/+6 | |
| 2020-05-07 | Renamed "undef" stuff to "uninit" | Hanif Bin Ariffin | -2/+2 | |
| 1. InvalidUndefBytes -> InvalidUninitBytes 2. ScalarMaybeUndef -> ScalarMaybeUninit 3. UndefMask -> InitMask Related issue #71193 | ||||
| 2020-05-06 | Const prop aggregates even if partially or fully modified | Oliver Scherer | -0/+284 | |
| 2020-05-02 | Added MIR constant propagation of Scalars into function call arguments | Félix Fischer | -3/+10 | |
| - Documented rationale of current solution - Polished documentation | ||||
| 2020-04-28 | Added MIR const-prop diff tests to show why some assertions now fail at ↵ | Félix Fischer | -0/+421 | |
| compile-time | ||||
| 2020-04-28 | Allow Locals to be propagated into and from, but restricted to their own block | Félix Fischer | -2/+22 | |
| 2020-04-27 | Added regression test for literal propagation and for scalar pair propagation | Félix Fischer | -0/+121 | |
| 2020-04-27 | Emit basic block ids for statements and terminators in MIR only in -Zverbose ↵ | Oliver Scherer | -486/+476 | |
| mode | ||||
| 2020-04-23 | Add leading 0x to offset in Debug fmt of Pointer | David Cook | -6/+6 | |
| 2020-04-17 | ty/print: pretty-print constant aggregates (arrays, tuples and ADTs). | Eduard-Mihai Burtescu | -2/+2 | |
| 2020-04-17 | mir: pretty-print `Rvalue::Aggregate` correctly. | Eduard-Mihai Burtescu | -2/+2 | |
| 2020-04-15 | Remove other Rvalues | Wesley Wiser | -100/+20 | |
| 2020-04-14 | update 32 bit mir-opt tests | Bastian Kauschke | -9/+46 | |
| 2020-04-13 | bless mir opt tests | Bastian Kauschke | -35/+169 | |
| 2020-04-11 | Use write!-style syntax for MIR assert terminator | robojumper | -16/+16 | |
| 2020-04-07 | Normalize away pairs of line:col numbers. | Ana-Maria Mihalache | -5/+5 | |
| 2020-04-07 | Add EMIT_MIR_FOR_EACH_BIT_WIDTH to tests that need it. | Ana-Maria Mihalache | -243/+875 | |
| 2020-04-07 | --bless more mir-opt tests. | Ana-Maria Mihalache | -689/+1567 | |
| 2020-03-26 | Enable `--bless`ing of MIR dumps | Oliver Scherer | -44/+50 | |
| 2020-03-21 | Resolve worsened debug build codegen | Wesley Wiser | -0/+64 | |
| 2020-03-11 | Print leading zeros for non pointers | Oliver Scherer | -1/+1 | |
| 2020-03-11 | Don't print leading zeros on hex dumps constants | Oliver Scherer | -1/+1 | |
| 2020-03-11 | Deduplicate and clean up pretty printing logic | Oliver Scherer | -4/+4 | |
| 2020-02-01 | Update existing tests for or-patterns | Matthew Jasper | -10/+10 | |
| 2020-01-24 | Render const pointers in MIR more compactly | Oliver Scherer | -2/+2 | |
| 2020-01-12 | Turn off const propagation of ref taking | Wesley Wiser | -2/+2 | |
| Fixes #67529 Fixes #67640 Fixes #67641 Fixes #67862 | ||||
| 2020-01-10 | Add regression tests for promotion mir expansion | Oliver Scherer | -0/+59 | |
| 2020-01-10 | Promote `Ref`s to constants instead of static | Santiago Pastorino | -4/+8 | |
| 2019-12-30 | Lint overflowing integer casts in const prop | Wesley Wiser | -0/+49 | |
| This extends the invalid cases we catch in const prop to include overflowing integer casts using the same machinery as the overflowing binary and unary operation logic. | ||||
| 2019-12-20 | Rollup merge of #67130 - wesleywiser:const_prop_into_locals, r=oli-obk | Mazdak Farrokhzad | -4/+153 | |
| Const prop should finish propagation into user defined variables Fixes #66638 ~~Temporarily rebased on top of #67015 to get those fixes.~~ r? @oli-obk | ||||
| 2019-12-18 | Start generating AddressOf rvalues in MIR | Matthew Jasper | -11/+7 | |
| `hir::BorrowKind::Raw` borrows and casting a reference to a raw pointer no longer do a reborrow followed by a cast. Instead we dereference and take the address. | ||||
| 2019-12-13 | Const prop should finish propagation into user defined variables | Wesley Wiser | -4/+153 | |
| Fixes #66638 | ||||
| 2019-12-11 | Auto merge of #66650 - matthewjasper:nonuniform-array-move, r=pnkfelix | bors | -6/+0 | |
| Remove uniform array move MIR passes This PR fixes a number of bugs caused by limitations of this pass * Projections from constant indexes weren't being canonicalized * Constant indexes from the start weren't being canonicalized (they could have different min_lengths) * It didn't apply to non-moves This PR makes the following changes to support removing this pass: * ConstantIndex of arrays are now generated in a canonical form (from the start, min_length is the actual length). * Subslices are now split when generating move paths and when checking subslices have been moved. Additionally * The parent move path of a projection from an array element is now calculated correctly closes #66502 | ||||
| 2019-12-09 | Remove `uniform_array_move_out` passes | Matthew Jasper | -6/+0 | |
| These passes were buggy, MIR building is now responsible for canonicalizing `ConstantIndex` projections and `MoveData` is responsible for splitting `Subslice` projections. | ||||
| 2019-12-06 | const-prop: Restrict scalar pair propagation | Ömer Sinan Ağacan | -0/+72 | |
| We now only propagate a scalar pair if the Rvalue is a tuple with two scalars. This for example avoids propagating a (u8, u8) value when Rvalue has type `((), u8, u8)` (see the regression test). While this is a correct thing to do, implementation is tricky and will be done later. Fixes #66971 Fixes #66339 Fixes #67019 | ||||
| 2019-11-27 | Auto merge of #66677 - wesleywiser:fix_const_prop_alloc_id_ice, r=oli-obk | bors | -7/+7 | |
| [const prop] Fix "alloc id without corresponding allocation" ICE r? @oli-obk | ||||
| 2019-11-23 | [const prop] Fix "alloc id without corresponding allocation" ICE | Wesley Wiser | -7/+7 | |
| Fixes #66345 | ||||
| 2019-11-21 | Bless remaining test output | Matthew Jasper | -5/+7 | |
| 2019-11-12 | Bless mir-dump test. | Camille GILLOT | -1/+1 | |
