cfallin opened PR #11533 from cfallin:regalloc2-0.13.1-fastalloc to bytecodealliance:main:
Thanks to @d-sonuga in bytecodealliance/regalloc2#233, the fastalloc (single-pass) register allocator now supports arbitrary numbers of non-register-constrained defs, which we use on call instructions after #10502. This should be sufficient to resolve the issues that had led us to disable fastalloc temporarily in #10554.
This PR reverts that disabling step; adds Cranelift-with-single-pass as a new compiler strategy (alongside Cranelift, Winch, and Cranelift/Pulley) to all of our wast/spec tests and fuzzing; and pulls in the new RA2.
Adding to our compiler strategy list is perhaps the most controversial thing here, but I believe it's probably appropriate to add the extra dimension here to ensure fastalloc stays working (it's a great feature to have!). Note that this surfaces as a new compiler strategy rather than a separate config dimension (like GC backend is currently) because it applies only to Cranelift, not Winch.
cfallin requested alexcrichton for a review on PR #11533.
cfallin requested wasmtime-compiler-reviewers for a review on PR #11533.
cfallin requested wasmtime-fuzz-reviewers for a review on PR #11533.
cfallin requested wasmtime-core-reviewers for a review on PR #11533.
cfallin requested wasmtime-default-reviewers for a review on PR #11533.
cfallin updated PR #11533.
alexcrichton submitted PR review:
Nice!
Personally though I'd say we can ignore the new compiler strategy part. Fuzzing will already run all
*.wasttests will all various options in addition to all the other fuzz targets we have. Given that I feel that's sufficient coverage worth the tradeoff in CI time from running the whole suite with another compiler. Another example is that Pulley for example in theory would want the single-pass option too but that's not modeled here yet (but I think that's niche enough it's definitely not worth spending lots of CI time making sure that works)
cfallin updated PR #11533.
cfallin commented on PR #11533:
Fair enough! Removed that commit, so now it's just a clean update of RA2 + revert of #10554.
cfallin has enabled auto merge for PR #11533.
cfallin has disabled auto merge for PR #11533.
cfallin has enabled auto merge for PR #11533.
cfallin commented on PR #11533:
The
cargo vetCI job failed with a bad download (more Internet weather) and I'm not seeing an option to re-run it; CI itself also appears wedged in that it can't cancel and the "Record the result" job is queued but not starting.
alexcrichton commented on PR #11533:
The retry button doesn't show up until everything finishes, and CI is overflowing with jobs right now due to a very large queue due to the network failures.
cfallin has disabled auto merge for PR #11533.
cfallin merged PR #11533.
Last updated: Dec 06 2025 at 07:03 UTC