summary refs log tree commit diff
path: root/src/librustc_mir/util/patch.rs
AgeCommit message (Collapse)AuthorLines
2018-02-08add transform for uniform array move outMikhail Modin-1/+11
2017-12-01MIR: s/lv(al(ue)?)?/place in function/variable/module names.Eduard-Mihai Burtescu-2/+2
2017-12-01MIR: s/Lvalue/Place in type names.Eduard-Mihai Burtescu-1/+1
2017-08-16Merge remote-tracking branch 'origin/master' into genAlex Crichton-1/+1
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-1/+1
Like #43008 (f668999), but _much more aggressive_.
2017-07-28Ignore drop check bools when testing for legal generator typesJohn Kåre Alsaker-0/+7
2017-06-12Add `EndRegion` statement kind to MIR.Felix S. Klock II-0/+1
* Emit `EndRegion` for every code-extent for which we observe a borrow. To do this, we needed to thread source info back through to `fn in_scope`, which makes this commit a bit more painful than one might have expected. * There is `end_region` emission in `Builder::pop_scope` and in `Builder::exit_scope`; the first handles falling out of a scope normally, the second handles e.g. `break`. * Remove `EndRegion` statements during the erase_regions mir transformation. * Preallocate the terminator block, and throw an `Unreachable` marker on it from the outset. Then overwrite that Terminator as necessary on demand. * Instead of marking the scope as needs_cleanup after seeing a borrow, just treat every scope in the chain as being part of the diverge_block (after any *one* of them has separately signalled that it needs cleanup, e.g. due to having a destructor to run). * Allow for resume terminators to be patched when looking up drop flags. (In particular, `MirPatch::new` has an explicit code path, presumably previously unreachable, that patches up such resume terminators.) * Make `Scope` implement `Debug` trait. * Expanded a stray comment: we do not emit StorageDead on diverging paths, but that end behavior might not be desirable.
2017-04-11store Spans for all MIR localsAriel Ben-Yehuda-2/+3
2017-03-18move the drop expansion code to rustc_mirAriel Ben-Yehuda-0/+178