Moving work into the middle end

Day 1 | 11:05 | 00:20 | K.3.201 | Jon Chesterfield


Note: I'm reworking this at the moment, some things won't work.

The stream isn't available yet! Check back at 11:05.
Get involved in the conversation!Join the chat

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?


Links