Register allocation
From open-encyclopedia.com - the free encyclopedia.
In compiler optimization, register allocation is the process of multiplexing a large number of target program variables onto a small number of CPU registers.
Most computer programs need to process large amounts of different data items. However, most CPUs can only perform operations on a small fixed number of "slots" called registers. Therefore the data items to be processed have to be loaded into and out of the registers from RAM at the moments they are needed.
Register allocation is the process of planning this in advance when constructing machine code, with the aim to keep execution of the target program as fast as possible (usually by keeping the number of loads and stores between RAM and registers as small as possible).