https://github.com/bjorn3/rustc_codegen_cranelift/issues/743#issuecomment-651108168
Cross posting from https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/bootstrap.20rustc.20using.20cg_clif
Depends on https://github.com/bytecodealliance/wasmtime/pull/1559 and https://github.com/bytecodealliance/wasmtime/pull/1939
Very nice!
@bjorn3 on x86 I assume?
Wondering how hard it would be to try on my arm64 machine
Yes I used x86_64. arm64 doesn't yet work with cg_clif. The aarch64 backend doesn't yet support 128bit integers. Those are used very extensively in the const eval part of rustc. In fact the last thing I had to solve before cg_clif could bootstrap ristc was adding 128bit support to cranelift_frontend::Switch.
Does cranelift not have legalisation for 128 bit integers?
We do have some of it; it might be disabled for the aarch64 backend, though, not sure.
No new style backends have the necessary legalizations enabled. They only enable a small subset.
Also for function parameters and calls the necessary legalizations are part of the abi handling for the old style backends.
Can somebody please review https://github.com/bytecodealliance/wasmtime/pull/1939? It should be easy to do.
@Alex Crichton On https://github.com/bytecodealliance/wasmtime/pull/1559 the macOS builder failed without log. Can you restart it?
eh I wouldn't worry about it, unfortunately we can't restart just one builder
and it passed debug tests on macos so it's unlikely to fail in release anyway
okay
https://github.com/bytecodealliance/wasmtime/pull/1559 has been merged, so it is no longer necessary to patch cg_clif to bootstrap rustc. Only rustc needs to be patched to integrate with cg_clif. https://github.com/bjorn3/rustc_codegen_cranelift/issues/743#issuecomment-660046919
Great work @bjorn3 !
Thanks!
Last updated: Dec 23 2024 at 12:05 UTC