Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #62253

Merged
merged 20 commits into from
Jul 1, 2019
Merged

Rollup of 8 pull requests #62253

merged 20 commits into from
Jul 1, 2019

Commits on Jun 27, 2019

  1. Configuration menu
    Copy the full SHA
    e991abd View commit details
    Browse the repository at this point in the history
  2. Use a more efficient iteration order for forward dataflow

    Currently, dataflow begins by visiting each block in order of ID
    (`BasicBlock(0)`, `BasicBlock(1)`, etc.). This PR changes that initial
    iteration to reverse post-order. This ensures that the effects of all
    predecessors will be applied before a basic block is visited if the CFG
    has no back-edges, and should result in less total iterations even when
    back-edges exist. This should not change the results of dataflow
    analysis.
    
    The current ordering for basic blocks is pretty close to RPO
    already--`BasicBlock(0)` is already the start block, so the gains from
    this are pretty small, especially since we need to do an extra traversal
    up front.
    
    Note that some basic blocks are unreachable from the `START_BLOCK`
    during dataflow. We add these blocks to the work queue as well to
    preserve the original behavior.
    ecstatic-morse committed Jun 27, 2019
    Configuration menu
    Copy the full SHA
    07c5e2b View commit details
    Browse the repository at this point in the history
  3. Use more efficient iteration order for backward dataflow

    This applies the same basic principle as rust-lang#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.
    ecstatic-morse committed Jun 27, 2019
    Configuration menu
    Copy the full SHA
    e2479e2 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2019

  1. Fix a typo

    Fix a typo in `libcore/char/methods.rs`
    lcolaholicl committed Jun 29, 2019
    Configuration menu
    Copy the full SHA
    47551b1 View commit details
    Browse the repository at this point in the history
  2. fix the same typo in doctest

    lcolaholicl committed Jun 29, 2019
    Configuration menu
    Copy the full SHA
    1fd64cf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ce1d95a View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2019

  1. Configuration menu
    Copy the full SHA
    c0fb347 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b613ef1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d066f19 View commit details
    Browse the repository at this point in the history
  4. Fix run-pass tests

    varkor committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    75f31e7 View commit details
    Browse the repository at this point in the history
  5. Update miri

    varkor committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    400fd60 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    76f5b50 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#62062 - ecstatic-morse:dataflow-order, r=na…

    …gisa
    
    Use a more efficient iteration order for forward dataflow
    
    Currently, dataflow begins by visiting each block in order of ID (`BasicBlock(0)`, `BasicBlock(1)`, etc.). This PR changes that initial iteration to reverse post-order (see [this blog post](https://eli.thegreenplace.net/2015/directed-graph-traversal-orderings-and-applications-to-data-flow-analysis/#data-flow-analysis) for more info). This ensures that the effects of all predecessors will be applied before a basic block is visited if the CFG has no back-edges, and should result in less total iterations even when back-edges exist. This should not change the results of dataflow analysis.
    
    The current ordering for basic blocks may be pretty close to RPO already--`BasicBlock(0)` is already the start block--in which case the cost of doing the traversal up front will outweigh the efficiency gains.
    A perf run is needed to check this.
    
    r? @pnkfelix (I think).
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    543c464 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#62063 - ecstatic-morse:dataflow-backward-or…

    …der, r=nagisa
    
    Use a more efficient iteration order for backward dataflow
    
    This applies the same basic principle as rust-lang#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.
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    70ea57b View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#62224 - euclio:remove-derives, r=GuillaumeG…

    …omez
    
    rustdoc: remove unused derives and variants
    
    Though many structs in rustdoc derive `RustcEncodable` and `RustcDecodable`, the impls do not appear to be used by the crate or its dependents. Removing them revealed some enum variants that are never constructed, too.
    
    r? @GuillaumeGomez
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    1683bb7 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#62228 - varkor:must_use-trait-in-box, r=Cen…

    …tril
    
    Extend the #[must_use] lint to boxed types
    
    Fixes rust-lang#55506 (comment) (cc @Nemo157).
    
    This should have been included as part of rust-lang#55663, but was overlooked.
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    c779f4e View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#62235 - varkor:must_use-adt-components, r=C…

    …entril
    
    Extend the `#[must_use]` lint to arrays
    
    Based on top of rust-lang#62228.
    
    r? @Centril
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    2b313b1 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#62239 - lcolaholicl:lcolaholicl-patch-1, r=…

    …kennytm
    
    Fix a typo
    
    The definition of 京 seems to be capital, but not capitol.
    [reference](https://en.wiktionary.org/wiki/%E4%BA%AC#Etymology_1)
    [another reference](https://jisho.org/word/%E4%BA%AC)
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    690f9e4 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#62241 - Centril:fix-async-unsafe-order, r=p…

    …etrochenkov
    
    Always parse 'async unsafe fn' + properly ban in 2015
    
    Parse `async unsafe fn` not `unsafe async fn` in implementations. We also take the opportunity to properly ban `async fn` in Rust 2015 when they are inside implementations.
    
    Closes rust-lang#62232.
    
    cc rust-lang#61319, rust-lang#62121, and rust-lang#62149.
    
    r? @petrochenkov
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    43eba5f View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#62248 - RalfJung:release-notes, r=Mark-Simu…

    …lacrum
    
    before_exec actually will only get deprecated with 1.37
    
    Not sure if we usually fix old release notes, but I just found this when scrolling over them.
    Centril committed Jun 30, 2019
    Configuration menu
    Copy the full SHA
    1abbf4b View commit details
    Browse the repository at this point in the history