Building a New Flash
Summary
The post argues that Rust's current ABI is overly conservative and proposes a new, more efficient calling convention controlled by -Zcallconv (legacy vs fast). It outlines a detailed plan to maximize register usage, flatten and pack complex types, and generate shims to interoperate with LLVM, aiming for an optimization-driven ABI and even profile-guided variants. The piece also discusses debugging, safety, and the practical challenges of implementing such an ABI in rustc and LLVM.