- 511 Downloads
C-Mix is a partial evaluator that is able to specialize strictly conforming ISO C programs. C-Mix generates specialized versions of functions, unrolls loops and pre-computes expressions and control constructs that depend on known data only. These transformations are similar to what optimizing compilers do, but since C-Mix takes some of the program’s input into account, it can potentially do better. This article gives a bird’s-eye view of several aspects of the C-Mix system: how it is used, a few examples of what it can do, and some information on how it works.
KeywordsResidual Program Partial Evaluation Source Program User Annotation Source File
Unable to display preview. Download preview PDF.
- Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1986.Google Scholar
- Lars Ole Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, Department of Computer Science, University of Copenhagen (DIKU, Copenhagen, Denmark, May 1994.Google Scholar
- Peter Hoist Andersen. Partially static binding-time types in C-Mix. Unpublished, November 1997.Google Scholar
- ANSI. American National Standard for Programming Languages — C. New York, USA, 1990. ANSI/ISO 9899-1990.Google Scholar
- C. Consel, L. Hornof, F. Noel, and J. Noye. A uniform approach for compile-time and run-time specialization. Lecture Notes in Computer Science, 1110:54–--, 1996.Google Scholar
- Fritz Henglein. Efficient type inference for higher-order binding-time analysis. In J. Hughes, editor, FPCA, pages 448–472. 5th ACM Conference, Cambridge, MA, USA, Berlin: Springer-Verlag, August 1991. Lecture Notes in Computer Science, Vol. 523.Google Scholar
- L. Hornof and Jacques Noye. Accurate binding-time analysis for imperative languages: Flow, context and return sensitivity. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM-97), volume 32, 12 of ACM SIGPLAN Notices, pages 63–73, New York, June l2–13 1997. ACM Press.zbMATHGoogle Scholar
- Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.Google Scholar