Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
243 commits
Select commit Hold shift + click to select a range
be2f128
Fix: On wasm targets, call `panic_in_cleanup` if panic occurs in cleanup
hoodmane Jan 27, 2026
062e9f3
simd_reduce_min/max: remove float support
RalfJung Apr 12, 2026
e001838
Merge commit 'd189e9f23c4c971546cb59bf43ab4df0e5552770' into subtree-…
GuillaumeGomez Apr 29, 2026
f81e070
Fix tidy errors in cg_gcc
GuillaumeGomez Apr 29, 2026
efbbd33
Auto merge of #155978 - GuillaumeGomez:subtree-update_cg_gcc_2026-04-…
bors Apr 30, 2026
68fc1e2
Move most flags from module_codegen to new_context
bjorn3 Apr 1, 2026
6b0348d
Remove a fixme
bjorn3 Apr 1, 2026
1ab95d4
Update comment
bjorn3 Apr 30, 2026
f992a3d
Pass Session to optimize_and_codegen_fat_lto
bjorn3 Apr 30, 2026
7be6ee1
Merge pull request #868 from bjorn3/misc_changes
antoyo Apr 30, 2026
6ecabe8
Fix asm pointer inputs (#874)
cijiugechu Apr 30, 2026
3d74e85
Invert dependency between `rustc_error_messages` and `rustc_ast*`.
nnethercote Apr 13, 2026
681a455
Rollup merge of #155249 - hoodmane:wasm-panic-in-cleanup-reland, r=bj…
jhpratt May 1, 2026
b9197b7
Rollup merge of #156003 - bjorn3:lto_refactors17, r=lqd
jhpratt May 1, 2026
c32743a
Add rlib digest to identify Rust object files
mehdiakiki Apr 5, 2026
43cdceb
rename `drop_in_place` lang item to `drop_glue`
WaffleLapkin Apr 3, 2026
84b6675
Auto merge of #154861 - mehdiakiki:fix/rlib-digest, r=petrochenkov
bors May 5, 2026
ea8fd81
Merge branch 'master'
bjorn3 May 6, 2026
fbf722a
Rustup to rustc 1.97.0-nightly (e95e73209 2026-05-05)
bjorn3 May 6, 2026
b69d074
Stop cspell from complaining about rmeta
bjorn3 May 6, 2026
50056a8
Add failing run-make test
bjorn3 May 6, 2026
b5a73af
Merge pull request #884 from bjorn3/rustup
antoyo May 6, 2026
da9e1aa
Handle all modules being serialized during LTO
bjorn3 Apr 30, 2026
b4f3025
Merge pull request #880 from bjorn3/lto_all_serialized
antoyo May 6, 2026
d2a379f
Move CrateInfo computation after codegen_crate
bjorn3 Mar 4, 2026
3ce0567
Move invocation_temp into OutputFilenames
bjorn3 May 6, 2026
496b2b1
Auto merge of #154327 - WaffleLapkin:drop_in_place_ref, r=RalfJung,sc…
bors May 7, 2026
2cfff08
Rollup merge of #156243 - bjorn3:lto_refactors18, r=mu001999
JonathanBrouwer May 7, 2026
31a27ca
Rollup merge of #156245 - bjorn3:move_invocation_temp, r=oli-obk
JonathanBrouwer May 7, 2026
86bb28c
Update a bunch of dependencies to remove windows-targets
bjorn3 May 10, 2026
c0bb574
Merge pull request #886 from bjorn3/update_windows_sys
antoyo May 10, 2026
6f52550
Add Swift function call ABI
djc Apr 26, 2026
2f4c35e
Unnormalized migration: struct_tail takes fn taking Unnormalized
khyperia May 6, 2026
6d648f3
Rollup merge of #155815 - djc:swift-cc, r=jieyouxu
JonathanBrouwer May 13, 2026
8474bb0
Add trait methods for experimental retags to cg.
icmccorm Apr 30, 2026
5e72aee
Let intrinsics use the SSA operand path
scottmcm May 3, 2026
0a4077f
Fix invalid cg_gcc `panic` function cast
GuillaumeGomez May 23, 2026
f8725cd
Auto merge of #156549 - GuillaumeGomez:ci-gcc-core, r=Kobzol
bors May 26, 2026
2ad24e1
MIR inlining: allow backends to opt-in to inlining intrinsics
RalfJung May 10, 2026
8959aa4
Support implementing ExtraBackendMethods and WriteBackendMethods inde…
bjorn3 May 28, 2026
27b16b4
Merge branch 'master' into sync_from_rust_2026_05_28
antoyo May 28, 2026
cf57045
Update to nightly-2026-05-28
antoyo May 28, 2026
a291dd0
Stop needing an alloca for `catch_unwind`
scottmcm May 23, 2026
09e03d4
Rollup merge of #156867 - scottmcm:WIP-no-alloca-for-catch-unwind, r=…
JonathanBrouwer May 29, 2026
1fcc636
Rollup merge of #157050 - bjorn3:lto_refactors19, r=lqd
JonathanBrouwer May 29, 2026
07ba767
Ignore spelling
antoyo May 29, 2026
e2ae9ad
Add missing LLVM intrinsic mapping
antoyo May 29, 2026
418adda
resolve: Partially convert `ambiguous_glob_imports` lint into a hard …
petrochenkov Nov 21, 2025
f775c81
Add more missing LLVM intrinsic mapping
antoyo May 29, 2026
d865ac7
Emit a plain jump for a switch with no cases
Dnreikronos May 29, 2026
5dad41c
Update GCC version
antoyo May 29, 2026
86a4fa0
Add cpuid.def to enable the feature AVX512_VP2INTERSECT
antoyo May 29, 2026
60006c3
Add CARGO_TEST_FLAGS for run-time lang test flags
Dnreikronos May 29, 2026
fdd3536
Add regression test for empty switch under mir-preserve-ub
Dnreikronos May 29, 2026
bf60f4f
Merge pull request #889 from rust-lang/sync_from_rust_2026_05_28
antoyo May 30, 2026
a4a9a38
Regen intrinsics
GuillaumeGomez May 29, 2026
79cdc92
Merge pull request #890 from GuillaumeGomez/regen
antoyo May 30, 2026
a2d570d
Run the mir-preserve-ub switch test in CI
Dnreikronos May 30, 2026
2fee57a
Merge pull request #891 from Dnreikronos/fix-empty-switch-no-cases
antoyo May 30, 2026
d66d11d
Remove TODO in .cspell.json
reddevilmidzy Mar 8, 2026
4f811af
Add alloc tests
antoyo May 31, 2026
df51550
Merge pull request #894 from rust-lang/alloc-tests
antoyo May 31, 2026
c5097de
Add support for output operand in asm goto
antoyo May 31, 2026
cd4b93a
Merge pull request #895 from rust-lang/fix/output-operand-asm-goto
antoyo Jun 1, 2026
c1dd71e
Add TODO checker
reddevilmidzy Mar 7, 2026
feb1d32
Update FIXME link to int_traits in comment
reddevilmidzy Jun 1, 2026
0d8d2fe
Merge pull request #861 from reddevilmidzy/mcp-963
antoyo Jun 1, 2026
c3101c0
Use a `ArrayVec` in `CastTarget`
alexcrichton May 29, 2026
9f9e508
Rollup merge of #157130 - alexcrichton:refactor-cast-target-internals…
JonathanBrouwer Jun 2, 2026
b3197a8
add stdarch-tests command
moses7054 Jun 5, 2026
2688bb0
Use stdarch-tests command in stdarch CI
moses7054 Jun 5, 2026
5059de2
Download Intel sde from rust-lang CI mirror
moses7054 Jun 5, 2026
b7a98d1
Merge pull request #896 from moses7054/add/stdarch-test-command
antoyo Jun 5, 2026
d5db9be
add `extern "tail"` calling convention
folkertdev May 27, 2026
774e911
Use WorkProductMap instead of FxIndexMap
bjorn3 Jun 3, 2026
5fb3b38
asm! support for the Xtensa architecture
MabezDev Oct 3, 2025
a20ecda
Rollup merge of #147302 - esp-rs:xtensa-asm, r=Amanieu
JonathanBrouwer Jun 8, 2026
9202952
Add inline asm support for amdgpu
Flakebi Jun 3, 2026
ef638de
Move create_scope_map to rustc_codegen_ssa.
cjgillot Jun 10, 2026
ab8c5d5
Rollup merge of #157722 - cjgillot:ssa-create-scope-map, r=oli-obk
jhpratt Jun 12, 2026
9b4d320
remove LLVM `va_end` calls
folkertdev Jun 8, 2026
f516eb4
Rollup merge of #157627 - folkertdev:remove-llvm-va_end, r=RalfJung
jhpratt Jun 15, 2026
9ff44af
codegen_ssa: multiply scalable vec size by `vscale`
davidtwco Jun 22, 2026
515a89c
cg_LLVM: Stop needing an alloca for volatile loads
scottmcm May 23, 2026
27da6ce
rustc_target/asm: add LoongArch LSX/LASX inline asm register support
heiher Jun 23, 2026
3d3ea2f
cg_gcc: Fix Clippy lint fallout
flip1995 Jun 25, 2026
a292cee
Auto merge of #158403 - flip1995:clippy-subtree-update, r=Manishearth
bors Jun 26, 2026
59b042d
New signature of `get_fn_addr`, teach Rust how to sign fn pointers
jchlanda Apr 3, 2026
7532add
Rollup merge of #157127 - scottmcm:tweak-layout-of-alternative, r=nikic
JonathanBrouwer Jun 26, 2026
0e3928a
Merge branch 'master' into sync_from_rust_2026_06_27
antoyo Jun 27, 2026
cd67c77
use `"llvm.prefetch.p0"` instead of `"llvm.prefetch"`
folkertdev Jun 27, 2026
87e532e
Rollup merge of #158497 - folkertdev:stdarch-sync-2026-06-27, r=folke…
jhpratt Jun 28, 2026
cf22ea9
Update to nightly-2026-06-28
antoyo Jun 28, 2026
3120a7a
Remove useless stdarch patch
antoyo Jun 28, 2026
e44da23
Fix the debug_assert in bytes_in_context
antoyo Jun 28, 2026
2c9b73d
Add failing UI tests
antoyo Jun 28, 2026
34418c3
Add spelling exclusion
antoyo Jun 28, 2026
2d86197
Add dummy implementation of more tile intrinsics
antoyo Jun 28, 2026
cf90818
Ignore more tile intrinsic tests
antoyo Jun 28, 2026
adc4484
Add dummy implementation of f16 for m68k CI
antoyo Jun 28, 2026
1357e7a
Merge pull request #899 from rust-lang/sync_from_rust_2026_06_27
antoyo Jun 28, 2026
212751e
Remove debuginfo_finalize from DebugInfoCodegenMethods
bjorn3 Jun 29, 2026
fca3461
Move a bunch of debuginfo functions from codegen to builder methods
bjorn3 Jun 29, 2026
3ec1773
Move a couple more debuginfo functions from codegen to builder methods
bjorn3 Jun 29, 2026
78410ba
Pass &mut self to all debuginfo builder methods
bjorn3 Jun 29, 2026
0df4855
Rename `align` to `platform_align` on `Scalar` and `Primitive`
scottmcm Jun 29, 2026
08f0607
Regenerate intrinsics
GuillaumeGomez Jun 29, 2026
59efe30
Directly generate correctly formatted intrinsics file
GuillaumeGomez Jun 29, 2026
e278aec
Put back removed intrinsics as they are still used
GuillaumeGomez Jun 29, 2026
0bddd89
Merge pull request #900 from GuillaumeGomez/regen
GuillaumeGomez Jun 29, 2026
d0314ca
Rollup merge of #155722 - jchlanda:jakub/pac, r=davidtwco
JonathanBrouwer Jun 30, 2026
0b425d4
Rollup merge of #158560 - bjorn3:ssa_refactor_debuginfo, r=Kivooeo
JonathanBrouwer Jun 30, 2026
ccaf719
Add comment explaining why we don't handle all function parameter att…
GuillaumeGomez Jun 30, 2026
cbe50df
Merge pull request #901 from GuillaumeGomez/add-doc
GuillaumeGomez Jun 30, 2026
ca2bf57
Rollup merge of #158542 - scottmcm:scalar-but-packed, r=workingjubilee
jhpratt Jul 1, 2026
b08124a
Add asm tests
GuillaumeGomez Jun 30, 2026
31181d1
Move `asm-tester` into its own binary so the `compiletest_rs` depende…
GuillaumeGomez Jul 1, 2026
d9b9ce7
Add `test_asm` to the `run_all` call and run `--gcc-asm-tests` in the CI
GuillaumeGomez Jul 1, 2026
382936a
Rollup merge of #158364 - heiher:loong-asm-simd, r=wesleywiser
jhpratt Jul 1, 2026
1b0167d
Prevent unwanted recompilations
GuillaumeGomez Jul 1, 2026
c050550
Fix documentation for `y.sh rustc` to use the release channel
GuillaumeGomez Jul 1, 2026
edafd1f
Remove `--out-dir` option when using `y.sh rustc` or `y.sh cargo` to …
GuillaumeGomez Jul 1, 2026
b9ea2a5
No need to re-create `Config`, use the one provided in `TestArgs`
GuillaumeGomez Jul 1, 2026
42df31b
Merge pull request #904 from GuillaumeGomez/rustc-command
GuillaumeGomez Jul 1, 2026
9bcf4c1
Merge pull request #903 from GuillaumeGomez/asm-tests
GuillaumeGomez Jul 1, 2026
704a9f7
Add passing asm tests
antoyo Jul 2, 2026
45eb8a3
Add another passing asm test that needed an adjustment to the checked…
antoyo Jul 2, 2026
569b0b0
Merge pull request #905 from rust-lang/more-asm-tests
GuillaumeGomez Jul 2, 2026
684aebb
Fix `unaligned_volatile_store` by removing `MemFlags::UNALIGNED`
scottmcm Jul 7, 2026
a4cb6e7
Carry the `b_offset` inside `BackendRepr::ScalarPair`
scottmcm Jul 1, 2026
4534180
Rollup merge of #158899 - scottmcm:better-volatile-store, r=saethlin
jhpratt Jul 10, 2026
2c0ffd2
[cg_ssa] Eliminate the `is_backend_{immediate,scalar_pair,ref}` methods
scottmcm Jul 12, 2026
162a3a5
Pointer authentication config and user facing options
jchlanda May 7, 2026
0203f8e
Document -Zpointer-authentication option
jchlanda May 21, 2026
a20f180
Merge branch 'master' into sync_from_rust_2026_07_14
antoyo Jul 14, 2026
254808d
Update to nightly-2026-07-14
antoyo Jul 14, 2026
2bee634
Fix spelling
antoyo Jul 14, 2026
68e317c
Update GCC version
antoyo Jul 14, 2026
83a96cd
Update failing UI tests
antoyo Jul 14, 2026
8d7b443
Merge pull request #909 from rust-lang/sync_from_rust_2026_07_14
antoyo Jul 14, 2026
22789e6
implement `va_start` and `va_arg`
folkertdev Jul 12, 2026
ff01db2
enable c-variadic ui tests
folkertdev Jul 14, 2026
f9c093a
use latest version of gccjit
folkertdev Jul 14, 2026
2467b67
Merge pull request #906 from folkertdev/va-arg
antoyo Jul 14, 2026
bd30184
Update uses of `rustc_codegen_ssa::errors`
GuillaumeGomez Jul 15, 2026
75f5d18
use core fallbacks for more `f16`/`f128` operations
folkertdev Jul 16, 2026
3aeb91f
Merge pull request #910 from folkertdev/use-float-fallbacks
antoyo Jul 16, 2026
61a02cd
add support for explicit tail calls (`musttail`)
folkertdev Jul 16, 2026
5b4dbca
Merge pull request #911 from folkertdev/guaranteed-tail-calls
antoyo Jul 16, 2026
5e2d1e2
Treat `-Ctarget-cpu` as a target-modifier when targeting AVR, AMDGCN …
kulst Jan 6, 2026
95311e7
Stop unconditionnaly remove some UI tests directories
antoyo Jul 17, 2026
1bb4b16
Merge pull request #913 from rust-lang/fix/stop-remove-ui-tests-direc…
antoyo Jul 17, 2026
2453a68
Add command to run specified UI tests
antoyo Jul 17, 2026
d5ed2d4
Implement stack protector
antoyo Jul 17, 2026
a27a557
Merge pull request #914 from rust-lang/feature/stack-protector
antoyo Jul 17, 2026
6a44cfa
Do not stop on error in clean ui-tests
antoyo Jul 17, 2026
10ceee0
Stop removing tests containing 'thread'
antoyo Jul 17, 2026
ebe0b39
Implement stack probes
antoyo Jul 17, 2026
e5e3a49
Add new failing UI tests
antoyo Jul 18, 2026
e6a5f92
Add new failing LTO tests
antoyo Jul 18, 2026
6e16580
Rollup merge of #159164 - scottmcm:remove-is-backend-blah, r=workingj…
jhpratt Jul 18, 2026
721e0a8
modify `asm_experimental_reg` example to not need x86_64
folkertdev Jul 18, 2026
b68b9bc
stabilize passing 128-bit integers via vector registers with `asm!` o…
folkertdev Jul 18, 2026
d017855
Fix --run-ui-tests command to always run the tests
antoyo Jul 18, 2026
16db53d
Rollup merge of #150732 - kulst:cpu_is_target_modifier, r=bjorn3
JonathanBrouwer Jul 19, 2026
c3cb935
Switch to new_temp to avoid having big stack in debug mode
antoyo Jul 20, 2026
946b0fa
Update GCC version
antoyo Jul 20, 2026
fa4cae5
codegen: add OperandValue::Uninit to skip stores for entirely-uninit …
glandium Jul 21, 2026
988d5f2
Merge pull request #915 from rust-lang/feature/stack-probe
antoyo Jul 21, 2026
d76c33b
Update `gccjit` dependency version to `3.6.0`
GuillaumeGomez Jul 21, 2026
caa7473
Add support for global variable aliases
GuillaumeGomez Jul 21, 2026
7f4f4e9
Add support for function aliases
GuillaumeGomez Jul 21, 2026
920bd40
Remove newly passing eii ui tests
GuillaumeGomez Jul 21, 2026
d21eee5
Fix clippy lints
GuillaumeGomez Jul 21, 2026
97ad6fc
Fix typo "aliasee"
GuillaumeGomez Jul 21, 2026
2ca8d7f
Merge pull request #918 from GuillaumeGomez/aliases
antoyo Jul 22, 2026
622323a
Lower x86-interrupt byval first argument as pointer
Dnreikronos Jul 22, 2026
e052a81
Merge pull request #893 from Dnreikronos/x86-interrupt-non-pointer-fi…
antoyo Jul 22, 2026
6bc1235
Fix flakyness of the stdarch tests in the CI
antoyo Jul 22, 2026
d02bafc
Merge pull request #919 from rust-lang/fix/flaky-stdarch-ci
antoyo Jul 22, 2026
8a10ee5
gcc: locate codegen-backends via host_tuple()
xobs Jul 19, 2026
dcf4a3d
allocations are allowed to grow
RalfJung Jul 22, 2026
d948981
Merge pull request #920 from xobs/gcc-backend-via-host-tuple
antoyo Jul 23, 2026
ce209dc
Update `gccjit` version to `3.7.0`
GuillaumeGomez Jul 23, 2026
2ea1599
Update libgccjit version
GuillaumeGomez Jul 23, 2026
b1a20b9
Add support for `used` attribute
GuillaumeGomez Jul 23, 2026
bcea6f6
Add asm test for the `used` attribute
GuillaumeGomez Jul 23, 2026
df4939b
Remove newly passing `tests/ui/linking/no-gc-encapsulation-symbols.rs…
GuillaumeGomez Jul 24, 2026
8a05e19
Make code closer to its LLVM equivalent to make it simpler to map both
GuillaumeGomez Jul 24, 2026
05ee590
Merge pull request #921 from GuillaumeGomez/used
GuillaumeGomez Jul 24, 2026
06abf25
Merge branch 'master' into sync_from_rust_2026_07_24
antoyo Jul 24, 2026
dbc2c2b
Update to nightly-2026-07-24
antoyo Jul 24, 2026
b6fd3e8
Make `tests/asm/used.rs` work more easily
GuillaumeGomez Jul 24, 2026
057c6ba
Merge pull request #923 from rust-lang/sync_from_rust_2026_07_24
antoyo Jul 24, 2026
4b10433
doc/subtree.md: fix typo ("sync" -> "synced")
DanielEScherzer Jul 24, 2026
61341d0
Merge pull request #924 from DanielEScherzer/subtree-docs
antoyo Jul 24, 2026
d7cb205
Update doc for subtree sync
GuillaumeGomez Jul 24, 2026
dccb89f
Add support for section linking
GuillaumeGomez Jul 24, 2026
2113ef2
Remove newly passing ui test from the failing list
GuillaumeGomez Jul 24, 2026
749dbe6
If `feature = "master"` is enabled, we use `add_attribute(VarAttribut…
GuillaumeGomez Jul 24, 2026
d1f73f5
Merge pull request #925 from GuillaumeGomez/doc
GuillaumeGomez Jul 24, 2026
339ca6b
Merge pull request #926 from GuillaumeGomez/link-section
GuillaumeGomez Jul 25, 2026
4e6d528
Simplify parsing of `Command` in `build_system`
GuillaumeGomez Jul 25, 2026
82081ab
Tie `Command` variant declaration and CLI parsing together
GuillaumeGomez Jul 25, 2026
b544d99
Merge pull request #928 from GuillaumeGomez/cleanup
GuillaumeGomez Jul 25, 2026
7a90d91
Automatically install `rustfmt` if not installed when running `y.sh f…
GuillaumeGomez Jul 25, 2026
2dd379b
Merge pull request #929 from GuillaumeGomez/fmt-auto-install
GuillaumeGomez Jul 26, 2026
550d70a
asm: seed the in_value for inout
xobs Jul 26, 2026
3aea6dc
Merge pull request #932 from xobs/seed-input-of-discarded-asm-output
antoyo Jul 26, 2026
f5dc6be
int: implement signed comparison for unsigned integers
xobs Jul 26, 2026
f0b0224
Create a new util function `run_tool_and_install_it_if_not_present`
GuillaumeGomez Jul 26, 2026
a1f0a6c
Add new `y.sh clippy` command
GuillaumeGomez Jul 26, 2026
6cb6c64
Simplify CI workflows by removing installation of rustfmt/clippy and …
GuillaumeGomez Jul 26, 2026
922cec7
Update contribution docs to mention `y.sh` commands for clippy and fmt
GuillaumeGomez Jul 26, 2026
2fb1b6d
Merge pull request #931 from xobs/support-signed-comparison
antoyo Jul 26, 2026
811a82d
Merge pull request #933 from GuillaumeGomez/clippy
GuillaumeGomez Jul 27, 2026
56f6073
Allow only implementing `Read::read_buf`
WaffleLapkin Jan 9, 2023
39429fd
Fix links to `std::io::Read::read`
joshtriplett Jul 28, 2026
e9adb63
Update GCC version
GuillaumeGomez Jul 31, 2026
cd9781b
Update `gccjit` version to `4.0.0`
GuillaumeGomez Jul 31, 2026
d3f4209
Update code to new `gccjit` version
GuillaumeGomez Jul 31, 2026
7d0aafd
Specialize `advance_by` method of `Fuse`
a1phyr Aug 1, 2026
f489477
Update GCC version
antoyo Aug 1, 2026
cbb0887
Merge pull request #936 from GuillaumeGomez/update-gcc
antoyo Aug 1, 2026
1bd110c
Only keep minimum required info for `cpuid.def`
GuillaumeGomez Jul 31, 2026
c4d12cb
Setup `core::io::prelude`
bushrat011899 May 21, 2026
0791c08
Setup `alloc::io::prelude`
bushrat011899 May 21, 2026
d951987
Expand documentation for `alloc::io`
bushrat011899 Jul 19, 2026
32117cd
Move general IO tests to `alloctests`
bushrat011899 May 21, 2026
125be4b
Move `std::io::util` tests to `alloctests`
bushrat011899 May 21, 2026
39bf757
Move `std::io::cursor` tests to `alloctests`
bushrat011899 May 21, 2026
f67f57d
Move `std::io::buffered` tests to `alloctests`
bushrat011899 May 21, 2026
29da936
Move `std::io::impls` benchmarks to `alloctests`
bushrat011899 May 25, 2026
5b49a9d
Move `std::io::copy` tests to `alloctests`
bushrat011899 Aug 1, 2026
b3791c6
Merge pull request #935 from GuillaumeGomez/cpuuid
GuillaumeGomez Aug 1, 2026
614d081
Merge commit 'b3791c6305afd6ecc3e7f6232487f2bb31aed3e7'
GuillaumeGomez Aug 1, 2026
fe87d15
Update GCC submodule
GuillaumeGomez Aug 1, 2026
8440ce4
Rollup merge of #159844 - GuillaumeGomez:subtree-update_cg_gcc_2026-0…
jhpratt Aug 1, 2026
13ab8ae
Rollup merge of #156527 - bushrat011899:core_io_test_merge, r=clarfon…
jhpratt Aug 1, 2026
61dab2a
Rollup merge of #159525 - folkertdev:stabilize-x86-i128-asm, r=Amanieu
jhpratt Aug 1, 2026
c02f88a
Rollup merge of #160342 - a1phyr:fuse_advnce_by, r=joboet
jhpratt Aug 1, 2026
bd9c93d
Rollup merge of #106643 - WaffleLapkin:read_recursive, r=joshtriplett
jhpratt Aug 1, 2026
91709d8
Rollup merge of #159729 - RalfJung:alloc-grow, r=Darksonn
jhpratt Aug 1, 2026
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
2 changes: 1 addition & 1 deletion compiler/rustc_codegen_gcc/.cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"src/intrinsic/llvm.rs"
],
"ignoreRegExpList": [
"/(FIXME|NOTE|TODO)\\([^)]+\\)/",
"/(FIXME|NOTE)\\([^)]+\\)/",
"__builtin_\\w*"
]
}
17 changes: 8 additions & 9 deletions compiler/rustc_codegen_gcc/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- { gcc: "gcc-15.deb" }
- { gcc: "gcc-15-without-int128.deb" }
commands: [
"--std-tests",
"--std-tests --alloc-tests",
# FIXME: re-enable asm tests when GCC can emit in the right syntax.
# "--asm-tests",
"--test-libcore",
Expand All @@ -36,6 +36,7 @@ jobs:
"--test-successful-rustc --nb-parts 2 --current-part 0",
"--test-successful-rustc --nb-parts 2 --current-part 1",
"--projects",
"--gcc-asm-tests",
]

steps:
Expand All @@ -52,9 +53,6 @@ jobs:
# `llvm-14-tools` is needed to install the `FileCheck` binary which is used for asm tests.
run: sudo apt-get install ninja-build ripgrep llvm-14-tools llvm

- name: Install rustfmt & clippy
run: rustup component add rustfmt clippy

- name: Download artifact
run: curl -LO https://github.com/rust-lang/gcc/releases/latest/download/${{ matrix.libgccjit_version.gcc }}

Expand Down Expand Up @@ -88,16 +86,17 @@ jobs:
- name: Check formatting
run: ./y.sh fmt --check

- name: clippy
run: |
cargo clippy --all-targets -- -D warnings
cargo clippy --all-targets --no-default-features -- -D warnings
cargo clippy --manifest-path build_system/Cargo.toml --all-targets -- -D warnings
- name: Check todo
run: ./y.sh check-todo

- name: Check lints
run: ./y.sh clippy

- name: Build
run: |
./y.sh build --sysroot
./y.sh test --cargo-tests
CARGO_TEST_FLAGS="-Zmir-preserve-ub" ./y.sh test --cargo-tests -- mir_preserve_ub_empty_switch

- name: Run y.sh cargo build
run: |
Expand Down
20 changes: 13 additions & 7 deletions compiler/rustc_codegen_gcc/.github/workflows/stdarch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fail-fast: false
matrix:
cargo_runner: [
"sde -future -rtm_mode full --",
"sde -cpuid-in /home/runner/work/rustc_codegen_gcc/rustc_codegen_gcc/tests/cpuid.def -rtm_mode full --",
"",
]

Expand All @@ -42,19 +42,24 @@ jobs:
- name: Install more recent binutils
run: |
echo "deb http://archive.ubuntu.com/ubuntu plucky main universe" | sudo tee /etc/apt/sources.list.d/plucky-copies.list
sudo apt-get update
sudo apt-get update -o Acquire::Retries=3
sudo apt-get install binutils
installed="$(dpkg-query --showformat='${Version}' --show binutils)"
echo "Installed binutils: $installed"
if dpkg --compare-versions "$installed" lt "2.44"; then
echo "::error::binutils upgrade failed (got $installed, need >= 2.44); the apt fetch probably failed"
exit 1
fi
- name: Install Intel Software Development Emulator
if: ${{ matrix.cargo_runner }}
run: |
mkdir intel-sde
cd intel-sde
version=10.8.0-2026-03-15
url_path=915934
dir=sde-external-$version-lin
file=$dir.tar.xz
wget https://downloadmirror.intel.com/$url_path/$file
wget http://ci-mirrors.rust-lang.org/$file
tar xvf $file
sudo mkdir /usr/share/intel-sde
sudo cp -r $dir/* /usr/share/intel-sde
Expand Down Expand Up @@ -90,14 +95,15 @@ jobs:
- name: Run stdarch tests
if: ${{ !matrix.cargo_runner }}
run: |
CHANNEL=release TARGET=x86_64-unknown-linux-gnu CG_RUSTFLAGS="-Ainternal_features" ./y.sh cargo test --manifest-path build/build_sysroot/sysroot_src/library/stdarch/Cargo.toml
# FIXME: remove --skip test_tile_ and --skip --skip test__tile when it's implemented.
./y.sh test --release --stdarch-tests -- --skip test_tile_ --skip test__tile
- name: Run stdarch tests
if: ${{ matrix.cargo_runner }}
run: |
# FIXME: these tests fail when the sysroot is compiled with LTO because of a missing symbol in proc-macro.
# FIXME: remove --skip test_tile_ when it's implemented.
STDARCH_TEST_SKIP_FUNCTION="xsave,xsaveopt,xsave64,xsaveopt64" STDARCH_TEST_EVERYTHING=1 CHANNEL=release CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="${{ matrix.cargo_runner }}" TARGET=x86_64-unknown-linux-gnu CG_RUSTFLAGS="-Ainternal_features" ./y.sh cargo test --manifest-path build/build_sysroot/sysroot_src/library/stdarch/Cargo.toml -- --skip rtm --skip tbm --skip sse4a --skip test_tile_
# FIXME: remove --skip test_tile_ and --skip --skip test__tile when it's implemented.
STDARCH_TEST_SKIP_FUNCTION="xsave,xsaveopt,xsave64,xsaveopt64" STDARCH_TEST_EVERYTHING=1 CHANNEL=release CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="${{ matrix.cargo_runner }}" TARGET=x86_64-unknown-linux-gnu CG_RUSTFLAGS="-Ainternal_features" ./y.sh cargo test --manifest-path build/build_sysroot/sysroot_src/library/stdarch/Cargo.toml -- --skip rtm --skip tbm --skip sse4a --skip test_tile_ --skip test__tile
# Summary job for the merge queue.
# ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_codegen_gcc/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ perf.data.old
*.events
*.string*
gimple*
*asm
*_asm
res
test-backend
projects
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_codegen_gcc/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ Full list of debugging options can be found in the [README](Readme.md#env-vars).
### Code Style Guidelines

- Follow Rust standard coding conventions
- Ensure your code passes `rustfmt` and `clippy`
- Ensure your code passes `rustfmt` and `clippy` (you can run them with `y.sh fmt` and `y.sh clippy`)
- Add comments explaining complex logic, especially in GCC interface code

## Additional Resources
Expand Down
100 changes: 21 additions & 79 deletions compiler/rustc_codegen_gcc/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"

[[package]]
name = "errno"
version = "0.3.10"
version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
"windows-sys",
Expand All @@ -56,18 +56,18 @@ dependencies = [

[[package]]
name = "gccjit"
version = "3.3.0"
version = "4.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26b73d18b642ce16378af78f89664841d7eeafa113682ff5d14573424eb0232a"
checksum = "be5dafc4e649cb4a363e95a5960ef50b0c6f1b8e136ff8eb2e928b40353b5d8b"
dependencies = [
"gccjit_sys",
]

[[package]]
name = "gccjit_sys"
version = "1.3.0"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee689456c013616942d5aef9a84d613cefcc3b335340d036f3650fc1a7459e15"
checksum = "ab6a00a243aba2a45442bfd72b28d871137d4dac094f13de7f48cf9705112ffe"
dependencies = [
"libc",
]
Expand Down Expand Up @@ -117,15 +117,15 @@ dependencies = [

[[package]]
name = "libc"
version = "0.2.168"
version = "0.2.186"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d"
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"

[[package]]
name = "linux-raw-sys"
version = "0.9.4"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"

[[package]]
name = "memchr"
Expand Down Expand Up @@ -194,9 +194,9 @@ dependencies = [

[[package]]
name = "rustix"
version = "1.0.7"
version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
dependencies = [
"bitflags",
"errno",
Expand All @@ -216,9 +216,9 @@ dependencies = [

[[package]]
name = "tempfile"
version = "3.20.0"
version = "3.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
dependencies = [
"fastrand",
"getrandom",
Expand Down Expand Up @@ -311,78 +311,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

[[package]]
name = "windows-sys"
version = "0.59.0"
name = "windows-link"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
"windows-targets",
]
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"

[[package]]
name = "windows-targets"
version = "0.52.6"
name = "windows-sys"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_gnullvm",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
"windows-link",
]

[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"

[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"

[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"

[[package]]
name = "windows_i686_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"

[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"

[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"

[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"

[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"

[[package]]
name = "wit-bindgen-rt"
version = "0.39.0"
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_codegen_gcc/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ default = ["master"]
[dependencies]
object = { version = "0.37.0", default-features = false, features = ["std", "read"] }
tempfile = "3.20"
gccjit = { version = "3.3.0", features = ["dlopen"] }
gccjit = { version = "4.0.0", features = ["dlopen"] }
#gccjit = { git = "https://github.com/rust-lang/gccjit.rs", branch = "error-dlopen", features = ["dlopen"] }

# Local copy.
Expand Down
8 changes: 5 additions & 3 deletions compiler/rustc_codegen_gcc/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,19 +136,21 @@ $ ./y.sh cargo build --manifest-path tests/hello-world/Cargo.toml
### Cargo

```bash
$ CHANNEL="release" $CG_GCCJIT_DIR/y.sh cargo run
$ CHANNEL=release $CG_GCCJIT_DIR/y.sh cargo run
```

If you compiled cg_gccjit in debug mode (aka you didn't pass `--release` to `./y.sh test`) you should use `CHANNEL="debug"` instead or omit `CHANNEL="release"` completely.
If you compiled `cg_gcc` in debug mode (aka you didn't pass `--release` to `./y.sh build`) you should use `CHANNEL=debug` instead or omit `CHANNEL=release` completely.

### Rustc

If you want to run `rustc` directly, you can do so with:

```bash
$ ./y.sh rustc my_crate.rs
$ CHANNEL=release ./y.sh rustc my_crate.rs
```

If you compiled `cg_gcc` in debug mode (aka you didn't pass `--release` to `./y.sh build`) you should use `CHANNEL=debug` instead or omit `CHANNEL=release` completely.

You can do the same manually (although we don't recommend it):

```bash
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_codegen_gcc/build_system/Cargo.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
version = 4

[[package]]
name = "boml"
Expand Down
Loading
Loading