summary refs log tree commit diff
path: root/src/test/mir-opt
AgeCommit message (Collapse)AuthorLines
2018-07-26patch up mir-opt testsNiko Matsakis-14/+14
2018-07-23Update mir-opt to promoted changesOliver Schneider-10/+4
2018-07-21delete testsdylan_DPC-110/+0
2018-07-21remove unwanted tests and a reference to it in commentsdylan_DPC-134/+0
2018-07-13Auto merge of #52046 - cramertj:fix-generator-mir, r=eddybbors-1/+149
Ensure StorageDead is created even if variable initialization fails Rebase and slight cleanup of https://github.com/rust-lang/rust/pull/51109 Fixes https://github.com/rust-lang/rust/issues/49232 r? @eddyb
2018-07-12Ensure StorageDead is created even if variable initialization failsTaylor Cramer-1/+149
2018-07-09bump minimum LLVM version to 5.0gnzlbg-3/+0
2018-07-05Auto merge of #51964 - matthewjasper:unused-mut-mir-generation, r=nikomatsakisbors-19/+8
[NLL] Fix various unused mut errors Closes #51801 Closes #50897 Closes #51830 Closes #51904 cc #51918 - keeping this one open in case there are any more issues This PR contains multiple changes. List of changes with examples of what they fix: * Change mir generation so that the parameter variable doesn't get a name when a `ref` pattern is used as an argument ```rust fn f(ref y: i32) {} // doesn't trigger lint ``` * Change mir generation so that by-move closure captures don't get first moved into a temporary. ```rust let mut x = 0; // doesn't trigger lint move || { x = 1; }; ``` * Treat generator upvars the same as closure upvars ```rust let mut x = 0; // This mut is now necessary and is not linted against. move || { x = 1; yield; }; ``` r? @nikomatsakis
2018-07-03Fix various nll unused mut errorsMatthew Jasper-19/+8
2018-07-01update mir-opt testsNiko Matsakis-5/+7
2018-06-27Update MIR opt testsMatthew Jasper-125/+83
2018-06-23Fix codegen testsvarkor-12/+12
2018-05-30rustc: use syntactic (instead of visibility) source info where appropriate.Eduard-Mihai Burtescu-26/+28
2018-05-29Test update: Fallout from ReadForMatch statements + changes to codegen under ↵Felix S. Klock II-112/+125
NLL.
2018-05-27Make &Slice a thin pointerJohn Kåre Alsaker-1/+1
2018-05-19Auto merge of #50603 - eddyb:issue-49955, r=nikomatsakisbors-3/+8
rustc_mir: allow promotion of promotable temps indexed at runtime. Fixes #49955. r? @nikomatsakis
2018-05-16rustc_mir: allow promotion of promotable temps indexed at runtime.Eduard-Mihai Burtescu-1/+2
2018-05-16rustc_mir: generate an extra temporary during borrowed rvalue promotion.Eduard-Mihai Burtescu-2/+6
2018-05-10"fix" test region-liveness-two-disjoint-usesNiko Matsakis-2/+5
We no longer get two disjoint uses. =)
2018-05-04Update mir-opt test to reflect change to MIR code-generation.Felix S. Klock II-53/+61
2018-04-15remove -Znll -- borrowck=mir implies nll nowNiko Matsakis-13/+13
2018-04-12Add some new tests + Fix failing testsVadim Petrochenkov-39/+51
2018-04-05Stabilize attributes on generic parametersVadim Petrochenkov-1/+0
2018-03-26Stabilize i128_typeMark Mansi-2/+0
2018-03-23Updated MIR with UserAssertTy in mir-opt tests.David Wood-2/+5
2018-03-21WIP fix mir-opt-end-region-8Niko Matsakis-2/+4
2018-03-20Stabilize slice patterns without `..`Vadim Petrochenkov-1/+2
Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`
2018-03-08Rebase falloutOliver Schneider-1/+1
2018-03-08Produce instead of pointersOliver Schneider-12/+12
2018-02-28Rollup merge of #48355 - mikhail-m1:subslice_pattern_array_drop2, r=nikomatsakisManish Goregaokar-0/+25
Fixes #47311. r? @nrc
2018-02-25restore Subslice move out from array after elaborate drops and borrowckMikhail Modin-0/+25
2018-02-20rustc_mir: optimize the deaggregator's expansion of statements.Eduard-Mihai Burtescu-11/+15
2018-02-20rustc_mir: don't run the deaggregator on arrays for now.Eduard-Mihai Burtescu-2/+1
2018-02-20rustc_mir: handle all aggregate kinds in the deaggregator.Eduard-Mihai Burtescu-3/+2
2018-02-17fix more typos found by codespell.Matthias Krüger-1/+1
2018-02-17Auto merge of #47926 - mikhail-m1:subslice_pattern_array_drop2, r=nikomatsakisbors-0/+59
add transform for uniform array move out reworked second step for fix #34708 previous try #46686 r? @nikomatsakis
2018-02-11Auto merge of #48092 - eddyb:discriminate-the-void, r=nikomatsakisbors-52/+55
rustc_mir: insert a dummy access to places being matched on, when building MIR. Fixes #47412 by adding a `_dummy = Discriminant(place)` before each `match place {...}`. r? @nikomatsakis
2018-02-09rustc_mir: insert a dummy access to places being matched on, when building MIR.Eduard-Mihai Burtescu-52/+55
2018-02-08add transform for uniform array move outMikhail Modin-0/+59
2018-02-07Fix tests for MIR loop loweringbobtwinkles-0/+49
Fixes the hash test to recognize that MirValidated can change when changing around labels, and add a new test that makes sure we're lowering loop statements correctly.
2018-02-07[ci skip] Generate false edges from loop_blockbobtwinkles-43/+59
As opposed to using weirdness involving pretending the body block is the loop block. This does not pass tests This commit is [ci skip] because I know it doesn't pass tests yet. Somehow this commit introduces nondeterminism into the handling of loops.
2018-02-05mir: Add and fix tests for FalseUnwindsbobtwinkles-19/+29
Fix instructions on existing mir-opt tests after introducing false edges from loops. Also, add a test for issue 46036: infinite loops.
2018-01-29Fix ref-to-ptr coercions not working with NLL in certain casesAaron Hill-3/+6
Implicit coercions from references to pointers were lowered to slightly different Mir than explicit casts (e.g. 'foo as *mut T'). This resulted in certain uses of self-referential structs compiling correctly when an explicit cast was used, but not when the implicit coercion was used. To fix this, this commit adds an outer 'Use' expr when applying a raw-ptr-borrow adjustment. This makes the lowered Mir for coercions identical to that of explicit coercions, allowing the original code to compile regardless of how the raw ptr cast occurs. Fixes #47722
2017-12-30Add trailing newlines to files which have no trailing newlines.kennytm-1/+1
2017-12-20Auto merge of #46862 - nikomatsakis:nll-master, r=arielb1bors-102/+0
NLL feature complete (adds `feature(nll)`)! This is the final PR for the nll-master branch; it brings over all remaining content. The contents of the branch include: - track causal information and use it to report extended errors - handle `impl Trait` in NLL code - improve printing of outlives errors - add `#![feature(nll)]` and some more sample tests The commits should for the most part build independently. r? @pnkfelix (and/or @arielb1)
2017-12-20convert region-liveness-drop{-,-no-}may-dangle.rs into ui testsNiko Matsakis-102/+0
The "match exact bits of CFG" approach was fragile and uninformative.
2017-12-20Auto merge of #46583 - scottmcm:fix-static-i128-lower, r=eddybbors-4/+244
Fix -Z lower_128bit_ops handling of statics Avoids ICEs such as the following: > error: internal compiler error: src\librustc_metadata\cstore_impl.rs:131: > get_optimized_mir: missing MIR for `DefId(8/0:40 ~ > compiler_builtins[9532]::int[0]::addsub[0]::rust_i128_addo[0])` r? @nagisa cc #45676 @est31
2017-12-19Fix -Z lower_128bit_ops handling of staticsScott McMurray-4/+244
Avoids ICEs such as the following: error: internal compiler error: src\librustc_metadata\cstore_impl.rs:131: get_optimized_mir: missing MIR for `DefId(8/0:40 ~ compiler_builtins[9532]::int[0]::addsub[0]::rust_i128_addo[0])`
2017-12-15more concise debug output when dumping the value of a regionNiko Matsakis-21/+21
2017-12-15impose inputs/ouputs on MIR after the factNiko Matsakis-1/+5
The input/output types found in `UniversalRegions` are not normalized. The old code used to assign them directly into the MIR, which would lead to errors when there was a projection in a argument or return type. This also led to some special cases in the `renumber` code. We now renumber uniformly but then pass the input/output types into the MIR type-checker, which equates them with the types found in MIR. This allows us to normalize at the same time.