about summary refs log tree commit diff
path: root/src/librustc_mir/util
AgeCommit message (Collapse)AuthorLines
2019-09-25Rename `sty` to `kind`varkor-3/+3
2019-09-16Use while let slice_pattern instead of carrying an index aroundSantiago Pastorino-2/+3
2019-09-13Auto merge of #63420 - spastorino:place2_5, r=oli-obkbors-14/+10
[Place 2.0] Convert Place's projection to a boxed slice This is still work in progress, it's not compiling right now I need to review a bit more to see what's going on but wanted to open the PR to start discussing it. r? @oli-obk
2019-09-11Make Place Boxed on Statement to reduce size from 64 bytes to 32 bytesSantiago Pastorino-5/+5
2019-09-10rustc_mir: buffer -Zdump-mir output instead of pestering the kernel constantly.Eduard-Mihai Burtescu-2/+2
2019-09-09Convert Place's projection to a boxed sliceSantiago Pastorino-9/+5
2019-09-06Fixed grammar/style in error messages and reblessed tests.Alexander Regueiro-1/+1
2019-08-28Apply review commentsYuki Okushi-1/+4
2019-08-28Add Option<Span> to `require_lang_item`Yuki Okushi-1/+1
2019-08-16Remove redundant `ty` fields from `mir::Constant` and ↵Eduard-Mihai Burtescu-3/+1
`hair::pattern::PatternRange`.
2019-08-11add tuple_fields convenience method and use it in a few placesRalf Jung-2/+2
2019-08-05Fiddle param env through to `try_eval_bits` in most placesOliver Scherer-1/+1
2019-08-05Don't abort on unevaluated constants without at least tryting to eval themOliver Scherer-1/+1
2019-07-20Migrate from Place enum to Place structSantiago Pastorino-11/+13
2019-07-16Auto merge of #62322 - wesleywiser:promoted_query, r=oli-obkbors-1/+1
Add a query to get the `promoted`s for a `mir::Body` This is a builidng block toward removing a lot of duplicated code between miri and the cosnt-propagator pass. See this thread for more info: https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Using.20.60InterpCx.60.20more/near/169030661 r? @spastorino but feel free to hand it off to somebody else
2019-07-14`pub(crate)` -> `crate`Matthew Jasper-25/+25
The borrow checker code is already using `crate` extensively, so prefer being consistent with it.
2019-07-14Move suggest_ref_mut into rustc_mir::borrow_checkMatthew Jasper-17/+0
2019-07-14Remove BorrowckErrors traitMatthew Jasper-78/+63
Its methods are now inherent methods of `MirBorrowckCtxt`
2019-07-14Remove rustc_mir::borrowck_errors::OriginMatthew Jasper-32/+2
2019-07-14Remove unused BorrowckErrors methodsMatthew Jasper-105/+0
2019-07-11Remove rustc_mir dependency from rustc_borrowckMatthew Jasper-220/+108
2019-07-04Rollup merge of #62249 - czipperz:use-mem-take-instead-of-replace-default, ↵Mazdak Farrokhzad-1/+1
r=dtolnay,Centril Use mem::take instead of mem::replace with default
2019-07-03Remove needless lifetimesJeremy Stucki-7/+7
2019-07-02Add a query to get the `promoted`s for a `mir::Body`Wesley Wiser-1/+1
This is a builidng block toward removing a lot of duplicated code between miri and the cosnt-propagator pass. See this thread for more info: https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Using.20.60InterpCx.60.20more/near/169030661
2019-07-01Convert more usages overChris Gregory-1/+1
2019-06-30Rollup merge of #62063 - ecstatic-morse:dataflow-backward-order, r=nagisaMazdak Farrokhzad-3/+18
Use a more efficient iteration order for backward dataflow This applies the same basic principle as #62062 to the reverse dataflow analysis used to compute liveness information. It is functionally equivalent, except that post-order is used instead of reverse post-order. In the long-term, `BitDenotation` should probably be extended to support both forward and backward dataflow, but there's some more work needed to get to that point.
2019-06-27Use more efficient iteration order for backward dataflowDylan MacKenzie-3/+18
This applies the same basic principle as #62062 to the reverse dataflow analysis used to compute liveness information. It is functionally equivalent, except that post-order is used instead of reverse post-order. Some `mir::Body`s contain basic blocks which are not reachable from the `START_BLOCK`. We need to add them to the work queue as well to preserve the original semantics.
2019-06-25Implement From<Local> for Place and PlaceBaseSantiago Pastorino-21/+20
2019-06-22Deny explicit_outlives_requirements in the compilerMatthew Jasper-1/+1
2019-06-18Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-3/+5
2019-06-18rustc: reintroduce lifetime bounds where necessary.Eduard-Mihai Burtescu-1/+3
2019-06-18rustc: remove 'x: 'y bounds (except from comments/strings).Eduard-Mihai Burtescu-2/+2
2019-06-14Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-14/+3
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-41/+41
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-27/+33
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-27/+27
2019-06-12Fix fallout from `deny(unused_lifetimes)`.Eduard-Mihai Burtescu-15/+15
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-29/+29
2019-06-11Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-29/+20
2019-06-11rustc_mir: deny(unused_lifetimes).Eduard-Mihai Burtescu-14/+14
2019-06-09Changed usages of `mir` in librustc::mir and librustc_mir to `body`Jad Ghalayini-108/+108
2019-06-06Don't run MIR passes on constructor shimsMatthew Jasper-0/+78
2019-06-03Improve cannot move errorsMatthew Jasper-9/+3
* Show the place and type being moved * Give a special error for variables in match guard * Simplify search for overloaded deref * Search for overloaded index
2019-05-28Changes the type `mir::Mir` into `mir::Body`Claude-Alban RANÉLY-VERGÉ-DÉPRÉ-32/+32
The commit should have changed comments as well. At the time of writting, it passes the tidy and check tool. Revisions asked by eddyb : - Renamed of all the occurences of {visit/super}_mir - Renamed test structures `CachedMir` to `Cached` Fixing the missing import on `AggregateKind`
2019-05-26Rename "Associated*" to "Assoc*"Andrew Xu-1/+1
We are going to uniform the terminology of all associated items. Methods that may or may not have `self` are called "associated functions". Because `AssociatedFn` is a bit long, we rename `Associated` to `Assoc`.
2019-05-25Don't use `ty::Const` without immediately interningOliver Scherer-3/+1
2019-05-18Declare DefIndex with the newtype_index macroFabian Drinck-1/+1
2019-05-13Rollup merge of #60176 - matthewjasper:yield-ref-to-local, r=pnkfelixMazdak Farrokhzad-2/+4
Explain error when yielding a reference to a local variable Closes #56508
2019-05-12Remove redundant "let mut" in write_graph_labelYusuke Matsushita-1/+1
Removed the redundant "let mut" in the write_graph_label function (it caused "let mut let mut" for non-user-defined local variables).
2019-05-09Rollup merge of #59348 - matthewjasper:cleanup-drop-shims, r=arielb1Mazdak Farrokhzad-57/+65
Clean up and add tests for slice drop shims Adds a test for the MIR generated by `real_drop_in_place::<[T]>`. Also slightly reduces the number of statements and locals used in the shim. r? @RalfJung