“…Indeed, if we succeed in building a software pipelined schedule that does not produce more than R values simultaneously alive, then we can build a cyclic register allocation with R available registers [2,13]. We can use either loop unrolling [2], inserting move operations [7], or a hardware rotating register file when available [13] 2 . Therefore, a great amount of work tries to schedule a loop such that it does not use more than R values simultaneously alive [8,22,12,14,11,4,15,6,9].…”