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 12 pull requests #79030

Closed
wants to merge 39 commits into from

Commits on Oct 25, 2020

  1. Configuration menu
    Copy the full SHA
    3dd0a7d View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2020

  1. rustc_target: Change os from "unknown" to "none" for bare metal targets

    x86_64-fortanix-unknown-sgx and wasm32-unknown-unknown still have os == "unknown" because both have libstd
    petrochenkov committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    443b45f View commit details
    Browse the repository at this point in the history
  2. rustc_target: Normalize vendor from "" to "unknown" for all targets

    Majority of targets use "unknown" vendor and changing it from "unknown" to omitted doesn't make sense.
    From the LLVM docs (https://clang.llvm.org/docs/CrossCompilation.html#target-triple):
    
    >Most of the time it can be omitted (and Unknown) will be assumed, which sets the defaults for the specified architecture.
    >When a parameter is not important, it can be omitted, or you can choose unknown and the defaults will be used. If you choose a parameter that Clang doesn’t know, like blerg, it’ll ignore and assume unknown
    petrochenkov committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    1def24c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e0a8f22 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2020

  1. Configuration menu
    Copy the full SHA
    f5e67b5 View commit details
    Browse the repository at this point in the history
  2. Ignore tidy linelength

    poliorcetics committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    9c70696 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bd0eb07 View commit details
    Browse the repository at this point in the history
  4. Use intradoc-links for the whole test, add a @Has check

    Co-authored-by: Joshua Nelson <[email protected]>
    poliorcetics and Joshua Nelson authored Nov 12, 2020
    Configuration menu
    Copy the full SHA
    ecfeac5 View commit details
    Browse the repository at this point in the history
  5. Include llvm-as in llvm-tools-preview component

    Including llvm-as adds the ability to include assembly language fragments
    that can be inlined using LTO.
    zec committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    562d50e View commit details
    Browse the repository at this point in the history
  6. Merge changes from rust-lang/rust

    zec committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    e4a43fc View commit details
    Browse the repository at this point in the history
  7. Overcome Sync issues with non-parallel compiler

    Per Mark's recommendation at:
    rust-lang#78963 (comment)
    richkadel committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    eb9f2bb View commit details
    Browse the repository at this point in the history
  8. Fix and re-enable two coverage tests on MacOS

    Note, in the coverage-reports test, the comment about MacOS was wrong.
    The setting is based on config.toml llvm `optimize` setting. There
    doesn't appear to be any environment variable I can check, and I
    don't think we should add one. Testing the binary itself is a more
    reliable way to check anyway.
    
    For the coverage-spanview test, I removed the dependency on sed
    altogether, which is much less ugly than trying to work around the
    MacOS sed differences.
    
    I tested these changes on Linux, Windows, and Mac.
    richkadel committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    fe56d26 View commit details
    Browse the repository at this point in the history
  9. fix pretty print for qpath

    gui1117 committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    775f1e5 View commit details
    Browse the repository at this point in the history
  10. rustc_target: Mark UEFI targets as is_like_windows/is_like_msvc

    Document what `is_like_windows` and `is_like_msvc` mean in more detail.
    petrochenkov committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    04d41e1 View commit details
    Browse the repository at this point in the history
  11. Never inline when no_sanitize attributes differ

    The inliner looks if a sanitizer is enabled before considering
    `no_sanitize` attribute as possible source of incompatibility.
    
    The MIR inlining could happen in a crate with sanitizer disabled, but
    code generation in a crate with sanitizer enabled, thus the attribute
    would be incorrectly ignored.
    
    To avoid the issue never inline functions with different `no_sanitize`
    attributes.
    tmiasko committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    0b4af16 View commit details
    Browse the repository at this point in the history
  12. Never inline cold functions

    The information about cold attribute is lost during inlining,
    Avoid the issue by never inlining cold functions.
    tmiasko committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    ae43326 View commit details
    Browse the repository at this point in the history
  13. Remove check for impossible condition

    The callee body is already transformed; the condition is always false.
    tmiasko committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    9bb3d6b View commit details
    Browse the repository at this point in the history
  14. rustc_parse: Remove optimization for 0-length streams in `collect_tok…

    …ens`
    
    The optimization conflates empty token streams with unknown token stream, which is at least suspicious, and doesn't affect performance because 0-length token streams are very rare.
    petrochenkov committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    2879ab7 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    66cadec View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    79d853e View commit details
    Browse the repository at this point in the history
  17. ./x.py test --bless

    tmiasko committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    2a010dd View commit details
    Browse the repository at this point in the history
  18. Normalize function type during validation

    During inlining, the callee body is normalized and has types revealed,
    but some of locals corresponding to the arguments might come from the
    caller body which is not. As a result the caller body does not pass
    validation without additional normalization.
    tmiasko committed Nov 12, 2020
    Configuration menu
    Copy the full SHA
    d486bfc View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    99be78d View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2020

  1. Added a unit test for BcbCounters

    Restructured the code a little, to allow getting both the mir::Body and
    coverage graph.
    richkadel committed Nov 13, 2020
    Configuration menu
    Copy the full SHA
    c131063 View commit details
    Browse the repository at this point in the history
  2. Fix wrong XPath

    poliorcetics committed Nov 13, 2020
    Configuration menu
    Copy the full SHA
    309d863 View commit details
    Browse the repository at this point in the history
  3. Addressed feedback

    richkadel committed Nov 13, 2020
    Configuration menu
    Copy the full SHA
    b4b0ef3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bf6902c View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#78352 - JohnTitor:issue-75229, r=Dylan-DPC

    Do not call `unwrap` with `signatures` option enabled
    
    Fixes rust-lang#75229
    Didn't add a test since I couldn't set `RUST_SAVE_ANALYSIS_CONFIG` even with `rustc-env`.
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    5dd0a87 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#78736 - petrochenkov:lazyenum, r=Aaron1011

    rustc_parse: Remove optimization for 0-length streams in `collect_tokens`
    
    The optimization conflates empty token streams with unknown token stream, which is at least suspicious, and doesn't affect performance because 0-length token streams are very rare.
    
    r? ``@Aaron1011``
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    c71ea50 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#78888 - richkadel:llvm-coverage-tests, r=tm…

    …andry
    
    Fix and re-enable two coverage tests on MacOS
    
    Note, in the coverage-reports test, the comment about MacOS was wrong.
    The setting is based on config.toml llvm `optimize` setting. There
    doesn't appear to be any environment variable I can check, and I
    don't think we should add one. Testing the binary itself is a more
    reliable way to check anyway.
    
    For the coverage-spanview test, I removed the dependency on sed
    altogether, which is much less ugly than trying to work around the
    MacOS sed differences.
    
    I tested these changes on Linux, Windows, and Mac.
    
    r? ``@tmandry``
    FYI ``@wesleywiser``
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    8d173a5 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#78951 - petrochenkov:unknown, r=ehuss

    rustc_target: Change os and vendor values to "none" and "unknown" for some targets
    
    Closes rust-lang#77730
    r? ``@ehuss``
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    aaa50cb View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#78959 - petrochenkov:likeuefi, r=nagisa

    rustc_target: Mark UEFI targets as `is_like_windows`/`is_like_msvc`
    
    And document what `is_like_windows` and `is_like_msvc` actually mean in more detail.
    
    Addresses FIXMEs left from rust-lang#71030.
    r? ``@nagisa``
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    7c93b43 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#78962 - poliorcetics:rustdoc-raw-ident-test…

    …, r=jyn514
    
    Add a test for r# identifiers
    
    I'm not entirely sure I properly ran the test locally (I think so though), waiting for CI to confirm. :)
    
    ``@rustbot`` modify labels: T-rustdoc
    
    r? ``@jyn514``
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    6c58f45 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#78963 - richkadel:llvm-coverage-counters-2.…

    …0.4, r=tmandry
    
    Added some unit tests as requested
    
    As discussed in PR rust-lang#78267, for example:
    
    * rust-lang#78267 (comment)
    * rust-lang#78267 (comment)
    
    r? ``@tmandry``
    FYI: ``@wesleywiser``
    
    This is pretty much self contained, but depending on feedback and timing, I may have a chance to add a few more unit tests requested against `counters.rs`. I'm looking at those now.
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    afd7a4c View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#78966 - tmiasko:inline-never, r=oli-obk

    Never inline C variadics, cold functions, functions with incompatible attributes ...
    
    ... and fix generator inlining.
    
    Closes rust-lang#67863.
    Closes rust-lang#78859.
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    3b4b47f View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#78968 - zec:add-llvm-as, r=Mark-Simulacrum

    Include llvm-as in llvm-tools-preview component
    
    Including `llvm-as` adds the ability to include assembly language fragments that can be inlined using LTO while making sure the correct version of LLVM is always used.
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    f0f0398 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#78969 - tmiasko:normalize, r=davidtwco

    Normalize function type during validation
    
    During inlining, the callee body is normalized and has types revealed,
    but some of locals corresponding to the arguments might come from the
    caller body which is not. As a result the caller body does not pass
    validation without additional normalization.
    
    Closes rust-lang#78442.
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    d22b8ce View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#78980 - thiolliere:gui-fix-qpath, r=estebank

    Fix rustc_ast_pretty print_qpath resulting in invalid macro input
    
    related rust-lang#76874 (third case)
    
    ### Issue:
    
    The input for a procedural macro is incorrect, for the rust code:
    ```rust
    
    mod m {
        pub trait Tr {
            type Ts: super::Tu;
        }
    }
    
    trait Tu {
        fn dummy() { }
    }
    
    #[may_proc_macro]
    fn foo() {
        <T as m::Tr>::Ts::dummy();
    }
    ```
    the macro will get the input:
    ```rust
    fn foo() {
        <T as m::Tr>::dummy();
    }
    ```
    Thus `Ts` has disappeared.
    
    ### Fix:
    
    This is due to invalid pretty print of qpath. This PR fix it.
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    bca4c86 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#79026 - mbrubeck:btree_retain, r=m-ou-se

    Implement BTreeMap::retain and BTreeSet::retain
    
    Adds new methods `BTreeMap::retain` and `BTreeSet::retain`.  These are implemented on top of `drain_filter` (rust-lang#70530).
    
    The API of these methods is identical to `HashMap::retain` and `HashSet::retain`, which were implemented in rust-lang#39560 and stabilized in rust-lang#36648.  The docs and tests are also copied from HashMap/HashSet.
    
    The new methods are unstable, behind the `btree_retain` feature gate, with tracking issue rust-lang#79025.  See also rust-lang/rfcs#1338.
    Dylan-DPC authored Nov 13, 2020
    Configuration menu
    Copy the full SHA
    ecb123a View commit details
    Browse the repository at this point in the history