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 6 pull requests #126202

Merged
merged 15 commits into from
Jun 9, 2024
Merged

Rollup of 6 pull requests #126202

merged 15 commits into from
Jun 9, 2024

Commits on May 29, 2024

  1. Configuration menu
    Copy the full SHA
    eb72938 View commit details
    Browse the repository at this point in the history
  2. Add FRAC_1_SQRT_2PI doc alias to FRAC_1_SQRT_TAU

    This is create symmetry between the already existing TAU constant (2pi)
    and the newly-introduced FRAC_1_SQRT_2PI, keeping the more common
    name while increasing visibility.
    sunsided committed May 29, 2024
    Configuration menu
    Copy the full SHA
    54bb08d View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Use FileCheck to parameterize codegen tests over hashes

    When things like our internal hashing or representations change,
    it is inappropriate for these tests to suddenly fail for no reason.
    The chance of error is reduced if we instead pattern-match.
    workingjubilee committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    fb6fbf0 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

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

Commits on Jun 6, 2024

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

Commits on Jun 9, 2024

  1. Configuration menu
    Copy the full SHA
    fbe5015 View commit details
    Browse the repository at this point in the history
  2. Add release notes for 1.79.0

    cuviper authored and Mark-Simulacrum committed Jun 9, 2024
    Configuration menu
    Copy the full SHA
    4977608 View commit details
    Browse the repository at this point in the history
  3. feat: vendor crates required by opt-dist to collect profiles

    These are the default package set required by opt-dist to correctly work,
    hence for people wanting to build a production grade of rustc in a
    sandboxed / air-gapped environment, these need to be vendored.
    
    The size of `rustc-src-nightly.tar.xz` before and after this change:
    
    * Before: 298M
    * After: 323M (+8%)
    
    These crates are the default set of packages required by opt-dist
    to correctly work, hence for people wanting to build a production grade
    of rustc in an sandboxed / air-gapped environment, these need to be vendored.
    
    The size of `rustc-src-nightly.tar.xz` before and after this change:
    
    * Before: 298M
    * After: 323M (+8%)
    
    Size change might or might not be a concern.
    See the previous discussion: rust-lang#125166 (comment)
    
    Previous efforts on making:
    
    * rust-lang#125125
    * rust-lang#125166
    
    ---
    
    Note that extra works still need to be done to make it fully vendored.
    
    * The current pinned rustc-perf uses `tempfile::Tempdir` as the working
      directory when collecting profiles from some of these packages.
      This "tmp" working directory usage make it impossible for Cargo to pick
      up the correct vendor sources setting in `.cargo/config.toml` bundled
      in the rustc-src tarball. [^1]
    * opt-dist verifies the final built rustc against a subset of rustc test
      suite. However it rolls out its own `config.toml` without setting
      `vendor = true`, and that results in `./vendor/` directory removed.
      [^2]
    
    [^1]: https://github.com/rust-lang/rustc-perf/blob/4f313add609f43e928e98132358e8426ed3969ae/collector/src/compile/benchmark/mod.rs#L164-L173
    [^2]: https://github.com/rust-lang/rust/blob/606afbb617a2949a4e35c4b0258ff94c980b9451/src/tools/opt-dist/src/tests.rs#L62-L77
    weihanglo committed Jun 9, 2024
    Configuration menu
    Copy the full SHA
    e24be07 View commit details
    Browse the repository at this point in the history
  4. tidy: add license exceptions for rustc-perf

    `ring` is included because it is an optional dependency of `hyper`,
    which is a training data in rustc-pref for optimized build.
    The license of it is generally `ISC AND MIT AND OpenSSL`,
    though the `package.license` field is not set.
    
    See briansmith/ring#902
    
    `git+https://github.com/rust-lang/team` git source is from
    `rust_team_data`, which is used by `site` in src/tools/rustc-perf.
    This doesn't really a part of the compiler,
    so doesn't really affect the bootstrapping process.
    
    See rust-lang/rustc-perf#1914.
    weihanglo committed Jun 9, 2024
    Configuration menu
    Copy the full SHA
    3778703 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#125041 - scottmcm:gvn-for-from-raw-parts, r…

    …=cjgillot
    
    Enable GVN for `AggregateKind::RawPtr`
    
    Looks like I was worried for nothing; this seems like it's much easier than I was originally thinking it would be.
    r? `@cjgillot`
    
    This should be useful for `x[..4]`-like things, should those start inlining enough to expose the lengths.
    jieyouxu authored Jun 9, 2024
    Configuration menu
    Copy the full SHA
    f000b42 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#125253 - sunsided:feature/FRAC_1_SQRT_PI, r…

    …=Mark-Simulacrum
    
    Add `FRAC_1_SQRT_2PI` constant to f16/f32/f64/f128
    
    This adds the `FRAC_1_SQRT_2PI` to the `f16`, `f32`, `f64` and `f128` as [`1/√(2π)`](https://www.wolframalpha.com/input?i=1%2Fsqrt%282*pi%29). The rationale is that while `FRAC_1_SQRT_PI` already exists, [Gaussian calculations](https://en.wikipedia.org/wiki/Gaussian_function) for random normal distributions require a `1/(σ√(2π))` term, which could then be directly expressed e.g. as `f32::FRAC_1_SQRT_2PI / sigma`.
    
    The actual value is approximately `1/√(2π) = 0.3989422804014326779399460599343818684758586311649346576659258296…`. Truncated/rounded forms were used for the individual types.
    
    ---
    
    ~~I did not any of the `#[unstable]` attributes since I am not aware of their implications.~~
    
    **Edit:** I applied the stability attributes from the surrounding types according to what seemed most likely correct. I believe the `more_float_constants` feature marker is incorrectly applied, but I wasn't sure how to proceed.
    jieyouxu authored Jun 9, 2024
    Configuration menu
    Copy the full SHA
    61671a7 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#125465 - weihanglo:opt-dist-vendor, r=Mark-…

    …Simulacrum
    
    bootstrap: vendor crates required by opt-dist to collect profiles
    
    These are the default package set required by opt-dist to correctly work,
    hence for people wanting to build a production grade of rustc in a
    sandboxed / air-gapped environment, these need to be vendored.
    
    The size of `rustc-src-nightly.tar.xz` before and after this change:
    
    * Before: 298M
    * After: 323M (+8%)
    
    Size change might or might not be a concern.
    See the previous discussion: rust-lang#125166 (comment)
    
    Previous efforts on making:
    
    * rust-lang#125125
    * rust-lang#125166
    
    ---
    
    Note that extra works still need to be done to make it fully vendored.
    
    * The current pinned rustc-perf uses `tempfile::Tempdir` as the working
      directory when collecting profiles from some of these packages.
      This "tmp" working directory usage make it impossible for Cargo to pick
      up the correct vendor sources setting in `.cargo/config.toml` bundled
      in the rustc-src tarball. [^1]
    * opt-dist verifies the final built rustc against a subset of rustc test
      suite. However it rolls out its own `config.toml` without setting
      `vendor = true`, and that results in `./vendor/` directory removed.
      [^2]
    
    [^1]: https://github.com/rust-lang/rustc-perf/blob/4f313add609f43e928e98132358e8426ed3969ae/collector/src/compile/benchmark/mod.rs#L164-L173
    [^2]: https://github.com/rust-lang/rust/blob/606afbb617a2949a4e35c4b0258ff94c980b9451/src/tools/opt-dist/src/tests.rs#L62-L77
    jieyouxu authored Jun 9, 2024
    Configuration menu
    Copy the full SHA
    4ca52f1 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#125470 - cuviper:relnotes-1.79.0, r=Mark-Si…

    …mulacrum
    
    Add release notes for 1.79.0
    
    cc `@rust-lang/release`
    r? `@Mark-Simulacrum`
    jieyouxu authored Jun 9, 2024
    Configuration menu
    Copy the full SHA
    74408b1 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#125963 - workingjubilee:remove-hashes-from-…

    …codegen-tests, r=Mark-Simulacrum
    
    Remove hard-coded hashes from codegen tests
    
    This removes hard-coded hashes from the codegen and assembly tests. These use FileCheck, which supports eliding part of the pattern being matched, including by capturing it as a pattern parameter for later matching-on. This is much more appropriate than asking contributors to engage with deliberately-opaque identifier schemes.
    
    In order to reduce the likelihood of error, every hash-coded segment I've touched now expects a certain length. This correctly represents these cases, as our hash outputs have a predetermined amount of entropy attached to them.
    
    This is not done for the UI test suite as those are comparatively easy to simply `--bless`, whereas that would be inappropriate for codegen tests. It is also not done for debuginfo tests as those tests do not support such elision in a correct and useful way.
    jieyouxu authored Jun 9, 2024
    Configuration menu
    Copy the full SHA
    3720757 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#126188 - Kobzol:runmake-command-docs, r=jie…

    …youxu
    
    Fix documentation for `impl_common_helpers` in `run-make-support`
    
    Forgot to do this in rust-lang#126121.
    
    `@bors` rollup
    
    r? `@jieyouxu`
    jieyouxu authored Jun 9, 2024
    Configuration menu
    Copy the full SHA
    a8cba36 View commit details
    Browse the repository at this point in the history