Skip to content

Sync from rust 2024/12/11 #578

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

Merged
merged 128 commits into from
Jan 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
12ede21
Miri function identity hack: account for possible inlining
RalfJung Jul 2, 2024
014888b
Give Instance::expect_resolve a span
compiler-errors Jun 12, 2024
ea94385
Fix spans
compiler-errors Jul 1, 2024
5b91a1a
Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk
bors Jul 4, 2024
76f43e6
Sync ar_archive_writer to LLVM 18.1.3
bjorn3 Apr 16, 2024
c92f054
Merge commit '98ed962c7d3eebe12c97588e61245273d265e72f' into master
GuillaumeGomez Jul 10, 2024
35c605a
Update `Cargo.lock` and remove duplicated impl
GuillaumeGomez Jul 10, 2024
9a9d5ec
Remove lang feature for type ascription
compiler-errors Jul 11, 2024
062ef84
Rollup merge of #124033 - bjorn3:ar_archive_writer_0_3_0, r=davidtwco
tgross35 Jul 16, 2024
f8bc0cc
Align cg_gcc rustfmt.toml with rust's
GuillaumeGomez Jul 17, 2024
a2cb29f
Format cg_gcc with same formatting parameters
GuillaumeGomez Jul 17, 2024
1e117cf
stabilize `is_sorted`
slanterns Jul 27, 2024
d816dac
Reformat `use` declarations.
nnethercote Jul 28, 2024
0e520c8
Update compiler_builtins to 0.1.114
nicholasbishop May 11, 2024
cc0ca37
Auto merge of #125016 - nicholasbishop:bishop-cb-112, r=tgross35
bors Jul 29, 2024
8f3b3fe
Move temp file name generation out of the create_dll_import_lib method
bjorn3 Jul 25, 2024
67d7e92
Move computation of decorated names out of the create_dll_import_lib …
bjorn3 Jul 25, 2024
1361fdc
nontemporal_store: make sure that the intrinsic is truly just a hint
RalfJung Jul 24, 2024
2e1d51d
Refactor and fill out target feature lists
calebzulawski Aug 2, 2024
f0bcdea
Hide implicit target features from diagnostics when possible
calebzulawski Aug 5, 2024
db83e29
Rollup merge of #128221 - calebzulawski:implied-target-features, r=Am…
matthiaskrgr Aug 7, 2024
7969ae3
const vector passed to codegen
Jamesbarford Aug 8, 2024
303aef2
Update compiler-builtins version to 0.1.118
GuillaumeGomez Aug 8, 2024
e8ade24
Shrink `TyKind::FnPtr`.
nnethercote Aug 8, 2024
18c7d54
Fixes in various places
Nadrieril Mar 20, 2024
c5172fd
Rollup merge of #128149 - RalfJung:nontemporal_store, r=jieyouxu,Aman…
GuillaumeGomez Aug 12, 2024
13e7329
Rollup merge of #128537 - Jamesbarford:118980-const-vector, r=RalfJun…
GuillaumeGomez Aug 12, 2024
dccb0fe
rename `./x test`'s `--rustc-args` to `--compiletest-rustc-args`
lqd Aug 12, 2024
d6c8e0f
simd_shuffle intrinsic: allow argument to be passed as vector (not ju…
RalfJung Aug 6, 2024
7a151d5
make the GCC backend compatible with vector shuffle indices
RalfJung Aug 6, 2024
52b5ccb
Rollup merge of #128841 - lqd:rustc-args, r=onur-ozkan
matthiaskrgr Aug 13, 2024
bf5d862
stabilize `asm_const`
folkertdev Aug 10, 2024
1bdeb98
Auto merge of #128812 - nnethercote:shrink-TyKind-FnPtr, r=compiler-e…
bors Aug 14, 2024
5ea1a17
Rollup merge of #128570 - folkertdev:stabilize-asm-const, r=Amanieu
jieyouxu Aug 14, 2024
9d12735
stabilize raw_ref_op
RalfJung Jul 13, 2024
f1d136b
Rollup merge of #128731 - RalfJung:simd-shuffle-vector, r=workingjubilee
tgross35 Aug 27, 2024
37c29b8
Use sysroot crates maximally in `rustc_codegen_gcc`.
nnethercote Sep 2, 2024
dd3f34c
Don't leave debug locations for constants sitting on the builder inde…
khuey Sep 6, 2024
72d31e9
Remove `serialized_bitcode` from `LtoModuleCodegen`.
nnethercote Sep 5, 2024
377e810
Rollup merge of #129981 - nnethercote:rm-serialize_bitcode, r=antoyo,…
workingjubilee Sep 10, 2024
0f1df89
Auto merge of #130052 - khuey:clear-dilocation-after-const-emission, …
bors Sep 13, 2024
ec1545d
simd_shuffle: require index argument to be a vector
RalfJung Sep 12, 2024
6ecaca1
Merge `HasCodegen` into `BuilderMethods`.
nnethercote Sep 16, 2024
748a44b
Rename `{ArgAbi,IntrinsicCall}Methods`.
nnethercote Sep 16, 2024
6beb6f8
Rename supertraits of `CodegenMethods`.
nnethercote Sep 17, 2024
9ed19dc
Use associative type defaults in `{Layout,FnAbi}OfHelpers`.
nnethercote Sep 16, 2024
4cae366
replace some deprecated functions
Luv-Ray Sep 19, 2024
6c69e2f
Reorder `ConstMethods`.
nnethercote Sep 18, 2024
62d8df5
Support clobber_abi and vector/access registers (clobber-only) in s39…
taiki-e Sep 20, 2024
d3903c8
Reformat using the new identifier sorting from rustfmt
compiler-errors Sep 22, 2024
decad31
Check vtable projections for validity in miri
compiler-errors Sep 23, 2024
3862f62
Auto merge of #130389 - Luv-Ray:LLVMMDNodeInContext2, r=nikic
bors Sep 24, 2024
73c192b
codegen_ssa: consolidate tied feature checking
davidtwco Sep 11, 2024
83052d1
Test fixing raw-dylib
dpaoliello Sep 19, 2024
bd076c3
Merge commit '3187d32079b817522cc17413ec9185b130daf693' into subtree-…
GuillaumeGomez Sep 27, 2024
ce09fbf
Fmt
GuillaumeGomez Sep 27, 2024
b235273
Replace -Z default-hidden-visibility with -Z default-visibility
davidlattimore Sep 30, 2024
1613531
Rollup merge of #130630 - taiki-e:s390x-clobber-abi, r=Amanieu
GuillaumeGomez Oct 1, 2024
e1441b7
Auto merge of #131111 - matthiaskrgr:rollup-n6do187, r=matthiaskrgr
bors Oct 1, 2024
ad752f6
Use wide pointers consistenly across the compiler
Urgau Oct 3, 2024
e0bb417
cg_gcc: Factor out rustc_target::abi
workingjubilee Oct 9, 2024
2ca5753
Rollup merge of #130308 - davidtwco:tied-target-consolidation, r=wesl…
matthiaskrgr Oct 10, 2024
058e02c
intrinsics.fmuladdf{16,32,64,128}: expose llvm.fmuladd.* semantics
jedbrown Jan 6, 2024
4c297be
rust_for_linux: -Zregparm=<N> commandline flag for X86 (#116972)
azhogin Sep 16, 2024
a40da5b
Fix tests
compiler-errors Sep 27, 2024
cabeeeb
Rollup merge of #130432 - azhogin:azhogin/regparm, r=workingjubilee,p…
workingjubilee Oct 22, 2024
c12fdd2
Rename Receiver -> LegacyReceiver
adetaylor Sep 11, 2024
6315254
"innermost", "outermost", "leftmost", and "rightmost" don't need hyphens
joshtriplett Oct 23, 2024
9865a6c
Rollup merge of #130225 - adetaylor:rename-old-receiver, r=wesleywiser
Zalathar Oct 24, 2024
7f0ca5a
coverage: SSA doesn't need to know about `instrprof_increment`
Zalathar Oct 25, 2024
9f20eb7
Effects cleanup
fee1-dead Oct 26, 2024
5811024
cg_gcc: `rustc_abi::Abi` => `BackendRepr`
workingjubilee Oct 29, 2024
5213c6f
Support clobber_abi and vector registers (clobber-only) in PowerPC in…
taiki-e Nov 2, 2024
049c24e
Rename target triple to target tuple in many places in the compiler
Noratrieb Oct 17, 2024
45437fb
Reduce dependence on the target name
bjorn3 Nov 3, 2024
4843153
mark some target features as 'forbidden' so they cannot be (un)set
RalfJung Sep 2, 2024
b664093
Auto merge of #131341 - taiki-e:ppc-clobber-abi, r=bzEq,workingjubilee
bors Nov 5, 2024
92c27e8
Auto merge of #129884 - RalfJung:forbidden-target-features, r=working…
bors Nov 5, 2024
051b774
Basic inline assembly support for SPARC and SPARC64
taiki-e Nov 7, 2024
c0e98de
Rollup merge of #130586 - dpaoliello:fixrawdylib, r=wesleywiser
workingjubilee Nov 8, 2024
f036898
remove support for rustc_safe_intrinsic attribute; use rustc_intrinsi…
RalfJung Nov 7, 2024
62c6e49
Add a default implementation for CodegenBackend::link
bjorn3 Nov 9, 2024
bed136f
CFI: Append debug location to CFI blocks
1c3t3a Nov 8, 2024
415c502
Rollup merge of #132702 - 1c3t3a:issue-132615, r=rcvalle
matthiaskrgr Nov 12, 2024
21056f8
Likely unlikely fix
x17jiri Jul 26, 2024
17410a7
use `TypingEnv` when no `infcx` is available
lcnr Nov 15, 2024
fcbc3d9
When the required discriminator value exceeds LLVM's limits, drop the…
khuey Nov 19, 2024
9cff0b1
Support input/output in vector registers of s390x inline assembly
taiki-e Nov 21, 2024
d6bf793
Add simd_relaxed_fma intrinsic
calebzulawski Nov 23, 2024
968e79b
Make s390x non-clobber-only vector register support unstable
taiki-e Nov 24, 2024
9e22b57
Support predicate registers (clobber-only) in Hexagon inline assembly
taiki-e Nov 25, 2024
7c8599b
Support #[repr(simd)] types in input/output of PowerPC inline assembly
taiki-e Nov 28, 2024
3ee22a4
rust_for_linux: -Zreg-struct-return commandline flag for X86 (#116973)
azhogin Sep 24, 2024
a3a4245
Rollup merge of #133395 - calebzulawski:simd_relaxed_fma, r=workingju…
matthiaskrgr Dec 3, 2024
714c820
Rollup merge of #130777 - azhogin:azhogin/reg-struct-return, r=workin…
matthiaskrgr Dec 6, 2024
2c205e1
Remove polymorphization
saethlin Dec 5, 2024
691aec2
Make `Copy` unsafe to implement for ADTs with `unsafe` fields
jswrenn Dec 6, 2024
562aeb4
Merge branch 'master' into sync_from_rust_2024_12_11
antoyo Dec 11, 2024
3dddf72
Update nightly version
antoyo Dec 11, 2024
6b25205
Update patch
antoyo Dec 10, 2024
1ef84a0
Fix formatting
antoyo Dec 11, 2024
526285c
Fix clippy warnings
antoyo Dec 11, 2024
d6aedff
Fix compilation for libgccjit12
antoyo Dec 11, 2024
c55f608
Fix tests
antoyo Dec 11, 2024
f563abf
Rename UI tests
antoyo Dec 11, 2024
3cb8b1b
Fix formatting
antoyo Dec 11, 2024
ae84d25
Fix undefined function error
antoyo Dec 12, 2024
f0d9b56
WIP: Fix undefined symbol for allocator functions
antoyo Dec 14, 2024
64b30d3
Merge branch 'master' into sync_from_rust_2024_12_11
antoyo Dec 14, 2024
e91ec42
Clean fix for undefined symbol for allocator functions
antoyo Dec 14, 2024
a29fd9c
Fix failures CI
antoyo Dec 14, 2024
660305d
Fix simd_gather
antoyo Oct 8, 2024
e1439ba
Automatically detect LTO tests to remove when the sysroot is not comp…
antoyo Dec 14, 2024
86a9723
Fix for simd_relaxed_fma
antoyo Dec 14, 2024
530cdb4
Ignore new failing test
antoyo Dec 14, 2024
02198d8
Fix a stack overflow caused by GCC creating too many local variables
antoyo Dec 22, 2024
747924a
Debug global variable not initialized bug
antoyo Dec 21, 2024
8bc4863
Fix for ThinLTO
antoyo Jan 5, 2025
59afbe0
Fix for the relocation bug
antoyo Jan 9, 2025
3f23706
Cleanup
antoyo Jan 9, 2025
34ed154
Fix LTO
antoyo Jan 9, 2025
93693a5
Disable the LTO warning for now
antoyo Jan 10, 2025
3e4df68
Fix for m68k
antoyo Jan 10, 2025
423701a
Add comment
antoyo Jan 10, 2025
0d47dc0
Correctly handle the relocation model for LTO
antoyo Jan 11, 2025
37a9e50
Remove LTO warning
antoyo Jan 12, 2025
fe608c7
Add ThinLTO test
antoyo Jan 12, 2025
93f7f2f
Add LTO test
antoyo Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,17 +87,14 @@ jobs:

- name: Clean
run: |
./y.sh clean all
./y.sh clean all

- name: Prepare dependencies
run: |
git config --global user.email "[email protected]"
git config --global user.name "User"
./y.sh prepare

- name: Add more failing tests because the sysroot is not compiled with LTO
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt

- name: Run tests
run: |
./y.sh test --release --clean --build-sysroot ${{ matrix.commands }}
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/failures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,23 +90,20 @@ jobs:
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
run: ./y.sh prepare

- name: Add more failing tests because the sysroot is not compiled with LTO
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt

- name: Run tests
# TODO: re-enable those tests for libgccjit 12.
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
id: tests
run: |
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --clean --build-sysroot --test-failing-rustc ${{ matrix.libgccjit_version.extra }} | tee output_log
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --clean --build-sysroot --test-failing-rustc ${{ matrix.libgccjit_version.extra }} 2>&1 | tee output_log
rg --text "test result" output_log >> $GITHUB_STEP_SUMMARY

- name: Run failing ui pattern tests for ICE
# TODO: re-enable those tests for libgccjit 12.
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
id: ui-tests
run: |
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --test-failing-ui-pattern-tests ${{ matrix.libgccjit_version.extra }} | tee output_log_ui
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --test-failing-ui-pattern-tests ${{ matrix.libgccjit_version.extra }} 2>&1 | tee output_log_ui
if grep -q "the compiler unexpectedly panicked" output_log_ui; then
echo "Error: 'the compiler unexpectedly panicked' found in output logs. CI Error!!"
exit 1
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/gcc12.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,6 @@ jobs:
#- name: Add more failing tests for GCC 12
#run: cat tests/failing-ui-tests12.txt >> tests/failing-ui-tests.txt

#- name: Add more failing tests because the sysroot is not compiled with LTO
#run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt

#- name: Run tests
#run: |
#./y.sh test --release --clean --build-sysroot ${{ matrix.commands }} --no-default-features
3 changes: 0 additions & 3 deletions .github/workflows/m68k.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,6 @@ jobs:
git config --global user.name "User"
./y.sh prepare --cross

- name: Add more failing tests because the sysroot is not compiled with LTO
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt

- name: Run tests
run: |
./y.sh test --release --clean --build-sysroot --sysroot-features compiler_builtins/no-f16-f128 ${{ matrix.commands }}
7 changes: 6 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,9 @@ jobs:
run: |
# FIXME(antoyo): we cannot enable LTO for stdarch tests currently because of some failing LTO tests using proc-macros.
echo -n 'lto = "fat"' >> build_system/build_sysroot/Cargo.toml
EMBED_LTO_BITCODE=1 ./y.sh test --release --clean --release-sysroot --build-sysroot ${{ matrix.commands }}
EMBED_LTO_BITCODE=1 ./y.sh test --release --clean --release-sysroot --build-sysroot --keep-lto-tests ${{ matrix.commands }}

- name: Run y.sh cargo build
run: |
EMBED_LTO_BITCODE=1 CHANNEL="release" ./y.sh cargo build --release --manifest-path tests/hello-world/Cargo.toml
# TODO: grep the asm output for "call my_func" and fail if it is found.
126 changes: 45 additions & 81 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 2 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,10 @@ gccjit = "2.4"
# Local copy.
#gccjit = { path = "../gccjit.rs" }

object = { version = "0.30.1", default-features = false, features = [
"std",
"read",
] }
smallvec = { version = "1.6.1", features = ["union", "may_dangle"] }
# TODO(antoyo): make tempfile optional.
tempfile = "3.7.1"

[dev-dependencies]
lang_tester = "0.8.0"
tempfile = "3.1.0"
boml = "0.3.1"
lang_tester = "0.8.0"
tempfile = "3.7.1"

[profile.dev]
# By compiling dependencies with optimizations, performing tests gets much faster.
Expand Down
2 changes: 1 addition & 1 deletion build_system/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ use std::ffi::OsStr;
use std::path::{Path, PathBuf};
use std::{env as std_env, fs};

use boml::types::TomlValue;
use boml::Toml;
use boml::types::TomlValue;

use crate::utils::{
create_dir, create_symlink, get_os_name, get_sysroot_dir, run_command_with_output,
Expand Down
Loading
Loading