Title
Code reuse in an optimizing compiler
Abstract
This paper describes how the cmcc compiler reuses code---both internally (reuse between different modules) and externally (reuse between versions for different target machines). The key to reuse are the application frameworks developed for global data-flow analysis, code generation, instruction scheduling, and register allocation.The code produced by cmcc is as good as the code produced by the native compilers for the MIPS and SPARC, although significantly less resources have been spent on cmcc (overall, about 6 man years by 2.5 persons). cmcc is implemented in C++, which allowed for a compact expression of the frameworks as class hierarchies. The results support the claim that suitable frameworks facilitate reuse and thereby significantly improve developer effectiveness.
Year
DOI
Venue
1996
10.1145/236337.236342
OOPSLA
Keywords
Field
DocType
data flow analysis,register allocation,optimizing compiler,instruction scheduling,code generation
Programming language,Instruction scheduling,Computer science,Reuse,Compiler,Optimizing compiler,Code generation,Code reuse,Hierarchy
Conference
Volume
Issue
ISSN
31
10
0362-1340
ISBN
Citations 
PageRank 
0-89791-788-X
9
0.99
References 
Authors
17
3
Name
Order
Citations
PageRank
Ali-Reza Adl-Tabatabai197162.68
Thomas R. Gross22807404.74
Guei-Yuan Lueh340137.41