Pristine Ack-5.5
[Ack-5.5.git] / doc / ego / ra / ra1
1 .bp
2 .NH 1
3 Register Allocation
4 .NH 2
5 Introduction
6 .PP
7 The efficient usage of the general purpose registers
8 of the target machine plays a key role in any optimizing compiler.
9 This subject, often referred to as \fIRegister Allocation\fR,
10 has great impact on both the code generator and the
11 optimizing part of such a compiler.
12 The code generator needs registers for at least the evaluation of
13 arithmetic expressions;
14 the optimizer uses the registers to decrease the access costs
15 of frequently used entities (such as variables).
16 The design of an optimizing compiler must pay great
17 attention to the cooperation of optimization, register allocation
18 and code generation.
19 .PP
20 Register allocation has received much attention in literature (see
21 .[
22 leverett register allocation compilers
23 .]
24 .[
25 chaitin register coloring
26 .]
27 .[
28 freiburghouse usage counts
29 .]
30 and
31 .[~[
32 sites register
33 .]]).