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
 | |
| .]]).
 |