Brussels / 1 & 2 February 2025

schedule

Moving work into the middle end


The IR passes of LLVM are a happy place. Easy to reason about, easy to test, easy to debug. SSA form is a really great idea.

This talk sketches the (positive!) experience of writing a couple of classically back end tasks in the middle end instead of their proper place. One is a variant on register allocation - assigning variables to offsets in some buffer. The other is the ABI themed challenge of eliminating variadic functions. Maybe time will allow for an example of pulling work out of clang.

More speculatively, what else could be lifted to IR?

Speakers

Jon Chesterfield

Links