kirancodes.me
To Proof Maintenance & Beyond!

CCG: A Prototype Coagulating Code Generator

W. G. Morris

Abstract

This paper describes the design and performance of CCG, a prototype code generator based on couguiation.Coagulation orders code generation using a run-time profile for the program being compiled.By treating busy parts of a program first and using the strategy of local optimality, CCG maximizes the benefit of careful instruction selection, register allocation and interprocedural optimization while avoiding unnecessary data movement in busy sections.Coagulation radically alters standard techniques for code generation, achieving highly efficient code without graph-coloring register allocation or peephole optimization.Experimental results showing an average 25% improvement over the GNU C compiler suggest, that compilation order is crucial and that coagulation can outperform current code generator technology.

Related papers