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 #79165

Closed
wants to merge 26 commits into from
Closed

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

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. Update tests to remove old numeric constants

    Part of rust-lang#68490.
    
    Care has been taken to leave the old consts where appropriate, for testing backcompat regressions, module shadowing, etc. The intrinsics docs were accidentally referring to some methods on f64 as std::f64, which I changed due to being contrary with how we normally disambiguate the shadow module from the primitive. In one other place I changed std::u8 to std::ops since it was just testing path handling in macros.
    
    For places which have legitimate uses of the old consts, deprecated attributes have been optimistically inserted. Although currently unnecessary, they exist to emphasize to any future deprecation effort the necessity of these specific symbols and prevent them from being accidentally removed.
    bstrie committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    7edc4f2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    88584d5 View commit details
    Browse the repository at this point in the history
  3. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    db8ad67 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#78380 - bstrie:rm-old-num-const-from-tests,…

    … r=jyn514
    
    Update tests to remove old numeric constants
    
    Part of rust-lang#68490.
    
    Care has been taken to leave the old consts where appropriate, for testing backcompat regressions, module shadowing, etc. The intrinsics docs were accidentally referring to some methods on f64 as std::f64, which I changed due to being contrary with how we normally disambiguate the shadow module from the primitive. In one other place I changed std::u8 to std::ops since it was just testing path handling in macros.
    
    For places which have legitimate uses of the old consts, deprecated attributes have been optimistically inserted. Although currently unnecessary, they exist to emphasize to any future deprecation effort the necessity of these specific symbols and prevent them from being accidentally removed.
    m-ou-se authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    0b80f64 View commit details
    Browse the repository at this point in the history
  5. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    ed01d96 View commit details
    Browse the repository at this point in the history
  6. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    f7fb2a9 View commit details
    Browse the repository at this point in the history
  7. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    1bd70a2 View commit details
    Browse the repository at this point in the history
  8. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    6a6607a View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#79131 - vertexclique:stdarch-update, r=Amanieu

    Enable AVX512 *epi64 variants by updating stdarch
    m-ou-se authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    6f0bf1a View commit details
    Browse the repository at this point in the history
  10. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    a43afdf View commit details
    Browse the repository at this point in the history
  11. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    c15c1f4 View commit details
    Browse the repository at this point in the history
  12. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    74e6442 View commit details
    Browse the repository at this point in the history
  13. 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 authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    97cd4c4 View commit details
    Browse the repository at this point in the history