Email or username:

Password:

Forgot your password?
yosh

I found this via Alex Crichton:

A new paper has been published fuzzing Rust’s new Cranelift backend. Being relatively new compared to the LLVM backend, the author hypothesized that it would likely be more buggy.

But nope, not at all. They were unable to find *any* new bugs using their fuzzer (Rustlantis). While that doesn’t mean Cranelift is free from bugs, it’s still a strong signal for how reliable we can expect Cranelift to be.

ethz.ch/content/dam/ethz/speci

7 comments
yosh

The author hypothesized that this is likely because Cranelift performs fewer optimizations compared to LLVM. But also because of Cranelift’s focus on fuzzing and formal methods to preserve quality.

My understanding is, and I may be wrong here, that the goal is to over time increase the number of optimizations Cranelift can perform. As Cranelift’s scope broadens, it’s going to be really interesting to see its approach to engineering scale up.

gaytabase

@yosh well, they're trying to make more optimizations possible. but they're doing some things a little differently. phi nodes in llvm are incredibly powerful but also oh god. so they came up with something else that they think they can get most of the benefit from without the higher costs.

waffle

@Gankra @yosh@yosh.is if you pass 11 bools you deserve ICE actually, 11 bools in a struct is kinda reasonable

Afonso Bordado

@Gankra @yosh ABI Café was really awesome to work with when adding Windows support to cg_clif. Thanks for working on it!

Aiono

@yosh
This can be a good use case to argue favor of formal tools in software development that it actually allows you to develop faster and fewer bugs at the same time.

Go Up