diff options
| author | bors <bors@rust-lang.org> | 2020-02-12 13:16:58 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-02-12 13:16:58 +0000 |
| commit | 2ed25f069768c046464e68fd382c867ddb04a1e3 (patch) | |
| tree | 32fa45c28a2290ece5bedf78aabbc67df0877030 /src/libstd/sys/unix/stack_overflow.rs | |
| parent | cd5441faf4e56d136d7c05d5eb55b4a41396edaf (diff) | |
| parent | 5f40fe96a42d3590b804264c029fb02d0a4b065c (diff) | |
| download | rust-2ed25f069768c046464e68fd382c867ddb04a1e3.tar.gz rust-2ed25f069768c046464e68fd382c867ddb04a1e3.zip | |
Auto merge of #68241 - ecstatic-morse:unified-dataflow-impls, r=pnkfelix
Migrate borrowck dataflow impls to new framework This uses #65672 to implement the dataflow analyses needed by borrowck. These include all the `InitializedPlaces` analyses as well as `Borrows`. Additionally, this PR contains several independent changes around the dataflow API which improve performance and make it more ergonomic. * An optimization that inhibits the caching of block transfer functions for acyclic MIR (~0.3% I-CNT savings). * A `ResultsVisitor` for dataflow results that is more efficient than `ResultsCursor` when we have to visit every statement unconditionally (~0.3% I-CNT savings). * An `into_engine` method on `Analysis` that selects the appropriate `Engine` constructor. * A `contains` method for `ResultsCursor` as a shorthand for `.get().contains()`. * A `find_descendants` helper on `MovePath` that replaces `has_any_child_of` on the old `FlowsAtLocation` These changes made porting the dataflow analyses much easier. Finally, this PR removes some now-unused code in `dataflow/at_location.rs` and elsewhere. You can view the perf results for the final version of this PR [here](https://perf.rust-lang.org/compare.html?start=29b854fb741809c29764e33fc17c32ba9c6523ba&end=6e516c1410c18cfe4eb6d030a39fdb73c8d8a4fe). Here's an example of the graphviz diagrams that are generated for the `MaybeInitializedPlaces` analysis. 
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions
