Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 28f1c80

Browse files
committed
Auto merge of #142959 - bjorn3:sync_cg_clif-2025年06月24日, r=bjorn3
Subtree sync for rustc_codegen_cranelift The main highlight this time is a Cranelift update. r? `@ghost` `@rustbot` label +A-codegen +A-cranelift +T-compiler
2 parents 3129d37 + dbe8682 commit 28f1c80

File tree

10 files changed

+98
-125
lines changed

10 files changed

+98
-125
lines changed

‎compiler/rustc_codegen_cranelift/Cargo.lock‎

Lines changed: 50 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -43,42 +43,42 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
4343

4444
[[package]]
4545
name = "cranelift-assembler-x64"
46-
version = "0.120.0"
46+
version = "0.121.0"
4747
source = "registry+https://github.com/rust-lang/crates.io-index"
48-
checksum = "9ff8e35182c7372df00447cb90a04e584e032c42b9b9b6e8c50ddaaf0d7900d5"
48+
checksum = "f6f53499803b1607b6ee0ba0de4ba036e6da700c2e489fe8f9d0f683d0b84d31"
4949
dependencies = [
5050
"cranelift-assembler-x64-meta",
5151
]
5252

5353
[[package]]
5454
name = "cranelift-assembler-x64-meta"
55-
version = "0.120.0"
55+
version = "0.121.0"
5656
source = "registry+https://github.com/rust-lang/crates.io-index"
57-
checksum = "14220f9c2698015c3b94dc6b84ae045c1c45509ddc406e43c6139252757fdb7a"
57+
checksum = "1aadaa5bc8430d0e7bb999459369bedd0e5816ad4a82a0e20748341c4e333eda"
5858
dependencies = [
5959
"cranelift-srcgen",
6060
]
6161

6262
[[package]]
6363
name = "cranelift-bforest"
64-
version = "0.120.0"
64+
version = "0.121.0"
6565
source = "registry+https://github.com/rust-lang/crates.io-index"
66-
checksum = "d372ef2777ceefd75829e1390211ac240e9196bc60699218f7ea2419038288ee"
66+
checksum = "2005fda2fc52a2dbce58229b4fb4483b70cbc806ba8ecc11b3f050c1a2d26cac"
6767
dependencies = [
6868
"cranelift-entity",
6969
]
7070

7171
[[package]]
7272
name = "cranelift-bitset"
73-
version = "0.120.0"
73+
version = "0.121.0"
7474
source = "registry+https://github.com/rust-lang/crates.io-index"
75-
checksum = "56323783e423818fa89ce8078e90a3913d2a6e0810399bfce8ebd7ee87baa81f"
75+
checksum = "56935e02452ca1249d39ad5c45a96304d0b4300a158a391fd113451e0cd4483d"
7676

7777
[[package]]
7878
name = "cranelift-codegen"
79-
version = "0.120.0"
79+
version = "0.121.0"
8080
source = "registry+https://github.com/rust-lang/crates.io-index"
81-
checksum = "74ffb780aab6186c6e9ba26519654b1ac55a09c0a866f6088a4efbbd84da68ed"
81+
checksum = "62612786bf00e10999f50217d6f455d02b31591155881a45a903d1a95d1a4043"
8282
dependencies = [
8383
"bumpalo",
8484
"cranelift-assembler-x64",
@@ -97,13 +97,14 @@ dependencies = [
9797
"serde",
9898
"smallvec",
9999
"target-lexicon",
100+
"wasmtime-math",
100101
]
101102

102103
[[package]]
103104
name = "cranelift-codegen-meta"
104-
version = "0.120.0"
105+
version = "0.121.0"
105106
source = "registry+https://github.com/rust-lang/crates.io-index"
106-
checksum = "c23ef13814d3b39c869650d5961128cbbecad83fbdff4e6836a03ecf6862d7ed"
107+
checksum = "07bae789df91ef236079733af9df11d852256c64af196f0bc6471ea0f5f301be"
107108
dependencies = [
108109
"cranelift-assembler-x64-meta",
109110
"cranelift-codegen-shared",
@@ -112,33 +113,33 @@ dependencies = [
112113

113114
[[package]]
114115
name = "cranelift-codegen-shared"
115-
version = "0.120.0"
116+
version = "0.121.0"
116117
source = "registry+https://github.com/rust-lang/crates.io-index"
117-
checksum = "b9f623300657679f847803ce80811454bfff89cea4f6bf684be5c468d4a73631"
118+
checksum = "1be319616d36527782558a8312508757815f64deb19b094c7b8f4337229a9bc6"
118119

119120
[[package]]
120121
name = "cranelift-control"
121-
version = "0.120.0"
122+
version = "0.121.0"
122123
source = "registry+https://github.com/rust-lang/crates.io-index"
123-
checksum = "31f4168af69989aa6b91fab46799ed4df6096f3209f4a6c8fb4358f49c60188f"
124+
checksum = "8810ee1ab5e9bd5cff4c0c8d240e2009cb5c2b79888fde1d5256d605712314b7"
124125
dependencies = [
125126
"arbitrary",
126127
]
127128

128129
[[package]]
129130
name = "cranelift-entity"
130-
version = "0.120.0"
131+
version = "0.121.0"
131132
source = "registry+https://github.com/rust-lang/crates.io-index"
132-
checksum = "ca6fa9bae1c8de26d71ac2162f069447610fd91e7780cb480ee0d76ac81eabb8"
133+
checksum = "086452c97cfbe116bf17dbe622dc5fdf2ea97299c7d4ce42460f284387c9928a"
133134
dependencies = [
134135
"cranelift-bitset",
135136
]
136137

137138
[[package]]
138139
name = "cranelift-frontend"
139-
version = "0.120.0"
140+
version = "0.121.0"
140141
source = "registry+https://github.com/rust-lang/crates.io-index"
141-
checksum = "b8219205608aa0b0e6769b580284a7e055c7e0c323c1041cde7ca078add3e412"
142+
checksum = "4c27947010ab759330f252610c17a8cd64d123358be4f33164233d04fcd77b80"
142143
dependencies = [
143144
"cranelift-codegen",
144145
"log",
@@ -148,15 +149,15 @@ dependencies = [
148149

149150
[[package]]
150151
name = "cranelift-isle"
151-
version = "0.120.0"
152+
version = "0.121.0"
152153
source = "registry+https://github.com/rust-lang/crates.io-index"
153-
checksum = "588d0c5964f10860b04043e55aab26d7f7a206b0fd4f10c5260e8aa5773832bd"
154+
checksum = "ec67bfb8bd55b1e9760eb9f5186dca8d81bd4d86110f8d5af01154a044c91802"
154155

155156
[[package]]
156157
name = "cranelift-jit"
157-
version = "0.120.0"
158+
version = "0.121.0"
158159
source = "registry+https://github.com/rust-lang/crates.io-index"
159-
checksum = "56bd917ddc524f84f4066f954062875bdfc0dffea068ee94e906d98de5ac7c33"
160+
checksum = "d67cdfc447f2abdb46bb30a6582cce189539c3c051c1d5330692376e1400edff"
160161
dependencies = [
161162
"anyhow",
162163
"cranelift-codegen",
@@ -174,9 +175,9 @@ dependencies = [
174175

175176
[[package]]
176177
name = "cranelift-module"
177-
version = "0.120.0"
178+
version = "0.121.0"
178179
source = "registry+https://github.com/rust-lang/crates.io-index"
179-
checksum = "68a03c057d8a992e06596c871341e446af43ff9224f941e5b8adea39137a5391"
180+
checksum = "e4597eaa52bca1ed111986c7a7f70cdbe192f83d271d627201365078e37b7e84"
180181
dependencies = [
181182
"anyhow",
182183
"cranelift-codegen",
@@ -185,9 +186,9 @@ dependencies = [
185186

186187
[[package]]
187188
name = "cranelift-native"
188-
version = "0.120.0"
189+
version = "0.121.0"
189190
source = "registry+https://github.com/rust-lang/crates.io-index"
190-
checksum = "19ed3c94cb97b14f92b6a94a1d45ef8c851f6a2ad9114e5d91d233f7da638fed"
191+
checksum = "75a9b63edea46e013fce459c46e500462cb03a0490fdd9c18fe42b1dd7b93aa1"
191192
dependencies = [
192193
"cranelift-codegen",
193194
"libc",
@@ -196,9 +197,9 @@ dependencies = [
196197

197198
[[package]]
198199
name = "cranelift-object"
199-
version = "0.120.0"
200+
version = "0.121.0"
200201
source = "registry+https://github.com/rust-lang/crates.io-index"
201-
checksum = "a64dacef362a69375a604f6636e5e9a174fb96dba3b273646fcd9fa85c1d0997"
202+
checksum = "ce706f0166d5b7f31693dff521e87cb9858e12adf22ffcde93c4a2826f8f04a9"
202203
dependencies = [
203204
"anyhow",
204205
"cranelift-codegen",
@@ -211,9 +212,9 @@ dependencies = [
211212

212213
[[package]]
213214
name = "cranelift-srcgen"
214-
version = "0.120.0"
215+
version = "0.121.0"
215216
source = "registry+https://github.com/rust-lang/crates.io-index"
216-
checksum = "85256fac1519a7d25a040c1d850fba67478f3f021ad5fdf738ba4425ee862dbf"
217+
checksum = "7d5870e266df8237b56cc98b04f5739c228565c92dd629ec6c66efa87271a158"
217218

218219
[[package]]
219220
name = "crc32fast"
@@ -288,6 +289,12 @@ dependencies = [
288289
"windows-targets",
289290
]
290291

292+
[[package]]
293+
name = "libm"
294+
version = "0.2.15"
295+
source = "registry+https://github.com/rust-lang/crates.io-index"
296+
checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
297+
291298
[[package]]
292299
name = "log"
293300
version = "0.4.22"
@@ -446,16 +453,25 @@ checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
446453

447454
[[package]]
448455
name = "wasmtime-jit-icache-coherence"
449-
version = "33.0.0"
456+
version = "34.0.0"
450457
source = "registry+https://github.com/rust-lang/crates.io-index"
451-
checksum = "175e924dbc944c185808466d1e90b5a7feb610f3b9abdfe26f8ee25fd1086d1c"
458+
checksum = "2eedc0324e37cf39b049f4dca0c30997eaab49f09006d5f4c1994e64e7b7dba8"
452459
dependencies = [
453460
"anyhow",
454461
"cfg-if",
455462
"libc",
456463
"windows-sys 0.59.0",
457464
]
458465

466+
[[package]]
467+
name = "wasmtime-math"
468+
version = "34.0.0"
469+
source = "registry+https://github.com/rust-lang/crates.io-index"
470+
checksum = "1cd35fae4cf51d2b4a9bd2ef04b0eb309fa1849cab6a6ab5ac27cbd054ea284d"
471+
dependencies = [
472+
"libm",
473+
]
474+
459475
[[package]]
460476
name = "windows-sys"
461477
version = "0.52.0"

‎compiler/rustc_codegen_cranelift/Cargo.toml‎

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

99
[dependencies]
1010
# These have to be in sync with each other
11-
cranelift-codegen = { version = "0.120.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
12-
cranelift-frontend = { version = "0.120.0" }
13-
cranelift-module = { version = "0.120.0" }
14-
cranelift-native = { version = "0.120.0" }
15-
cranelift-jit = { version = "0.120.0", optional = true }
16-
cranelift-object = { version = "0.120.0" }
11+
cranelift-codegen = { version = "0.121.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
12+
cranelift-frontend = { version = "0.121.0" }
13+
cranelift-module = { version = "0.121.0" }
14+
cranelift-native = { version = "0.121.0" }
15+
cranelift-jit = { version = "0.121.0", optional = true }
16+
cranelift-object = { version = "0.121.0" }
1717
target-lexicon = "0.13"
1818
gimli = { version = "0.31", default-features = false, features = ["write"] }
1919
object = { version = "0.36", default-features = false, features = ["std", "read_core", "write", "archive", "coff", "elf", "macho", "pe"] }
@@ -24,12 +24,12 @@ 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-33.0.0", version = "0.120.0" }
28-
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-33.0.0", version = "0.120.0" }
29-
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-33.0.0", version = "0.120.0" }
30-
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-33.0.0", version = "0.120.0" }
31-
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-33.0.0", version = "0.120.0" }
32-
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-33.0.0", version = "0.120.0" }
27+
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-34.0.0", version = "0.121.0" }
28+
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-34.0.0", version = "0.121.0" }
29+
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-34.0.0", version = "0.121.0" }
30+
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-34.0.0", version = "0.121.0" }
31+
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-34.0.0", version = "0.121.0" }
32+
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-34.0.0", version = "0.121.0" }
3333

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

‎compiler/rustc_codegen_cranelift/build_system/abi_cafe.rs‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use crate::{CodegenBackend, SysrootKind, build_sysroot};
66
static ABI_CAFE_REPO: GitRepo = GitRepo::github(
77
"Gankra",
88
"abi-cafe",
9-
"f1220cfd13b57f5c0082c26529163865ee25e115",
10-
"fe93a9acd461425d",
9+
"94d38030419eb00a1ba80e5e2b4d763dcee58db4",
10+
"6efb4457893c8670",
1111
"abi-cafe",
1212
);
1313

@@ -46,6 +46,10 @@ pub(crate) fn run(
4646
let mut cmd = ABI_CAFE.run(bootstrap_host_compiler, dirs);
4747
cmd.arg("--");
4848

49+
cmd.arg("--debug");
50+
51+
cmd.arg("--rules").arg(dirs.source_dir.join("scripts/abi-cafe-rules.toml"));
52+
4953
// stdcall, vectorcall and such don't work yet
5054
cmd.arg("--conventions").arg("c").arg("--conventions").arg("rust");
5155

‎compiler/rustc_codegen_cranelift/patches/0002-abi-cafe-Disable-broken-tests.patch‎

Lines changed: 0 additions & 69 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[toolchain]
2-
channel = "nightly-2025-05-25"
2+
channel = "nightly-2025-06-24"
33
components = ["rust-src", "rustc-dev", "llvm-tools"]
44
profile = "minimal"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[target.'cfg(all(target_arch = "aarch64", target_os = "linux"))']
2+
'F32Array::conv_c'.busted = "check"
3+
4+
[target.'cfg(all(target_arch = "aarch64", target_os = "macos"))']
5+
'SingleVariantUnion::conv_c::repr_c'.busted = "check"
6+
'OptionU128::conv_rust::repr_c::rustc_caller'.busted = "run"
7+
'OptionU128::conv_rust::repr_c::cgclif_caller'.busted = "check"
8+
9+
[target.'cfg(all(target_arch = "x86_64", windows))']
10+
'simple::conv_rust'.busted = "check"
11+
'simple::conv_rust::rustc_caller'.busted = "run"
12+
13+
[target.'*'.'f16']
14+
run = "skip"
15+
16+
[target.'*'.'f128']
17+
run = "skip"

‎compiler/rustc_codegen_cranelift/src/constant.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ fn pointer_for_allocation<'tcx>(
228228
crate::pointer::Pointer::new(global_ptr)
229229
}
230230

231-
pub(crate)fn data_id_for_alloc_id(
231+
fn data_id_for_alloc_id(
232232
cx: &mut ConstantCx,
233233
module: &mut dyn Module,
234234
alloc_id: AllocId,

‎compiler/rustc_codegen_cranelift/src/intrinsics/llvm_x86.rs‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,10 @@ pub(super) fn codegen_x86_llvm_intrinsic_call<'tcx>(
202202
};
203203
let x = codegen_operand(fx, &x.node);
204204
let y = codegen_operand(fx, &y.node);
205-
let kind = match &kind.node {
206-
Operand::Constant(const_) => crate::constant::eval_mir_constant(fx, const_).0,
207-
Operand::Copy(_) | Operand::Move(_) => unreachable!("{kind:?}"),
205+
let kind = if let Some(const_) = kind.node.constant() {
206+
crate::constant::eval_mir_constant(fx, const_).0
207+
} else {
208+
unreachable!("{kind:?}")
208209
};
209210

210211
let flt_cc = match kind

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /