/* Compute the earliest and latest liveness for each variable. In the case that * a variable is accessed inside of a loop, we promote its liveness to extend * to at least the range of the entire loop. We also do this for nodes produced * before the loop, so that their temp register is protected from being * overriden during the whole loop. */
Yeah, I like that better.
Now I think we could extend the liveness only if `instr->index < loop_start`.
I believe you're right (and in the interest of making more registers available it's probably a good idea).