Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
0e58273
Merge commit 'bb351cd4ddf59d8a9b5c086a15e41bc6a1c05b5f' into sync_cg_…
bjorn3 Aug 19, 2026
27b8037
Merge branch 'sync_from_rust'
bjorn3 Aug 19, 2026
1aa6289
move CrateType
mejrs Aug 17, 2026
01c4315
Remove LD_STATIC_TLS_EXTRA workaround from FreeBSD CI
0xmuon Aug 21, 2026
945a71a
make `pad_i32` of `PassMode::cast` an integer
folkertdev Jul 29, 2026
9cac33b
Merge pull request #1692 from 0xmuon/fix10
bjorn3 Aug 22, 2026
611b1bf
Sync from rust fb6531d550e0075b9eb9a51464f404805eec87d9
bjorn3 Aug 24, 2026
a299bc1
Rustup to rustc 1.100.0-nightly (fb6531d55 2026-08-23)
bjorn3 Aug 24, 2026
19946d3
Fix rustc test suite
bjorn3 Aug 24, 2026
b5534e2
Fix warning
bjorn3 Aug 24, 2026
e963628
Rollup merge of #160132 - folkertdev:pad-i32-count, r=bjorn3
JonathanBrouwer Aug 24, 2026
2bc05d4
Update to Cranelift 0.135
bjorn3 Aug 6, 2026
e960d5e
fix(reborrow): recursive implementation
aapoalas Aug 27, 2026
186d80c
Rollup merge of #159103 - aapoalas:reborrow/fix-borrowed-place, r=oli…
JonathanBrouwer Aug 28, 2026
61f4a73
Remove -Zsaturating-float-casts flag
hanna-kruppe Aug 29, 2026
ee07e85
Add intrinsics for integer minimum and maximum
scottmcm Aug 14, 2026
0dc10aa
attach naked function target features to module assembly
folkertdev Aug 6, 2026
52363bd
Cleanup cranelift `codegen_float_intrinsic_call`
N1ark Aug 12, 2026
2bba73b
Make sin, cos, exp, exp2, log, log2, log10 generic
N1ark Aug 17, 2026
7cebc0d
Rollup merge of #137720 - folkertdev:naked-function-target-feature, r…
JonathanBrouwer Sep 1, 2026
7d98fc6
Rollup merge of #160989 - N1ark:08-12-generic-float-intrinsincs, r=fo…
JonathanBrouwer Sep 1, 2026
9a57f7b
Rollup merge of #161971 - hanna-kruppe:rm-flag-satfpcast, r=RalfJung
JonathanBrouwer Sep 1, 2026
82e12d6
Creates new `InlineAsmSize` enum
CrooseGit Jun 15, 2026
98d4b61
Disable inline asm line info cookies when llvm bitcode is saved or LT…
susitsm Jul 30, 2026
18dd4a8
Reduce size of 0027-stdlib-128bit-atomic-operations.patch
bjorn3 Sep 6, 2026
1ae0feb
Sync from rust f248f4038796913873f11ca65b1b901e311c8dae
bjorn3 Sep 6, 2026
ea847bb
Rustup to rustc 1.100.0-nightly (f248f4038 2026-09-05)
bjorn3 Sep 6, 2026
ba9ce94
Fix rustc test suite
bjorn3 Sep 6, 2026
50311dd
Remove stabilized feature gate
bjorn3 Sep 6, 2026
5a881f3
Rollup merge of #160197 - susitsm:restrict-inline-asm-cookies, r=petr…
JonathanBrouwer Sep 7, 2026
0c1141f
Sync from rust cea272fa356e94bd2ee2cadf376630aa0683867a
bjorn3 Sep 8, 2026
db693f7
Rustup to rustc 1.100.0-nightly (cea272fa3 2026-09-07)
bjorn3 Sep 8, 2026
a2b78f2
Merge commit 'db693f7dbcfab9af2a89b703096f692417e2f756' into sync_cg_…
bjorn3 Sep 8, 2026
d64cce9
Pass -Zforce-unstable-if-unmarked to cg_clif tests
bjorn3 Sep 9, 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
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,5 @@ jobs:
# Disabling incr comp reduces cache size and incr comp doesn't save
# as much on CI anyway.
export CARGO_BUILD_INCREMENTAL=false
# FIXME(rust-lang/rust#134863) necessary to avoid error when
# dlopening proc macros during compilation of cg_clif.
export LD_STATIC_TLS_EXTRA=4096
# Skip rand as it fails on FreeBSD due to rust-random/rand#1355
./y.sh test --skip-test test.rust-random/rand
77 changes: 38 additions & 39 deletions compiler/rustc_codegen_cranelift/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -43,46 +43,46 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"

[[package]]
name = "cranelift-assembler-x64"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a25c5b1bb1d86ae68dca1826a1b668b9951056c42e0eef89e35942c7001eb481"
checksum = "a4a59ddc4abd9c5560f4742864b2cd8c19e73c7263f0c866b2c45c2d31587adc"
dependencies = [
"cranelift-assembler-x64-meta",
]

[[package]]
name = "cranelift-assembler-x64-meta"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1b052a1fd94b4565697c56f9d358723c7c354feef42a6569081225c1bed6e86"
checksum = "8a8c361cd22fd0fdd8e61af6bfd86ad9c0c62f78b2b1caa2b9e4e97cd8f605fe"
dependencies = [
"cranelift-srcgen",
]

[[package]]
name = "cranelift-bforest"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a599e8ffa6a1a118d2dce4809073ad2f2534b1ae1c6d55697b6b8a324446c971"
checksum = "b86c34ae183cf2410318f899648fe1ef6ab9148486e7b938d7b4d814e61dafc9"
dependencies = [
"cranelift-entity",
"wasmtime-internal-core",
]

[[package]]
name = "cranelift-bitset"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e1ae13182fadc731b1387287b4c6d257b9191fbb7c980ebb2d74c2db74b743e"
checksum = "415f1a12668869e16ac3b66a729fb8cce8bbe6e50e68d1fa0142acd0c9c05f0c"
dependencies = [
"wasmtime-internal-core",
]

[[package]]
name = "cranelift-codegen"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dce9c62e5e11d12f4a8f5f939f29899f32002d38193b47491e2539705a1d447e"
checksum = "73eecedc85ffca4f34dbe197c6545c8ade6579a61352457936f53c3bffa6353b"
dependencies = [
"bumpalo",
"cranelift-assembler-x64",
Expand All @@ -107,9 +107,9 @@ dependencies = [

[[package]]
name = "cranelift-codegen-meta"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c29d6b53cfd758dc1a269310fc92199056db03943b9b774b4911cd615e02ad7"
checksum = "66834005198c3e9e3d89cd69cf1541419402ab75250afbeaa3128db6d5254025"
dependencies = [
"cranelift-assembler-x64-meta",
"cranelift-codegen-shared",
Expand All @@ -119,34 +119,34 @@ dependencies = [

[[package]]
name = "cranelift-codegen-shared"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cd8cfe23f3349bfa62e06a450cd94cf5f84fbe78556f4df3276534c4b93d834"
checksum = "7e6efaf74077091a2ff41317cc8eb2779264dae4b8a16d955835f3fcda338f52"

[[package]]
name = "cranelift-control"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f991b4712f21d9502758f7e6cb11746ca2e6186b06c42995eaf31b1e50a9c498"
checksum = "a4258d4ed6ad4e698fe1fec4277b1fcbea6f2a17cb5ec3f04bddfb38ca83d93e"
dependencies = [
"arbitrary",
]

[[package]]
name = "cranelift-entity"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e24f9c233a43730e22cf42ab0c03f41265e147eca97b3362be01e0da359d7a5"
checksum = "4f016b6f87b1a46a3f5df59b82d88bb352bf2fa6d7868875dfc4d6b65de5242d"
dependencies = [
"cranelift-bitset",
"wasmtime-internal-core",
]

[[package]]
name = "cranelift-frontend"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61325401051d35ddbf8e2b5d5b5dec8dd54688c9054046b62e76146e61c88a99"
checksum = "b16f2b149dae6ea3886bee931445196d86d8e71b66f7c3b21abe434f77189be8"
dependencies = [
"cranelift-codegen",
"hashbrown 0.17.0",
Expand All @@ -157,15 +157,15 @@ dependencies = [

[[package]]
name = "cranelift-isle"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62f71d642812aa70284750719efbd2cc5ad7e7c5e6c43c026b5b0686ce8a6052"
checksum = "f00258ff3d37f52ed731df679205e66175c728846dbde186ee20e93973d12ee7"

[[package]]
name = "cranelift-jit"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92a0f9300c8a5738553a440fe4f25b85f574d5c41b946880dabd47c809f87997"
checksum = "fa063cc98af51fb9090cd40b674503e21bdfa705d2bff75ebf98b79ffc0f598d"
dependencies = [
"anyhow",
"cranelift-codegen",
Expand All @@ -184,9 +184,9 @@ dependencies = [

[[package]]
name = "cranelift-module"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f723983af35e690c4e2fc160df5d8895bb4a419a54d693367163d781bd830cc"
checksum = "bff0025f1ff6a0470cbd2a61b125f8501311ea9e6c46ed5bb2110ee6710c6a76"
dependencies = [
"anyhow",
"cranelift-codegen",
Expand All @@ -195,9 +195,9 @@ dependencies = [

[[package]]
name = "cranelift-native"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5c50cffac70c30cc5d0b1d8d287e7712dc76b1181c43697de63d27f38236ddd"
checksum = "4f31eb7e08f31e5bc9c167c35718b0325efa3d4e234e2e9342316e01b18a4b51"
dependencies = [
"cranelift-codegen",
"libc",
Expand All @@ -206,9 +206,9 @@ dependencies = [

[[package]]
name = "cranelift-object"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "430e18f4886ba98f6a7dbb82c86df19f28f27cac417611e5dcc427a7a8decac9"
checksum = "7ca0d86955529d5b9041c4c07745f6ffa42c32326e9f467a834e2b7bd9a9d156"
dependencies = [
"anyhow",
"cranelift-codegen",
Expand All @@ -221,9 +221,9 @@ dependencies = [

[[package]]
name = "cranelift-srcgen"
version = "0.134.0"
version = "0.135.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc5972dc0a5df7ba6f11e8e1654287c40ea1704ca6ce3b76ef54fa58445ee4ad"
checksum = "2e0b67d313f510520f40c1496c3446af0d6b30219d1ba9a4c09c77ec288a561b"

[[package]]
name = "crc32fast"
Expand Down Expand Up @@ -379,9 +379,9 @@ dependencies = [

[[package]]
name = "regalloc2"
version = "0.15.1"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de2c52737737f8609e94f975dee22854a2d5c125772d4b1cf292120f4d45c186"
checksum = "757712e8e61590d6d4f5d563483755538b5aa13467837a3b41cd9832509a7f85"
dependencies = [
"allocator-api2",
"bumpalo",
Expand Down Expand Up @@ -493,21 +493,20 @@ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"

[[package]]
name = "wasmtime-internal-core"
version = "47.0.0"
version = "48.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "852f3326264aea590131a422e3ecb33fae3b6695fd67e2e202e2799cd8d27629"
checksum = "2c01c81d781512e17b38c3a76ca9aa2564bc3f9fd8ff6ffc77ba3e1c290d488a"
dependencies = [
"hashbrown 0.17.0",
"libm",
]

[[package]]
name = "wasmtime-internal-jit-icache-coherence"
version = "47.0.0"
version = "48.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e537f59b5ab127ca2d421ecbd8728d70bd6cdc9891cec193fb1f594c3309836c"
checksum = "2a09abde04346919af1136a28f344e200685509e28815aef4c39dc08977cc1d8"
dependencies = [
"cfg-if",
"libc",
"wasmtime-internal-core",
"windows-sys 0.61.2",
Expand Down
24 changes: 12 additions & 12 deletions compiler/rustc_codegen_cranelift/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ crate-type = ["dylib"]

[dependencies]
# These have to be in sync with each other
cranelift-codegen = { version = "0.134.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
cranelift-frontend = { version = "0.134.0" }
cranelift-module = { version = "0.134.0" }
cranelift-native = { version = "0.134.0" }
cranelift-jit = { version = "0.134.0", optional = true }
cranelift-object = { version = "0.134.0", default-features = false }
cranelift-codegen = { version = "0.135.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
cranelift-frontend = { version = "0.135.0" }
cranelift-module = { version = "0.135.0" }
cranelift-native = { version = "0.135.0" }
cranelift-jit = { version = "0.135.0", optional = true }
cranelift-object = { version = "0.135.0", default-features = false }
target-lexicon = "0.13"
gimli = { version = "0.33", default-features = false, features = ["write"] }
object = { version = "0.39.1", default-features = false, features = ["std", "read_core", "write", "archive", "coff", "elf", "macho", "pe"] }
Expand All @@ -24,12 +24,12 @@ smallvec = "1.8.1"

# Uncomment to use an unreleased version of cranelift
#[patch.crates-io]
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-47.0.0" }
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-47.0.0" }
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-47.0.0" }
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-47.0.0" }
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-47.0.0" }
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-47.0.0" }
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-48.0.0" }

# Uncomment to use local checkout of cranelift
#cranelift-codegen = { path = "../wasmtime/cranelift/codegen" }
Expand Down
3 changes: 1 addition & 2 deletions compiler/rustc_codegen_cranelift/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ For more docs on how to build and test see [build_system/usage.txt](build_system
|OS \ architecture|x86\_64|AArch64|Riscv64|s390x (System-Z)|
|---|---|---|---|---|
|Linux|✅|✅|✅[^no-rustup]|✅[^no-rustup]|
|FreeBSD|✅[^no-rustup][^tls]|❓|❓|❓|
|FreeBSD|✅[^no-rustup]|❓|❓|❓|
|AIX|❌[^xcoff]|N/A|N/A|❌[^xcoff]|
|Other unixes|❓|❓|❓|❓|
|macOS|✅|✅|N/A|N/A|
Expand All @@ -80,7 +80,6 @@ Not all targets are available as rustup component for nightly. See notes in the

[^xcoff]: XCOFF object file format is not supported.
[^no-rustup]: Not available as [rustup component for nightly](https://rust-lang.github.io/rustup-components-history/). You can build it yourself.
[^tls]: FreeBSD requires setting `LD_STATIC_TLS_EXTRA=4096` to build cg_clif. In addition you need at least FreeBSD 14.

## Usage

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,6 @@ fn build_clif_sysroot_for_target(
build_cmd.arg("--features").arg("backtrace panic-unwind");
build_cmd.arg(format!("-Zroot-dir={}", STDLIB_SRC.to_path(dirs).display()));
build_cmd.arg("-Zembed-metadata=no");
build_cmd.arg("-Zbuild-dir-new-layout");
build_cmd.env("CARGO_PROFILE_RELEASE_DEBUG", "true");
build_cmd.env("__CARGO_DEFAULT_LIB_METADATA", "cg_clif");
if compiler.target.contains("apple") {
Expand Down
2 changes: 2 additions & 0 deletions compiler/rustc_codegen_cranelift/build_system/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,8 @@ impl<'a> TestRunner<'a> {
cmd.arg("--check-cfg=cfg(jit)");
cmd.arg("--check-cfg=cfg(target_has_reliable_f128)");
cmd.arg("--edition=2024");
// implicitly passed when building inside the rust repo
cmd.arg("-Zforce-unstable-if-unmarked");
cmd.args(args);
cmd
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#![feature(
no_core,
lang_items,
never_type,
extern_types,
thread_local,
repr_simd,
Expand Down
Loading
Loading