Stream: cranelift

Topic: ✔ regalloc2 tests


view this post on Zulip Kirp (May 14 2024 at 17:50):

I was looking into regalloc2 to investigate having MachineEnv use PRegSet (https://github.com/bytecodealliance/wasmtime/pull/8489#issuecomment-2106379885): running tests however, there seem to be far fewer than in wasmtime and only testing small areas of the code? Is there an additional test suite I may be missing?

This removes the dependency on std::sync::OnceLock by lifting the state out of a static and into the Callee struct. This PR also removes the call_conv parameter since it was not used by any of the ...

view this post on Zulip fitzgen (he/him) (May 14 2024 at 19:51):

I believe the primary testing is the fuzzer when combined with the regalloc checker

view this post on Zulip fitzgen (he/him) (May 14 2024 at 19:52):

https://github.com/bytecodealliance/regalloc2/blob/main/fuzz/fuzz_targets/ion_checker.rs is the main one I believe

A new register allocator. Contribute to bytecodealliance/regalloc2 development by creating an account on GitHub.

view this post on Zulip fitzgen (he/him) (May 14 2024 at 19:53):

you should be able to run it via:

$ cargo fuzz run -s none ion_checker

inside the regalloc2 repo

you'll need to install cargo fuzz if you don't have it yet:

$ cargo install cargo-fuzz

view this post on Zulip Chris Fallin (May 14 2024 at 20:03):

Indeed, we explicitly chose to test via fuzzing first with RA2; any change should be fuzzed for at least a few hours with ion_checker

view this post on Zulip Notification Bot (May 19 2024 at 21:01):

Kirp has marked this topic as resolved.


Last updated: Dec 23 2024 at 12:05 UTC