Cranelift, Part 2: Compiler Efficiency, CFGs, and a Branch Peephole Optimizer Jan 22, 2021 This post is the second in a three-part series about Cranelift. In the first post, I described the context around Cranelift and our project to replace its backend code-generation infrastructure, and detailed t...
Really looking forward to the next post in this series.
“This has been a deep dive into the world of branch simplification, with an emphasis on how we engineered Cranelift’s new backend to provide very good compilation speed taking control-flow handling and branch lowering/simplification as an example. We believe that there may be other significant opportunities to rethink, and carefully engineer, core algorithms in the compiler backend with specific attention to maximizing streaming behavior, minimizing indirection, and minimizing passes over data. This is an interesting and exciting engineering pursuit largely because it goes beyond the world of “theoretical standard compiler-book algorithms” and calls on problem solving to find clever new design tricks.”Posted on 2021-02-21T03:42:41+0000