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 9 pull requests #126518

Merged
merged 24 commits into from
Jun 15, 2024
Merged

Rollup of 9 pull requests #126518

merged 24 commits into from
Jun 15, 2024

Commits on Jun 12, 2024

  1. Unify intrinsics body handling in StableMIR

    rust-lang#120675 introduced a new mechanism to declare intrinsics
    which will potentially replace the rust-intrinsic ABI.
    
    The new mechanism introduces a placeholder body and mark the intrinsic
    with #[rustc_intrinsic_must_be_overridden].
    In practice, this means that backends should not generate code for the
    placeholder, and shim the intrinsic.
    The new annotation is an internal compiler implementation,
    and it doesn't need to be exposed to StableMIR users.
    
    In this PR, intrinsics marked with `rustc_intrinsic_must_be_overridden`
    are handled the same way as intrinsics that do not have a body.
    celinval committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    c8c6598 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. Configuration menu
    Copy the full SHA
    dfc5514 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4440f50 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6fea953 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    220f3ec View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. Configuration menu
    Copy the full SHA
    7999dbb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ab7fc60 View commit details
    Browse the repository at this point in the history
  3. Also sort crt-static in --print target-features output

    I didn't find `crt-static` at first (for `x86_64-unknown-linux-gnu`),
    because it was put at the bottom the large and otherwise sorted list.
    
    Fully sort the list before we print it.
    
    Note that `llvm_target_features` starts out sorted and does not need to
    be sorted an extra time.
    Enselic committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    04af371 View commit details
    Browse the repository at this point in the history
  4. Enable const evaluation for f16 and f128

    This excludes casting, which needs more tests.
    tgross35 committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    c906d2e View commit details
    Browse the repository at this point in the history
  5. Make the unary operator FloatTy check exhaustive

    Add a spot that was missed in
    <rust-lang#121997>.
    tgross35 committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    eab5e8e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5cb58ad View commit details
    Browse the repository at this point in the history
  7. Remove f16 const eval crash test

    Const eval negation was added. This test is now covered by Miri tests,
    and merged into an existing UI test.
    
    Fixes <rust-lang#124583>
    tgross35 committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    e649042 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    78d4802 View commit details
    Browse the repository at this point in the history
  9. Polish std::path::absolute documentation.

    These changes bring it closer to other standard library documentation
    and, in particular, `std::fs::canonicalize`, which it will often be
    compared with.
    
    * Add `# Platform-specific behavior` section, with content moved from
      Examples section.
    * Create `# Errors` section.
    * Phrase error description to allow future platforms to have new
      syntactic errors, rather than only emptiness.
    * Add missing commas.
    * Indent example code 4 spaces.
    kpreid committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    416888f View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2024

  1. Configuration menu
    Copy the full SHA
    297c97d View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#125829 - petrochenkov:upctxt2, r=michaelwoe…

    …rister
    
    rustc_span: Add conveniences for working with span formats
    
    This is the refactoring part of rust-lang#125017.
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    5fac572 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#126361 - celinval:issue-0079-intrinsic, r=o…

    …li-obk
    
    Unify intrinsics body handling in StableMIR
    
    rust-lang#120675 introduced a new mechanism to declare intrinsics which will potentially replace the rust-intrinsic ABI.
    
    The new mechanism introduces a placeholder body and mark the intrinsic with `#[rustc_intrinsic_must_be_overridden]`.
    In practice, this means that a backend should not generate code for the placeholder, and shim the intrinsic.
    The new annotation is an internal compiler implementation, and it doesn't need to be exposed to StableMIR users.
    
    In this PR, we unify the interface for intrinsics marked with `rustc_intrinsic_must_be_overridden` and intrinsics that do not have a body.
    
    Fixes rust-lang/project-stable-mir#79
    
    r? ``@oli-obk``
    
    cc: ``@momvart``
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    dad74aa View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#126417 - beetrees:f16-f128-inline-asm-x86, …

    …r=Amanieu
    
    Add `f16` and `f128` inline ASM support for `x86` and `x86-64`
    
    This PR adds `f16` and `f128` input and output support to inline ASM on `x86` and `x86-64`. `f16` vector sizes are taken from [here](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html).
    
    Relevant issue: rust-lang#125398
    Tracking issue: rust-lang#116909
    
    ``@rustbot`` label +F-f16_and_f128
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    0f2cc21 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#126424 - Enselic:sort-target-features, r=lqd

     Also sort `crt-static` in `--print target-features` output
    
    I didn't find `crt-static` at first (for `x86_64-unknown-linux-gnu`), because it was put at the bottom of the large and otherwise sorted list.
    
    Fully sort the list before we print it.
    
    Note that `llvm_target_features` starts out and remains sorted and does not need to be sorted an extra time.
    
    On my machine the diff is just:
    
    ```diff
    $ diff -u /tmp/before2.txt /tmp/after2.txt
    --- /tmp/before2.txt    2024-06-13 20:40:27.091636592 +0200
    +++ /tmp/after2.txt     2024-06-13 20:39:54.584894891 +0200
    ``@@`` -20,6 +20,7 ``@@``
         bmi1                            - Support BMI instructions.
         bmi2                            - Support BMI2 instructions.
         cmpxchg16b                      - 64-bit with cmpxchg16b (this is true for most x86-64 chips, but not the first AMD chips).
    +    crt-static                      - Enables C Run-time Libraries to be statically linked.
         ermsb                           - REP MOVS/STOS are fast.
         f16c                            - Support 16-bit floating point conversion instructions.
         fma                             - Enable three-operand fused multiple-add.
    ``@@`` -49,7 +50,6 ``@@``
         xsavec                          - Support xsavec instructions.
         xsaveopt                        - Support xsaveopt instructions.
         xsaves                          - Support xsaves instructions.
    -    crt-static                      - Enables C Run-time Libraries to be statically linked.
    
     Code-generation features supported by LLVM for this target:
         16bit-mode                      - 16-bit mode (i8086).
    ```
    
    I couldn't find a ui test that tested this output. Let's see if CI finds a regression tests.
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    21de992 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#126428 - kpreid:absolute, r=jhpratt

    Polish `std::path::absolute` documentation.
    
    These changes bring it closer to other standard library documentation and, in particular, `std::fs::canonicalize`, which it will often be compared with.
    
    * Add `# Platform-specific behavior` section, with content moved from Examples section.
    * Create `# Errors` section.
    * Phrase error description to allow future platforms to have new syntactic errors, rather than only emptiness.
    * Add missing commas.
    * Indent example code 4 spaces.
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    a224902 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#126429 - tgross35:f16-f128-const-eval, r=Ra…

    …lfJung
    
    Add `f16` and `f128` const eval for binary and unary operationations
    
    Add const evaluation and Miri support for f16 and f128, including unary and binary operations. Casts are not yet included.
    
    Fixes rust-lang#124583
    
    r? ``@RalfJung``
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    3775f2f View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#126448 - DianQK:tidy-python, r=onur-ozkan

    End support for Python 3.8 in tidy
    
    Python 3.8 will reach its end of support in October 2024. You can find more details [here](https://devguide.python.org/versions/).
    
    ### NixOS
    
    NixOS has already discontinued provide Python 3.8. For more information, visit their [package search page](https://search.nixos.org/packages?channel=24.05&from=0&size=50&sort=relevance&type=packages&query=python38).
    
    ### Debian
    
    - **Debian 11 (Bullseye)**: The default Python version is 3.9. More information is available [here](https://packages.debian.org/bullseye/python3).
    - **Debian 10 (Buster) (EOL 2024-10)**: The default Python version is 3.7. Details can be found [here](https://packages.debian.org/buster/python3).
    
    ### Ubuntu
    
    - **Ubuntu 20.04 'Focal Fossa' (LTS)**: The default Python version is 3.8.2. However, Python 3.9 is also available. You can find more information on these packages [here](https://packages.ubuntu.com/focal/python3) and [here](https://packages.ubuntu.com/focal/python3.9).
    - **Ubuntu 22.04 'Jammy Jellyfish' (LTS)**: The default Python version is 3.10.6. More details can be found [here](https://packages.ubuntu.com/jammy/python3).
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    4f9bf4c View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#126488 - ChrisDenton:absolute, r=albertlars…

    …an68
    
    Use `std::path::absolute` in bootstrap
    
    `std::path::absolute` is now stable in 1.79 so we can get rid of the copy-pasted version.
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    d00e71e View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#126511 - Enselic:mailmap, r=lqd

    .mailmap: Associate both my work and my private email with me
    
    Mainly so that 73 + 60 is summed to 133 on the [thanks](https://thanks.rust-lang.org/rust/all-time/) page.
    matthiaskrgr authored Jun 15, 2024
    Configuration menu
    Copy the full SHA
    128e2b4 View commit details
    Browse the repository at this point in the history