| ▲ | dist1ll 2 hours ago | |
Sure, these days I'm mostly working on a few compilers. Let's say I want to make a fixed-size SSA IR. Each instruction has an opcode and two operands (which are essentially pointers to other instructions). The IR is populated in one phase, and then lowered in the next. During lowering I run a few peephole and code motion optimizations on the IR, and then do regalloc + asm codegen. During that pass the IR is mutated and indices are invalidated/updated. The important thing is that this phase is extremely performance-critical. | ||
| ▲ | wrs 36 minutes ago | parent [-] | |
And it's fine for a compiler to panic when it violates an assumption. Not so with the Cloudflare code under discussion. | ||