A Specializer for C: Tempo
Renaud Marlet · 2012
This chapter describes the nature and structure of a particular specializer called Tempo. Tempo is an offline specializer for the C language. It enables both compile-time and runtime specialization in a standardized framework. The chapter first provides a brief history of Tempo, explaining how the need for Tempo appeared and how the tool was developed. Next, it discusses why Tempo is different from other specializers and how it was a “breakthrough”. Then, it explains the general architecture of Tempo, and gives a few indications about the compromises made in Tempo, which have enabled, despite limited means, and the processing of realistic programs. In addition, the chapter describes a few systems that have been developed based on Tempo, by using it as an internal component. Finally, the chapter presents two other specializers for C language that are similar to Tempo: C-Mix and DyC.