33 lines
		
	
	
	
		
			874 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			874 B
		
	
	
	
		
			Text
		
	
	
	
	
	
.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
 | 
						|
.]]).
 |