about summary refs log tree commit diff
path: root/src/test/mir-opt/basic_assignment.rs
AgeCommit message (Collapse)AuthorLines
2020-07-29add crate name to mir dumpsXavier Denis-1/+1
2020-03-26Enable `--bless`ing of MIR dumpsOliver Scherer-31/+3
2019-04-23Remove unnecessary ignore-tidy-linelengthvarkor-2/+0
2019-03-21Auto merge of #58902 - matthewjasper:generator-cleanup-blocks, r=davidtwcobors-1/+1
Fixes for the generator transform * Moves cleanup annotations in pretty printed MIR so that they can be tested * Correctly determines which drops are in cleanup blocks when elaborating generator drops * Use the correct state for poisoning a generator Closes #58892
2019-03-15rustc: explicitly pass the namespace to PrintCx::parameterized.Eduard-Mihai Burtescu-1/+1
2019-03-03Check which blocks are cleanup in mir-opt testsMatthew Jasper-1/+1
2019-01-19Rename UserTypeAnnotation -> UserTypeMatthew Jasper-1/+1
2018-12-30Refactor `UserTypeAnnotation`.David Wood-1/+1
This commit refactors the `UserTypeAnnotation` type to be referred to by an index within `UserTypeProjection`. `UserTypeAnnotation` is instead kept in an `IndexVec` within the `Mir` struct. Further, instead of `UserTypeAnnotation` containing canonicalized types, it now contains normal types and the entire `UserTypeAnnotation` is canonicalized. To support this, the type was moved from the `rustc::mir` module to `rustc::ty` module.
2018-12-25Remove licensesMark Rousskov-19/+0
2018-10-27allow canonicalized regions to carry universe and track max-universeNiko Matsakis-1/+1
But.. we don't really use it for anything right now.
2018-10-26Update mir-opt tests to reflect change to `AscribeUserType` to carry a ↵Felix S. Klock II-1/+1
`UserTypeProjection`.
2018-10-15fix mir-opt testNiko Matsakis-1/+1
2018-10-10Use the span of the user type for `AscribeUserType`Matthew Jasper-1/+1
Also change the order of the fake read for let and the AscribeUserType, so that we use the better span and message from the fake read in errors.
2018-09-18Update mir-opt test suiteRémy Rakic-0/+2
2018-09-10optimize `let x: T = ..` to avoid a temporaryNiko Matsakis-49/+32
For some weird reason this fixes `intrinsic-move-val`. It also affects various test heuristics. I removed one test (`reborrow_basic`) that didn't seem to really be testing anything in particular anymore, compared to all the other tests we've got.
2018-09-10add the `AscribeUserType` statement kindNiko Matsakis-1/+1
Make it have the semantics of subtype.
2018-05-27Make &Slice a thin pointerJohn Kåre Alsaker-1/+1
2018-03-23Updated MIR with UserAssertTy in mir-opt tests.David Wood-0/+3
2017-12-03funnel all unwind paths through a single Resume blockAriel Ben-Yehuda-5/+5
This simplifies analysis and borrow-checking because liveness at the resume point can always be simply propagated. Later on, the "dead" Resumes are removed.
2017-11-28tests: update to include move annotations in MIR.Eduard-Mihai Burtescu-3/+3
2017-11-09change MIR dump filenames from `nodeN` to `DefPath`Mikhail Modin-2/+2
2017-08-01rustc_mir::transform::simplify - remove nops firstAriel Ben-Yehuda-14/+8
Removing nops can allow more basic blocks to be merged, but merging basic blocks can't allow for more nops to be removed, so we should remove nops first. This doesn't matter *that* much, because normally we run SimplifyCfg several times, but there's no reason not to do it.
2017-08-01rustc_mir: don't build unused unwind cleanup blocksAriel Ben-Yehuda-13/+13
The unused blocks are removed by SimplifyCfg, but they can cause a significant performance slowdown before they are removed.
2017-06-12Update basic_assignment test to reflect small changes to codegen.Felix S. Klock II-8/+14
2017-05-02simplify the MirPass traits and passes dramaticallyNiko Matsakis-2/+2
Overall goal: reduce the amount of context a mir pass needs so that it resembles a query. - The hooks are no longer "threaded down" to the pass, but rather run automatically from the top-level (we also thread down the current pass number, so that the files are sorted better). - The hook now receives a *single* callback, rather than a callback per-MIR. - The traits are no longer lifetime parameters, which moved to the methods -- given that we required `for<'tcx>` objecs, there wasn't much point to that. - Several passes now store a `String` instead of a `&'l str` (again, no point).
2017-03-03make operands live to the end of their containing expressionAriel Ben-Yehuda-0/+85
In MIR construction, operands need to live exactly until they are used, which is during the (sub)expression that made the call to `as_operand`. Before this PR, operands lived until the end of the temporary scope, which was sometimes unnecessarily longer and sometimes too short. Fixes #38669.