cmcc: Carnegie Mellon C Compiler

cmcc is a compact optimizing compiler for ANSI C. The cmcc compiler is our platform for compiler research into debugging optimized code, register allocation, scheduling, and code generation (retargetting the compiler to different architectures). The compiler produces code for RISC machines (MIPS, SPARC) as well as for an LIW machine (iWarp)

cmcc is also a vehicle for research on software construction. One of our goals is to keep the compiler small and compact. Therefore the compiler reuses code --- both internally (reuse between different modules) and externally (reuse between versions for different target machines). Key to this reuse are the application frameworks developed for global data-flow analysis, code generation, instruction scheduling, and register allocation.

The compiler is written in C++ and has been ported to DEC's C++ compiler, Visual C++, and the GNU C++ compiler (on SUN and DEC systems).



All the software is available at no charge via anonymous FTP from The directory to look in is given below.

Source code (latest release)
Copyright notice states the terms of the distribution.


The cmcc project is supported in part by Digital and by Intel Corporation.

[School of Computer Science | Carnegie Mellon ]

Comments and questions to our Lab Manager
Jan 30, 1997