Linear scan register allocation on SSA

bernsteinbear.com

37 points by surprisetalk 4 days ago


o11c - 6 hours ago

> In fact, you might even consider not allocating a register greedily. What might that look like? I have no idea.

One case I'm aware of: if your ISA supports arbitrary memory operands like x86, rarely-used variables can be operated-on entirely on the stack. Historically this was something ICC did better than GCC, though it became much less relevant with the shift to 64-bit bringing more registers.

fuhsnn - 4 days ago

Another great overview of Go compiler's register allocation: https://developers.redhat.com/articles/2024/09/24/go-compile...