A system comprising: a processor including: one or more cores; a register file including a plurality of memory access registers to store memory range information associated with a plurality of memory access operations of a loop configured to be executed as a plurality of iterations, wherein the plurality of iterations include first, second and third iterations, each iteration configured with a same schedule of lifetimes for the operations, and executed overlapped with at least another iteration, wherein the memory range information references one or more memory locations within a memory to be accessed when an operation of the plurality of operations is to execute; and register assignment means for assigning each of the memory access registers to a corresponding memory access operation of the loop, wherein the assignments are made according to a rotation schedule; wherein one of the one or more cores is to perform a comparison of data stored in a first memory access register to data stored in at least one other of the memory access registers to determine whether an alias exists, wherein an alias exists if there are memory access operations dependent on one another; and wherein the memory is coupled to the processor; characterized in that: the memory access registers assigned to the respective operations of the first iteration are configured to be re-used by being assigned to the corresponding operations of the third iteration, if the lifetimes of the corresponding operations in the first and third iterations are determined as non-lapping time periods, wherein the second iteration overlaps with both the first and third iterations. one or more cores; a register file including a plurality of memory access registers to store memory range information associated with a plurality of memory access operations of a loop configured to be executed as a plurality of iterations, wherein the plurality of iterations include first, second and third iterations, each iteration configured with a same schedule of lifetimes for the operations, and executed overlapped with at least another iteration, wherein the memory range information references one or more memory locations within a memory to be accessed when an operation of the plurality of operations is to execute; and register assignment means for assigning each of the memory access registers to a corresponding memory access operation of the loop, wherein the assignments are made according to a rotation schedule; wherein one of the one or more cores is to perform a comparison of data stored in a first memory access register to data stored in at least one other of the memory access registers to determine whether an alias exists, wherein an alias exists if there are memory access operations dependent on one another; and wherein the memory is coupled to the processor; characterized in that: the memory access registers assigned to the respective operations of the first iteration are configured to be re-used by being assigned to the corresponding operations of the third iteration, if the lifetimes of the corresponding operations in the first and third iterations are determined as non-lapping time periods, wherein the second iteration overlaps with both the first and third iterations.