34 lines
874 B
Plaintext
34 lines
874 B
Plaintext
.bp
|
|
.NH 1
|
|
Register Allocation
|
|
.NH 2
|
|
Introduction
|
|
.PP
|
|
The efficient usage of the general purpose registers
|
|
of the target machine plays a key role in any optimizing compiler.
|
|
This subject, often referred to as \fIRegister Allocation\fR,
|
|
has great impact on both the code generator and the
|
|
optimizing part of such a compiler.
|
|
The code generator needs registers for at least the evaluation of
|
|
arithmetic expressions;
|
|
the optimizer uses the registers to decrease the access costs
|
|
of frequently used entities (such as variables).
|
|
The design of an optimizing compiler must pay great
|
|
attention to the cooperation of optimization, register allocation
|
|
and code generation.
|
|
.PP
|
|
Register allocation has received much attention in literature (see
|
|
.[
|
|
leverett register allocation compilers
|
|
.]
|
|
.[
|
|
chaitin register coloring
|
|
.]
|
|
.[
|
|
freiburghouse usage counts
|
|
.]
|
|
and
|
|
.[~[
|
|
sites register
|
|
.]]).
|