A retargetable compiler for ANSI C

lcc is a new retargetable compiler for ANSI C. Versions for the VAX, Motorola 68020, SPARC, and MIPS are in production use at Princeton University and at AT&T Bell Laboratories. With a few exceptions, little about lcc is unusual --- it integrates several well engineered, existing techniques --- but it is smaller and faster than most other C compilers, and it generates code of comparable quality, lcc's target-independent front end performs a few simple, but effective, optimizations that contribute to good code; examples include simulating register declarations and partitioning switch statement cases into dense tables. It also implements target-independent function tracing and expression-level profiling.

[1]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[2]  Donald E. Knuth,et al.  An empirical study of FORTRAN programs , 1971, Softw. Pract. Exp..

[3]  Christopher W. Fraser A language for writing code generators , 1989, PLDI '89.

[4]  David R. Hanson Fast allocation and deallocation of memory based on object lifetimes , 1990, Softw. Pract. Exp..

[5]  Jon Louis Bentley,et al.  Writing efficient programs , 1982 .

[6]  Christopher W. Fraser,et al.  Simple register spilling in a retargetable compiler , 1992, Softw. Pract. Exp..

[7]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[8]  Robert L. Bernstein Producing good code for the case statement , 1985, Softw. Pract. Exp..

[9]  P. J. Weinberger The UNIX system: Cheap dynamic instruction counting , 1984, AT&T Bell Laboratories Technical Journal.

[10]  Susan L. Graham,et al.  An execution profiler for modular programs , 1983, Softw. Pract. Exp..

[11]  David R. Hanson,et al.  Simple code optimizations , 1983, Softw. Pract. Exp..

[12]  Ken Thompson A New C Compiler , 1990 .

[13]  Forest Baskett,et al.  The best simple code generation technique for WHILE, FOR, and DO loops , 1978, SIGP.

[14]  Richard L. Sites,et al.  Programming tools: statement counts and procedure timings , 1978, SIGP.

[15]  Ralph E. Griswold,et al.  The Icon programming language , 1983 .

[16]  P. Gács,et al.  Algorithms , 1992 .

[17]  William M. Waite,et al.  The cost of lexical analysis , 1986, Softw. Pract. Exp..

[18]  Christopher W. Fraser,et al.  A code generation interface for ANSI C , 1991, Softw. Pract. Exp..