FlexCC2: An Optimizing Retargetable C Compiler for DSP Processors
The design of efficient compilers for embedded processors has emerged with the growing importance of embedded application-specific processors and DSPs in consumer, multimedia and communication applications. We present in this paper the FlexCC2 compiler. FlexCC2 is a retargetable compiler for embedded processors, part of the FlexWare embedded software development environment. Application specific processors often contain specific and dedicated features like specific instructions that traditional compilers hardly accommodate. In this context, compilers able to produce high quality code, both in size and performance while being easily retargetable and able to use processor specific instructions represent a particular competitive differentiation. FlexCC2 offers such a differentiation to its users.
KeywordsIntermediate Representation Register Allocation Embed Processor Software Pipeline Reservation Table
Unable to display preview. Download preview PDF.
- 1.ACE Associated Compiler Expert bv. The CoSy Framework, a Compiler Construction System. Ref. CoSy-8006-fw, 2000.Google Scholar
- 2.A. Appel, J. Davidson, and N. Ramsey. The Zephyr compiler infrastructure. Internal Report, http://www.RCS.virginia.edu/zephyr, 1998.
- 3.D. Callahan, B. Koblenz. Register Allocation via Hierarchical Graph Coloring. Proceedings of the ACM SIGPLAN’91 Conference on Programming Languages Design and Implementation, Volume 26, June 1991, Pages 192–202.Google Scholar
- 4.Z. Chamski, C. Eisenbeis, E. Rohou. Flexible Issue Slot Assignment for VLIW Architectures. Proceedings of the Software and Compilers for Embedded Systems Symposium, S COP ES’99, September 1999.Google Scholar
- 6.P. Guillaume. Contribution aux Aspects Dorsaux de la Synthèse de Systèmes Monopuces. Ph.D thesis. University of Grenoble, June 1999.Google Scholar
- 7.W-M. Hwu & all. The Superblock: An effective Technique for VLIW and Superscalar Compilation. Journal of supercomputing A:229–248, 1993.Google Scholar
- 8.R. Leupers. Code Optimization Techniques for Embedded Processors, Methods, Algorithms and Tools. Kluwer Academic Publishers, 2000.Google Scholar
- 9.S. Liao, Code Generation and Optimization for Embedded Digital Signal Processors. Ph.D. thesis, Massachusetts Institute of Technology, 1996 Google Scholar
- 10.C. Liem. Retargetable Compilers for Embedded Core Processors. Kluwer Academic Publishers, 1997.Google Scholar
- 11.C. Liem, P. Paulin. ”Compilation Techniques and Tools for Embedded Processor Architectures”, in “Hardware/Software Co-Design: Principles and Practice, ” J. Staunstrup, W. Wolf (editors), Kluwer Academic Publishers, 1997.Google Scholar
- 12.P. Paulin, M. Santana. FlexWare: A Retargetable Embedded Software Development Environment for Application-Specific Instruction-set Processors. IEEE Design & Test Magazine, Special Issue on Embedded Processors, Summer 2002.Google Scholar
- 13.G. Pokam, F. Bodin. A Retargetable Preprocessor for Multimedia Instructions. Proceedings of the 9th workshop on Compilers for Parallel Computers (CPC’2001), June 2001.Google Scholar
- 14.B. Ramakrishna Rau. Iterative Modulo Scheduling. Hewlett Packard HP:-94-115 research report, November 1995.Google Scholar
- 15.E. Rohou, F. Bodin, A. Seznec. SALTO: System for assembly language transformation and optimization. Technical report 1032, IRISA, September 1996.Google Scholar
- 16.M.D. Smith and G. Holloway. The Machine-SUIF Documentation Set. Technical report, Harvard University, 2000.Google Scholar
- 17.P.H. Sweany. Inter-Block Code Motion Without Copies. Ph.D thesis, Colorado State University, 1992.Google Scholar
- 18.R. Wilson & all. SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers. ACM SIGPLAN Notices, 29(12), Dec. 1996 Google Scholar