about summary refs log tree commit diff
path: root/src/librustc_mir/dataflow/impls
AgeCommit message (Collapse)AuthorLines
2017-11-15add `StorageDead` handlingMikhail Modin-7/+14
2017-11-15Auto merge of #45922 - vramana:fix-45702, r=nikomatsakisbors-5/+11
Fix MIR borrowck EndRegion not found Fixes #45702 - [x] Add Tests
2017-11-11Fix MIR borrowck EndRegion not foundRamana Venkata-5/+11
Updated tests Fixes #45702
2017-11-09Add `TerminatorKind::DropAndReplace` handlingMikhail Modin-0/+13
2017-11-08restore move out dataflow, add report of move out errorsMikhail Modin-1/+161
2017-11-02encapsulate the `Region` struct within region inferenceNiko Matsakis-5/+15
2017-11-02extend NLL regions to include free region indices and add outlivesNiko Matsakis-3/+3
2017-10-31connect MIR borrowck with NLLNiko Matsakis-6/+34
2017-10-31make the dataflow / mir-borrowck types carry a `'tcx` lifetimeNiko Matsakis-40/+40
Also, factor out `do_mir_borrowck`, which is the code that actually performs the MIR borrowck from within the scope of an inference context. This change should be a pure refactoring.
2017-10-31make end-point optional in the borrow checkNiko Matsakis-2/+5
2017-10-05Rollup merge of #44987 - pnkfelix:mir-borrowck-fix-borrowindexes-ice, r=arielb1kennytm-5/+5
`EndRegion` do not always correspond to borrow-data entries Remove assertion that the argument to every `EndRegion` correspond to some dataflow-tracked borrow-data entry. Fix #44828 (The comment thread on the aforementioned issue discusses why its best to just remove this assertion.)
2017-10-04add notes to report_conflicting_borrow MIR borrowckMikhail Modin-2/+25
2017-10-02Remove assertion that the argument to every `EndRegion` correspond toFelix S. Klock II-5/+5
some dataflow-tracked borrow-data entry. Fix #44828 (The comment thread on the aforementioned issue discusses why its best to just remove this assertion.)
2017-09-13Analyse storage liveness and preserve it during generator transformationJohn Kåre Alsaker-0/+86
2017-09-01rustc: rename CodeExtent to Scope and RegionMaps to ScopeTree.Eduard-Mihai Burtescu-6/+6
2017-08-19rustc: Remove some dead codeVadim Petrochenkov-160/+1
2017-08-16Added dataflow analysis for `Borrows`.Felix S. Klock II-0/+183
post-rebase: addressed review comment: rename `loc_map`/`location_map` and `rgn_map`/`region_map`. post-rebase: remove now unnecessary `mut` decl. post-rebase: address comments: bind iterator expr, and alpha-rename `loc`/`location` and `idx`/`index`.
2017-08-16Refactor `trait BitDenotation` to take `Location` instead of ↵Felix S. Klock II-30/+20
`BasicBlock`/`usize` argument pairs.
2017-08-12Auto merge of #43794 - Eijebong:fix_typos, r=lukaramu,steveklanik,imperiobors-1/+1
Fix some typos I wrote a really naive script and found those typos in the documentation.
2017-08-11Fix some typosBastien Orivel-1/+1
2017-08-10For box expressions, use NZ drop instead of a free blockAriel Ben-Yehuda-9/+22
This falls naturally out of making drop elaboration work with `box` expressions, which is probably required for sane MIR borrow-checking. This is a pure refactoring with no intentional functional effects.
2017-07-30add new instructions for asserting when values are valid, and to describe ↵Ralf Jung-0/+1
when we can rely on them being locked in memory
2017-06-28Shift mir-dataflow from `rustc_borrowck` to `rustc_mir` crate.Felix S. Klock II-0/+600
Turn `elaborate_drops` and `rustc_peek` implementations into MIR passes that also live in `rustc_mir` crate. Rewire things so `rustc_driver` uses the `ElaborateDrops` from `rustc_mir` crate.