Skip to content

Commit 45593d8

Browse files
committed
Merge commit '3b6080cb20924f0c4f94e47bbbbfcae8b07d82e5' into sync_cg_clif-2026-04-28
2 parents 4ddb0b7 + 3b6080c commit 45593d8

19 files changed

Lines changed: 538 additions & 193 deletions

File tree

compiler/rustc_codegen_cranelift/.github/workflows/main.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,8 @@ jobs:
242242
runs-on: ubuntu-latest
243243
timeout-minutes: 10
244244
if: ${{ github.ref == 'refs/heads/main' }}
245-
needs: [todo_check, rustfmt, test, bench, dist]
245+
# FIXME add bench back once rust-lang/cargo#16925 has been fixed
246+
needs: [todo_check, rustfmt, test, dist]
246247

247248
permissions:
248249
contents: write # for creating the dev tag and release

compiler/rustc_codegen_cranelift/Cargo.lock

Lines changed: 51 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -43,46 +43,46 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
4343

4444
[[package]]
4545
name = "cranelift-assembler-x64"
46-
version = "0.130.0"
46+
version = "0.131.0"
4747
source = "registry+https://github.com/rust-lang/crates.io-index"
48-
checksum = "4f248321c6a7d4de5dcf2939368e96a397ad3f53b6a076e38d0104d1da326d37"
48+
checksum = "6edb5bdd1af46714e3224a017fabbbd57f70df4e840eb5ad6a7429dc456119d6"
4949
dependencies = [
5050
"cranelift-assembler-x64-meta",
5151
]
5252

5353
[[package]]
5454
name = "cranelift-assembler-x64-meta"
55-
version = "0.130.0"
55+
version = "0.131.0"
5656
source = "registry+https://github.com/rust-lang/crates.io-index"
57-
checksum = "ab6d78ff1f7d9bf8b7e1afbedbf78ba49e38e9da479d4c8a2db094e22f64e2bc"
57+
checksum = "a819599186e1b1a1f88d464e06045696afc7aa3e0cc018aa0b2999cb63d1d088"
5858
dependencies = [
5959
"cranelift-srcgen",
6060
]
6161

6262
[[package]]
6363
name = "cranelift-bforest"
64-
version = "0.130.0"
64+
version = "0.131.0"
6565
source = "registry+https://github.com/rust-lang/crates.io-index"
66-
checksum = "6b6005ba640213a5b95382aeaf6b82bf028309581c8d7349778d66f27dc1180b"
66+
checksum = "36e2c152d488e03c87b913bc2ed3414416eb1e0d66d61b49af60bf456a9665c7"
6767
dependencies = [
6868
"cranelift-entity",
6969
"wasmtime-internal-core",
7070
]
7171

7272
[[package]]
7373
name = "cranelift-bitset"
74-
version = "0.130.0"
74+
version = "0.131.0"
7575
source = "registry+https://github.com/rust-lang/crates.io-index"
76-
checksum = "81fb5b134a12b559ff0c0f5af0fcd755ad380723b5016c4e0d36f74d39485340"
76+
checksum = "b6559d4fbc253d1396e1f6beeae57fa88a244f02aaf0cde2a735afd3492d9b2e"
7777
dependencies = [
7878
"wasmtime-internal-core",
7979
]
8080

8181
[[package]]
8282
name = "cranelift-codegen"
83-
version = "0.130.0"
83+
version = "0.131.0"
8484
source = "registry+https://github.com/rust-lang/crates.io-index"
85-
checksum = "85837de8be7f17a4034a6b08816f05a3144345d2091937b39d415990daca28f4"
85+
checksum = "96d9315d98d6e0a64454d4c83be2ee0e8055c3f80c3b2d7bcad7079f281a06ff"
8686
dependencies = [
8787
"bumpalo",
8888
"cranelift-assembler-x64",
@@ -107,9 +107,9 @@ dependencies = [
107107

108108
[[package]]
109109
name = "cranelift-codegen-meta"
110-
version = "0.130.0"
110+
version = "0.131.0"
111111
source = "registry+https://github.com/rust-lang/crates.io-index"
112-
checksum = "e433faa87d38e5b8ff469e44a26fea4f93e58abd7a7c10bad9810056139700c9"
112+
checksum = "d89c00a88081c55e3087c45bebc77e0cc973de2d7b44ef6a943c7122647b89f5"
113113
dependencies = [
114114
"cranelift-assembler-x64-meta",
115115
"cranelift-codegen-shared",
@@ -119,34 +119,34 @@ dependencies = [
119119

120120
[[package]]
121121
name = "cranelift-codegen-shared"
122-
version = "0.130.0"
122+
version = "0.131.0"
123123
source = "registry+https://github.com/rust-lang/crates.io-index"
124-
checksum = "5397ba61976e13944ca71230775db13ee1cb62849701ed35b753f4761ed0a9b7"
124+
checksum = "879f77c497a1eb6273482aa1ac3b23cb8563ff04edb39ed5dfcfd28c8deff8f5"
125125

126126
[[package]]
127127
name = "cranelift-control"
128-
version = "0.130.0"
128+
version = "0.131.0"
129129
source = "registry+https://github.com/rust-lang/crates.io-index"
130-
checksum = "cc81c88765580720eb30f4fc2c1bfdb75fcbf3094f87b3cd69cecca79d77a245"
130+
checksum = "498dc1f17a6910c88316d49c7176d8fa97cf10c30859c32a266040449317f963"
131131
dependencies = [
132132
"arbitrary",
133133
]
134134

135135
[[package]]
136136
name = "cranelift-entity"
137-
version = "0.130.0"
137+
version = "0.131.0"
138138
source = "registry+https://github.com/rust-lang/crates.io-index"
139-
checksum = "463feed5d46cf8763f3ba3045284cf706dd161496e20ec9c14afbb4ba09b9e66"
139+
checksum = "c2acba797f6a46042ce82aaf7680d0c3567fe2001e238db9df649fd104a2727f"
140140
dependencies = [
141141
"cranelift-bitset",
142142
"wasmtime-internal-core",
143143
]
144144

145145
[[package]]
146146
name = "cranelift-frontend"
147-
version = "0.130.0"
147+
version = "0.131.0"
148148
source = "registry+https://github.com/rust-lang/crates.io-index"
149-
checksum = "a4c5eca7696c1c04ab4c7ed8d18eadbb47d6cc9f14ec86fe0881bf1d7e97e261"
149+
checksum = "4dca3df1d107d98d88f159ad1d5eaa2d5cdb678b3d5bcfadc6fc83d8ebb448ea"
150150
dependencies = [
151151
"cranelift-codegen",
152152
"log",
@@ -156,15 +156,15 @@ dependencies = [
156156

157157
[[package]]
158158
name = "cranelift-isle"
159-
version = "0.130.0"
159+
version = "0.131.0"
160160
source = "registry+https://github.com/rust-lang/crates.io-index"
161-
checksum = "f1153844610cc9c6da8cf10ce205e45da1a585b7688ed558aa808bbe2e4e6d77"
161+
checksum = "f62dd18116d88bed649871feceda79dad7b59cc685ea8998c2b3e64d0e689602"
162162

163163
[[package]]
164164
name = "cranelift-jit"
165-
version = "0.130.0"
165+
version = "0.131.0"
166166
source = "registry+https://github.com/rust-lang/crates.io-index"
167-
checksum = "41836de8321b303d3d4188e58cc09c30c7645337342acfcfb363732695cae098"
167+
checksum = "0a4942770ce6662b44d903493d7c5b00f9a986a713a61aae148306eaef21ebd4"
168168
dependencies = [
169169
"anyhow",
170170
"cranelift-codegen",
@@ -182,9 +182,9 @@ dependencies = [
182182

183183
[[package]]
184184
name = "cranelift-module"
185-
version = "0.130.0"
185+
version = "0.131.0"
186186
source = "registry+https://github.com/rust-lang/crates.io-index"
187-
checksum = "b731f66cb1b69b60a74216e632968ebdbb95c488d26aa1448ec226ae0ffec33e"
187+
checksum = "fb5ca0d214ecee44405ea9f0c65a5318b41ac469e8258fd9fe944e564c1c1b0b"
188188
dependencies = [
189189
"anyhow",
190190
"cranelift-codegen",
@@ -193,9 +193,9 @@ dependencies = [
193193

194194
[[package]]
195195
name = "cranelift-native"
196-
version = "0.130.0"
196+
version = "0.131.0"
197197
source = "registry+https://github.com/rust-lang/crates.io-index"
198-
checksum = "a97b583fe9a60f06b0464cee6be5a17f623fd91b217aaac99b51b339d19911af"
198+
checksum = "f843b80360d7fdf61a6124642af7597f6d55724cf521210c34af8a1c66daca6e"
199199
dependencies = [
200200
"cranelift-codegen",
201201
"libc",
@@ -204,9 +204,9 @@ dependencies = [
204204

205205
[[package]]
206206
name = "cranelift-object"
207-
version = "0.130.0"
207+
version = "0.131.0"
208208
source = "registry+https://github.com/rust-lang/crates.io-index"
209-
checksum = "9809d2d419cd18f17377f4ce64a7ad22eeda0d042c08833d3796657f1ddebc82"
209+
checksum = "b9d212d15015c374333b11b833111b7c7e686bfaec02385af53611050bce7e9d"
210210
dependencies = [
211211
"anyhow",
212212
"cranelift-codegen",
@@ -219,9 +219,9 @@ dependencies = [
219219

220220
[[package]]
221221
name = "cranelift-srcgen"
222-
version = "0.130.0"
222+
version = "0.131.0"
223223
source = "registry+https://github.com/rust-lang/crates.io-index"
224-
checksum = "8594dc6bb4860fa8292f1814c76459dbfb933e1978d8222de6380efce45c7cee"
224+
checksum = "090ee5de58c6f17eb5e3a5ae8cf1695c7efea04ec4dd0ecba6a5b996c9bad7dc"
225225

226226
[[package]]
227227
name = "crc32fast"
@@ -277,6 +277,15 @@ dependencies = [
277277
"foldhash",
278278
]
279279

280+
[[package]]
281+
name = "hashbrown"
282+
version = "0.17.0"
283+
source = "registry+https://github.com/rust-lang/crates.io-index"
284+
checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
285+
dependencies = [
286+
"foldhash",
287+
]
288+
280289
[[package]]
281290
name = "heck"
282291
version = "0.5.0"
@@ -285,12 +294,12 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
285294

286295
[[package]]
287296
name = "indexmap"
288-
version = "2.13.0"
297+
version = "2.14.0"
289298
source = "registry+https://github.com/rust-lang/crates.io-index"
290-
checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
299+
checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
291300
dependencies = [
292301
"equivalent",
293-
"hashbrown 0.16.1",
302+
"hashbrown 0.17.0",
294303
]
295304

296305
[[package]]
@@ -338,12 +347,12 @@ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
338347

339348
[[package]]
340349
name = "object"
341-
version = "0.38.1"
350+
version = "0.39.1"
342351
source = "registry+https://github.com/rust-lang/crates.io-index"
343-
checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc"
352+
checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b"
344353
dependencies = [
345354
"crc32fast",
346-
"hashbrown 0.16.1",
355+
"hashbrown 0.17.0",
347356
"indexmap",
348357
"memchr",
349358
]
@@ -482,19 +491,19 @@ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
482491

483492
[[package]]
484493
name = "wasmtime-internal-core"
485-
version = "43.0.0"
494+
version = "44.0.0"
486495
source = "registry+https://github.com/rust-lang/crates.io-index"
487-
checksum = "e671917bb6856ae360cb59d7aaf26f1cfd042c7b924319dd06fd380739fc0b2e"
496+
checksum = "816a61a75275c6be435131fc625a4f5956daf24d9f9f59443e81cbef228929b3"
488497
dependencies = [
489498
"hashbrown 0.16.1",
490499
"libm",
491500
]
492501

493502
[[package]]
494503
name = "wasmtime-internal-jit-icache-coherence"
495-
version = "43.0.0"
504+
version = "44.0.0"
496505
source = "registry+https://github.com/rust-lang/crates.io-index"
497-
checksum = "9b3112806515fac8495883885eb8dbdde849988ae91fe6beb544c0d7c0f4c9aa"
506+
checksum = "2fd683a94490bf755d016a09697b0955602c50106b1ded97d16983ab2ded9fed"
498507
dependencies = [
499508
"cfg-if",
500509
"libc",

compiler/rustc_codegen_cranelift/Cargo.toml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,28 @@ crate-type = ["dylib"]
88

99
[dependencies]
1010
# These have to be in sync with each other
11-
cranelift-codegen = { version = "0.130.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
12-
cranelift-frontend = { version = "0.130.0" }
13-
cranelift-module = { version = "0.130.0" }
14-
cranelift-native = { version = "0.130.0" }
15-
cranelift-jit = { version = "0.130.0", optional = true }
16-
cranelift-object = { version = "0.130.0" }
11+
cranelift-codegen = { version = "0.131.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
12+
cranelift-frontend = { version = "0.131.0" }
13+
cranelift-module = { version = "0.131.0" }
14+
cranelift-native = { version = "0.131.0" }
15+
cranelift-jit = { version = "0.131.0", optional = true }
16+
cranelift-object = { version = "0.131.0" }
1717
target-lexicon = "0.13"
1818
gimli = { version = "0.33", default-features = false, features = ["write"] }
19-
object = { version = "0.38.0", default-features = false, features = ["std", "read_core", "write", "archive", "coff", "elf", "macho", "pe"] }
19+
object = { version = "0.39.1", default-features = false, features = ["std", "read_core", "write", "archive", "coff", "elf", "macho", "pe"] }
2020

2121
indexmap = "2.0.0"
2222
libloading = { version = "0.9.0", optional = true }
2323
smallvec = "1.8.1"
2424

2525
[patch.crates-io]
2626
# Uncomment to use an unreleased version of cranelift
27-
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-43.0.0" }
28-
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-43.0.0" }
29-
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-43.0.0" }
30-
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-43.0.0" }
31-
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-43.0.0" }
32-
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-43.0.0" }
27+
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-44.0.0" }
28+
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-44.0.0" }
29+
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-44.0.0" }
30+
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-44.0.0" }
31+
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-44.0.0" }
32+
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-44.0.0" }
3333

3434
# Uncomment to use local checkout of cranelift
3535
#cranelift-codegen = { path = "../wasmtime/cranelift/codegen" }

compiler/rustc_codegen_cranelift/build_system/build_sysroot.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,7 @@ fn build_llvm_sysroot_for_triple(compiler: Compiler) -> SysrootTarget {
178178
&& !file_name_str.contains("rustc_std_workspace_")
179179
&& !file_name_str.contains("rustc_demangle")
180180
&& !file_name_str.contains("rustc_literal_escaper"))
181-
|| file_name_str.contains("chalk")
182-
|| file_name_str.contains("tracing")
183-
|| file_name_str.contains("regex")
181+
|| file_name_str.contains("LLVM")
184182
{
185183
// These are large crates that are part of the rustc-dev component and are not
186184
// necessary to run regular programs.
@@ -208,9 +206,9 @@ fn build_clif_sysroot_for_triple(
208206

209207
apply_patches(dirs, "stdlib", &sysroot_src_orig, &STDLIB_SRC.to_path(dirs));
210208

211-
// Cleanup the deps dir, but keep build scripts and the incremental cache for faster
212-
// recompilation as they are not affected by changes in cg_clif.
213-
ensure_empty_dir(&build_dir.join("deps"));
209+
// Cleanup the build dir, but keep the incremental cache for faster
210+
// recompilation as it is not affected by changes in cg_clif.
211+
ensure_empty_dir(&build_dir.join("build"));
214212
}
215213

216214
// Build sysroot
@@ -243,6 +241,7 @@ fn build_clif_sysroot_for_triple(
243241
build_cmd.arg("--features").arg("backtrace panic-unwind");
244242
build_cmd.arg(format!("-Zroot-dir={}", STDLIB_SRC.to_path(dirs).display()));
245243
build_cmd.arg("-Zno-embed-metadata");
244+
build_cmd.arg("-Zbuild-dir-new-layout");
246245
build_cmd.env("CARGO_PROFILE_RELEASE_DEBUG", "true");
247246
build_cmd.env("__CARGO_DEFAULT_LIB_METADATA", "cg_clif");
248247
if compiler.triple.contains("apple") {
@@ -254,7 +253,13 @@ fn build_clif_sysroot_for_triple(
254253
}
255254
spawn_and_wait(build_cmd);
256255

257-
for entry in fs::read_dir(build_dir.join("deps")).unwrap() {
256+
for entry in fs::read_dir(build_dir.join("build"))
257+
.unwrap()
258+
.flat_map(|entry| entry.unwrap().path().read_dir().unwrap())
259+
.map(|entry| entry.unwrap().path().join("out"))
260+
.filter(|entry| entry.exists())
261+
.flat_map(|entry| entry.read_dir().unwrap())
262+
{
258263
let entry = entry.unwrap();
259264
if let Some(ext) = entry.path().extension() {
260265
if ext == "d" || ext == "dSYM" || ext == "clif" {

0 commit comments

Comments
 (0)