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

LLVM 18 x86 data layout update #116672

Merged
merged 4 commits into from Jan 20, 2024
Merged

LLVM 18 x86 data layout update #116672

merged 4 commits into from Jan 20, 2024

Commits on Jan 19, 2024

  1. LLVM 18 x86 data layout update

    With https://reviews.llvm.org/D86310 LLVM now has i128 aligned to
    16-bytes on x86 based platforms. This will be in LLVM-18. This patch
    updates all our spec targets to be 16-byte aligned, and removes the
    alignment when speaking to older LLVM.
    
    This results in Rust overaligning things relative to LLVM on older LLVMs.
    
    This alignment change was discussed in rust-lang/compiler-team#683
    
    See rust-lang#54341 for additional information about why this is happening and
    where this will be useful in the future.
    
    This *does not* stabilize `i128`/`u128` for FFI.
    maurer authored and nikic committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    dbff90c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7a0415c View commit details
    Browse the repository at this point in the history
  3. Directly use volatile_load intrinsic

    This makes the test work if libstd is compiled with debug assertions.
    nikic committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    ce2d91d View commit details
    Browse the repository at this point in the history
  4. Update more data layouts

    nikic committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    ec55a05 View commit details
    Browse the repository at this point in the history