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 11 pull requests #79167

Merged
merged 28 commits into from
Nov 18, 2020
Merged

Rollup of 11 pull requests #79167

merged 28 commits into from
Nov 18, 2020

Commits on Oct 25, 2020

  1. Updated the list of white-listed target features for x86

    This PR both adds in-source documentation on what to look out for
    when adding a new (X86) feature set and adds all that are detectable at run-time in Rust stable
    as of 1.27.0.
    
    This should only enable the use of the corresponding LLVM intrinsics.
    Actual intrinsics need to be added separately in rust-lang/stdarch.
    
    It also re-orders the run-time-detect test statements to be more consistent
    with the actual list of intrinsics whitelisted and removes underscores not present
    in the actual names (which might be mistaken as being part of the name)
    DevJPM committed Oct 25, 2020
    Configuration menu
    Copy the full SHA
    9feb567 View commit details
    Browse the repository at this point in the history
  2. Removed movbe from run-time-detect

    `movbe` seems to not be a run-time detectable feature on x86.
    It has thus been removed from the list.
    It was only commented out to ease comparison against the full list.
    DevJPM committed Oct 25, 2020
    Configuration menu
    Copy the full SHA
    cd95e93 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2020

  1. Updated documentation, x86 feature detection testing, and removed LLV…

    …M 9 exclusive features
    
    Updated the added documentation in llvm_util.rs to note which copies of LLVM need to be inspected.
    Removed avx512bf16 and avx512vp2intersect because they are unsupported before LLVM 9 with the build with external LLVM 8 being supported
    Re-introduced detection testing previously removed for un-requestable features tsc and mmx
    DevJPM committed Oct 26, 2020
    Configuration menu
    Copy the full SHA
    3daa93f View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2020

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

Commits on Nov 14, 2020

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

Commits on Nov 15, 2020

  1. Re-enable LLVM 9 target features with LLVM 9 being the minimum now

    With rust-lang#78848 merged, the minimum supported LLVM version is now 9
    which means we can actually use the target features introduced in LLVM 9
    DevJPM committed Nov 15, 2020
    Configuration menu
    Copy the full SHA
    72b83af View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c82a258 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2020

  1. Configuration menu
    Copy the full SHA
    dcc194c View commit details
    Browse the repository at this point in the history
  2. linux: try to use libc getrandom to allow interposition

    We'll try to use a weak `getrandom` symbol first, because that allows
    things like `LD_PRELOAD` interposition. For example, perf measurements
    might want to disable randomness to get reproducible results. If the
    weak symbol is not found, we fall back to a raw `SYS_getrandom` call.
    cuviper committed Nov 16, 2020
    Configuration menu
    Copy the full SHA
    7a15f02 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a035626 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cd22381 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2020

  1. Configuration menu
    Copy the full SHA
    d701bf9 View commit details
    Browse the repository at this point in the history
  2. bootstrap: use the same version number for rustc and cargo

    Historically the stable tarballs were named after the version number of
    the specific tool, instead of the version number of Rust. For example,
    both of the following tarballs were part of the same release:
    
        rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
        cargo-0.49.0-x86_64-unknown-linux-gnu.tar.xz
    
    PR rust-lang#77336 changed the dist code to instead use Rust's version number for
    all the tarballs, regardless of the tool they contain:
    
        rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
        cargo-1.48.0-x86_64-unknown-linux-gnu.tar.xz
    
    Because of that there is no need anymore to have a separate `cargo`
    field in src/stage0.txt, as the Cargo version will always be the same as
    the rustc version. This PR removes the field, simplifying the code and
    the maintenance work required while producing releases.
    pietroalbini authored and Mark-Simulacrum committed Nov 17, 2020
    Configuration menu
    Copy the full SHA
    d17874f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9bbc4c1 View commit details
    Browse the repository at this point in the history
  4. Fix handling of panic calls

    This should make Clippy more resilient and will unblock rust-lang#78343.
    
    This PR is made against rust-lang/rust to avoid the need for a subtree
    sync at @flip1995's suggestion in rust-lang/rust-clippy#6310.
    camelid committed Nov 17, 2020
    Configuration menu
    Copy the full SHA
    95eff66 View commit details
    Browse the repository at this point in the history
  5. Fix typo in std::io::Write docs

    These referred to a “`Write`er”—extra *e*. Presumably a copy-paste
    holdover from “`Read`er”.
    
    Test Plan:
    Running ``git grep '`\?[Ww]rite`\?er'`` no longer finds any results.
    
    wchargin-branch: io-write-docs
    wchargin committed Nov 17, 2020
    Configuration menu
    Copy the full SHA
    bdaa76c View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2020

  1. Configuration menu
    Copy the full SHA
    88584d5 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#78361 - DevJPM:master, r=workingjubilee

    Updated the list of white-listed target features for x86
    
    This PR both adds in-source documentation on what to look out for when adding a new (X86) feature set and [adds all that are detectable at run-time in Rust stable as of 1.27.0](https://github.com/rust-lang/stdarch/blob/master/crates/std_detect/src/detect/arch/x86.rs).
    
    This should only enable the use of the corresponding LLVM intrinsics.
    Actual intrinsics need to be added separately in rust-lang/stdarch.
    
    It also re-orders the run-time-detect test statements to be more consistent
    with the actual list of intrinsics whitelisted and removes underscores not present
    in the actual names (which might be mistaken as being part of the name)
    
    The reference for LLVM's feature names used is [this file](https://github.com/llvm/llvm-project/blob/master/llvm/include/llvm/Support/X86TargetParser.def).
    
    This PR was motivated as the compiler end's part for allowing rust-lang#67329 to be adressed over on rust-lang/stdarch
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    c7e9029 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#78785 - cuviper:weak-getrandom, r=m-ou-se

    linux: try to use libc getrandom to allow interposition
    
    We'll try to use a weak `getrandom` symbol first, because that allows
    things like `LD_PRELOAD` interposition. For example, perf measurements
    might want to disable randomness to get reproducible results. If the
    weak symbol is not found, we fall back to a raw `SYS_getrandom` call.
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    61134aa View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#78999 - petrochenkov:deprid, r=eddyb

    stability: More precise location for deprecation lint on macros
    
    One missing piece of rust-lang#73178.
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    92dcf6d View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#79039 - thomcc:weakly-relaxing, r=Amanieu

    Tighten the bounds on atomic Ordering in std::sys::unix::weak::Weak
    
    This moves reading this from multiple SeqCst reads to Relaxed read + Acquire fence if we are actually going to use the data.
    
    Would love to avoid the Acquire fence, but doing so would need Ordering::Consume, which neither Rust, nor LLVM supports (a shame, since this fence is hardly free on ARM, which is what I was hoping to improve).
    
    r? ``@Amanieu`` (Sorry for always picking you, but I know a lot of people wouldn't feel comfortable reviewing atomic ordering changes)
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    ad6fd9b View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#79079 - camelid:mir-visit-docs, r=matthewja…

    …sper
    
    Turn top-level comments into module docs in MIR visitor
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    f85c3f7 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#79114 - andjo403:nonzero_leading_trailing_z…

    …eros, r=m-ou-se
    
    add trailing_zeros and leading_zeros to non zero types
    
    as a way towards being able to use the optimized intrinsics ctlz_nonzero and cttz_nonzero from stable.
    
    have not crated any tracking issue if this is not a solution that is wanted
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    126d88b View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#79131 - vertexclique:stdarch-update, r=Amanieu

    Enable AVX512 *epi64 variants by updating stdarch
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    e2addb4 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#79133 - pietroalbini:simplify-stage0, r=Mar…

    …k-Simulacrum
    
    bootstrap: use the same version number for rustc and cargo
    
    Historically the stable tarballs were named after the version number ofthe specific tool, instead of the version number of Rust. For example, both of the following tarballs were part of the same release:
    
        rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
        cargo-0.49.0-x86_64-unknown-linux-gnu.tar.xz
    
    PR rust-lang#77336 changed the dist code to instead use Rust's version number for all the tarballs, regardless of the tool they contain:
    
        rustc-1.48.0-x86_64-unknown-linux-gnu.tar.xz
        cargo-1.48.0-x86_64-unknown-linux-gnu.tar.xz
    
    Because of that there is no need anymore to have a separate `cargo` field in `src/stage0.txt`, as the Cargo version will always be the same as the rustc version. This PR removes the field, simplifying the code and the maintenance work required while producing releases.
    
    r? ``@Mark-Simulacrum``
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    83fcbd5 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#79145 - camelid:clippy-fix-panics, r=flip1995

    Fix handling of panic calls
    
    This should make Clippy more resilient and will unblock rust-lang#78343.
    
    This PR is made against rust-lang/rust to avoid the need for a subtree
    sync at ``@flip1995's`` suggestion in rust-lang/rust-clippy#6310.
    
    r? ``@flip1995``
    cc ``@m-ou-se``
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    20fbe22 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#79151 - wchargin:wchargin-io-write-docs, r=…

    …jyn514
    
    Fix typo in `std::io::Write` docs
    
    These referred to a “`Write`er”—extra *e*. Presumably a copy-paste
    holdover from “`Read`er”.
    
    Test Plan:
    Running ``git grep '`\?[Ww]rite`\?er'`` no longer finds any results.
    
    wchargin-branch: io-write-docs
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    5a9104f View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#79158 - lcnr:lazy-norm-coerce, r=oli-obk

    type is too big -> values of the type are too big
    
    strictly speaking, `[u8; usize::MAX]` or even `[[[u128; usize::MAX]; usize::MAX]; usize::MAX]` are absolutely fine types as long as you don't try to deal with any values of it.
    
    This error message seems to cause some confusion imo, for example in rust-lang#79135 (comment) so I would prefer us to be more precise here.
    
    See the added test case which uses one of these types without causing an error.
    
    r? ``@oli-obk``
    m-ou-se committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    43d13e2 View commit details
    Browse the repository at this point in the history