A Bibliography of Publications about the lcc C compiler

Nelson H. F. Beebe University of Utah

Department of Mathematics, 110 LCB

155 S 1400 E RM 233 Salt Lake City, UT 84112-0090

USA

Tel: +1 801 581 5254 FAX: +1 801 581 4148

E-mail: beebe@math.utah.edu, beebe@acm.org,
beebe@computer.org (Internet)
WWW URL: http://www.math.utah.edu/~beebe/

05 February 2021 Version 1.16

Title word cross-reference

.NET [Han04].

22nd [ACM95].

3 [Fer95].

’95 [ACM95].

access [DZ03]. Allocation [Han90, PLM01, PF92]. ANSI [FH91, Fra91, Pro95b]. architecture [FTW^{+}01]. architecture/compiler [FTW^{+}01]. architectures [KB02]. ASDL [Han98, Han99a]. Automata [Pro95a].

Banked [PLM01]. Based [Han90, EF03]. Branch [BL93]. BURS [Pro95a].

Bytecode [EF01].

’C [PHEK99, FH91, Fra91, FH95a, FH95b, FH96b, FH96a, Han04, Pro95b]. C# [HP04]. California [ACM95]. chains [ZKL01]. characterization [FTW^{+}01]. clustered [KB02]. co [FTW^{+}01]. co-exploration [FTW^{+}01]. Code [FH91, PEK97, EP94, EF03, FHP92, KB02, PHEK99]. code-generator [FHP92]. Common [Han04]. Compile [FH96b]. Compiler [DZ03, FH92, FH95a, FH95b, FH96a, FTW^{+}01, Fra91, HP04, PHEK99]. Compiler-directed [DZ03]. Compilers [JP01]. Compression [EF01, EF03]. Conference [ACM95].

data [DZ03]. DCG [EP94]. Deallocation [Han90]. Debugger [HR96, Han99b, RH92]. dependence [ZKL01]. Design [FTW^{+}01, FH95b]. digital [JP01]. directed [DZ03]. duplication [SSS01]. Dynamic [PEK97, EP94, PHEK99].

Early [Han98, Han99a]. effective [Fer95]. Efficient [EKR96, EP94, FHP92]. Engineering [FHP92]. Experience [Han98, Han99a]. exploration [FTW^{+}01].

Fast [Han90, PEK97]. Faster [FH96b]. File [PLM01]. Flexible [PEK97]. Francisco [ACM95]. free [BL93].

Generation [FH91, PEK97, Pro95a, EP94, KB02, PHEK99, ZKL01]. generator [BC93, FHP92]. Grammar [EF01, EF03]. Grammar-based [EF03].

High [PEK97]. High-level [PEK97].

Implementation [FH95b]. Independent [HR96, Han99b]. initial [ZKL01]. instructions [SSS01]. integrated [KB02]. Interface [FH91]. Intermediate [Han04]. interpreted [EF03]. interpreter [Pro95b].

January [ACM95].

Language [GA01, PHEK99, Han04]. Languages [ACM95]. lcc [Han99a, Han98]. lcc.NET [Han04]. Lean [FH96a]. level [PEK97]. Lifetimes [Han90]. link [Fer95]. link-time [Fer95]. Linux [FH96b].

Machine [HR96, Han99b]. Machine-Independent [HR96, Han99b]. Memory [Han90]. Minimalist [FH95a]. minimization [ZKL01]. Modula [Fer95]. Modula-3 [Fer95]. monitoring [DZ03]. multiway [EKR96].

Object [Han90]. Optimal [KB02]. Optimization [JP01, Fer95]. optimizer [JP01]. Optimizing [Pro95b]. papers [ACM95]. POPL [ACM95]. portable [JP01]. prediction [BL93]. presented [ACM95]. Principles [ACM95]. Probabilistic [PF92]. processors [JP01]. Profiled [EF01]. program [DZ03]. Programming [ACM95]. programs [Fer95].

radix [EKR96]. RE2C [BC93]. record [ACM95]. Regions [GA01]. Register [FH92, PLM01, SSS01, PF92, ZKL01]. register-reuse [ZKL01]. Register-sensitive [SSS01]. research [HP04]. Retargetable [FH92, FH95a, FH95b, FH96a, EP94, Fra91, RH92]. reuse [ZKL01]. revisited [Han99b]. Rewriting [EF01]. run [DZ03]. run-time [DZ03].

San [ACM95]. scanner [BC93]. search [EKR96]. selection [SSS01]. sensitive [SSS01]. sequencing [SSS01]. SIGACT [ACM95]. signal [JP01]. SIGPLAN [ACM95]. SIGPLAN-SIGACT [ACM95]. Simple [Fer95, FH92, FHP92]. space [FTW^{+}01]. Spilling [FH92]. Standard [Han04]. superoperators [Pro95b]. Support [GA01]. Symposium [ACM95]. Synthesis [FTW^{+}01]. System [PEK97, EP94]. systematic [ZKL01].

targeting [Han04]. tcc [PHEK99, PEK97]. time [DZ03, Fer95]. Tools [FTW^{+}01]. trees [EKR96].

versatile [BC93]. very [JP01]. via [EF01]. VLIW [KB02].

References

ACM:1995:CRP

[ACM95] ACM, editor. Conference record of POPL ’95, 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the Symposium: San Francisco, California, January 22–25, 1995. ACM Press, New York, NY, USA, 1995. ISBN 0-89791-692-1. LCCN QA 76.7 A11 1995. URL http:

//www.acm.org/pubs/contents/
proceedings/plan/199448/index.

html. ACM order number: 549950. Bumbulis:1993:RMV

[BC93] Peter Bumbulis and Donald D.

Cowan. RE2C: a more versatile scanner generator. ACM Letters on Programming Languages and Systems, 2(4):70–84, March 1993. CODEN ALPSE8. ISSN 1057-4514 (print), 1557-7384 (elec-

tronic). URL http://www.acm.
org/pubs/toc/Abstracts/1057-
4514/176487.html.

Ball:1993:BPF

[BL93] Thomas Ball and James R.

Larus. Branch prediction for free. ACM SIGPLAN Notices, 28(6):300–313, June 1993. CO-DEN SINODQ. ISBN 0-89791-598-4. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

URL http://www.acm.org:80/
pubs/citations/proceedings/pldi/
155090/p300-ball/.

Ding:2003:CDR

[DZ03] Chen Ding and Yutao Zhong.

Compiler-directed run-time monitoring of program data access. ACM SIGPLAN Notices, 38(2s):1– 12, February 2003. CODEN SIN-ODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

Evans:2001:BCP

[EF01] William S. Evans and Christopher W. Fraser. Bytecode compression via profiled grammar rewriting. ACM SIGPLAN Notices, 36 (5):148–155, May 2001. CODEN SINODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

Evans:2003:GBC

[EF03] William S. Evans and Christopher W. Fraser. Grammar-based compression of interpreted code. Communications of the ACM, 46 (8):61–66, August 2003. CODEN CACMA2. ISSN 0001-0782 (print), 1557-7317 (electronic).

Erlingsson:1996:EMR

[EKR96] Úlfar Erlingsson, Mukkai Krishnamoorthy, and T. V. Raman. Efficient multiway radix search trees. Information Processing Letters, 60 (3):115–120, November 11, 1996. CODEN IFPLAT. ISSN 0020-0190 (print), 1872-6119 (electronic).

                                        URL ftp://ftp.cs.princeton.
                                        edu/pub/packages/lcc/contrib/
                                        mrst.shar;   http://www.cs.princeton.
                                        edu/software/lcc/doc/mrst.pdf.

Engler:1994:DER

[EP94] Dawson R. Engler and Todd A. Proebsting. DCG: an efficient, retargetable dynamic code generation system. ACM SIGPLAN Notices, 29(11):263–272, November 1994. CODEN SINODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

                                        URL http://www.acm.org:80/

pubs/citations/proceedings/asplos/
195473/p263-engler/.

Fernandez:1995:SEL

[Fer95] Mary F. Fernández. Simple and effective link-time optimization of Modula-3 programs. ACM SIGPLAN Notices, 30(6):103–115, June 1995. CODEN SINODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

URL http://www.acm.org:80/
pubs/citations/proceedings/pldi/
207110/p103-fernandez/.

Fraser:1991:CGI

[FH91] Christopher W. Fraser and David R.

Hanson. A code generation interface for ANSI C. Software—Practice and Experience, 21(9):963–988, September 1991. CODEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic). URL http://

storage.webhop.net/documents/
interface.pdf.

Fraser:1992:SRS

[FH92] Christopher W. Fraser and David R.

Hanson. Simple register spilling in a retargetable compiler. Software—Practice and Experience, 22 (1):85–99, January 1992. CO-DEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic).

URL http://storage.webhop.
net/documents/spills.pdf.

Fraser:1995:MRC

[FH95a] C. W. Fraser and D. R. Hanson. A minimalist’s retargetable C compiler. World Wide Web document, April 28, 1995. URL

http://www.cs.princeton.edu/
software/lcc/doc/lcc.pdf. Talk

at the University of Delaware.

Fraser:1995:RCC

[FH95b] Chris W. Fraser and David R. Hanson. A Retargetable C Compiler: Design and Implementation. Benjamin/Cummings Pub. Co., Redwood City, CA, USA, 1995. ISBN 0-8053-1670-1. xv + 564 pp. LCCN QA76.73.C15F75 1995. US$55.95.

URL https://www.pearson.com/
us/higher-education/program/
Hanson-Retargetable-C-Compiler-
A-Design-and-Implementation/

PGM166351.html. From the authors’ announcement: “… this book is an example of a ‘literate program.’ Like TEX: The Program by D. E. Knuth (Addison-Wesley, 1986), this book is lcc’s source code and the prose that describes it. The code is presented in the order that best suits understanding, not in the order dictated by the C programming language. The source code that appears on the diskette is extracted automatically from the book’s text files. … The distribution is available via ‘anony-

mous’ ftp from ftp.cs.princeton.
edu (128.112.152.13) in the di-

rectory pub/lcc. … Additional information about lcc and about our book is available on the WWW at

URL http://www.cs.princeton.
edu/software/lcc.”.

Fraser:1996:LRC

[FH96a] C. W. Fraser and D. R. Hanson. A lean retargetable C compiler. World Wide Web document, April 4, 1996.

URL http://www.cs.princeton.

edu/software/lcc/doc/lean.pdf.

Talk at New York University.

Fraser:1996:CCF

[FH96b] Christopher W. Fraser and David R.

Hanson. Compile C faster on Linux. Linux Journal, 25:32– 33, May 1996. CODEN LI-JOFX. ISSN 1075-3583 (print), 1938-3827 (electronic). URL

http://www.cs.princeton.edu/
software/lcc/doc/linux.html.

Fraser:1992:ESE

[FHP92] Christopher W. Fraser, David R.

Hanson, and Todd A. Proebsting. Engineering a simple, efficient code-generator generator. ACM Letters on Programming Languages and Systems, 1(3):213–226, September 1992. CODEN ALPSE8. ISSN 1057-4514 (print), 1557-7384 (electronic). URL http://

storage.webhop.net/documents/
iburg.pdf;   http://www.acm.
org/pubs/toc/Abstracts/1057-
4514/151642.html;   http://www.
cs.princeton.edu/software/iburg/

.

Fraser:1991:RCA

[Fra91] Christopher W. Fraser. A retargetable compiler for ANSI C. ACM SIGPLAN Notices, 26(10): 29–43, October 1991. CO-DEN SINODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic). URL http://

storage.webhop.net/documents/
overview.pdf.

Fischer:2001:SDT

[FTW^{+}01] Dirk Fischer, Jürgen Teich, Ralph Weper, Uwe Kastens, and Michael Thies. Synthesis and design tools: Design space characterization for architecture/compiler co-exploration. In Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems, pages 108–115. ACM Press, New York, NY, USA, 2001. ISBN 1-58113-399-5.

Gay:2001:LSR

[GA01] David Gay and Alex Aiken. Language support for regions. ACM SIGPLAN Notices, 36(5):70–80, May 2001. CODEN SINODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

Hanson:1990:FAD

[Han90] David R. Hanson. Fast allocation and deallocation of memory based on object lifetimes. Software—Practice and Experience, 20 (1):5–12, January 1990. CODEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic). URL http:

                                        //drhanson.s3.amazonaws.com/
                                        storage/documents/fastalloc.
                                        pdf.

Hanson:1998:EEA

[Han98] D. R. Hanson. Early experience with ASDL in lcc. World Wide Web document, June 19, 1998. URL

                                        http://www.cs.princeton.edu/
                                        software/lcc/doc/nci@pldi98.

pdf. National Compiler Infrastructure Tutorial, SIGPLAN’98 Conference on Programming Language Design and Implementation, Montréal, Québec, Canada.

Hanson:1999:EEA

[Han99a] David R. Hanson. Early experience with ASDL in lcc. Software—Practice and Experience, 29(5):417–435, April 25, 1999. CODEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic). URL http://

storage.webhop.net/documents/
asdl.pdf;   http://www.cs.princeton.
edu/software/lcc/asdl.html;
http://www3.interscience.wiley.
com/cgi-bin/abstract?ID=55003854;
http://www3.interscience.wiley.
com/cgi-bin/fulltext?ID=55003854&
PLACEBO=IE.pdf.

Hanson:1999:MID

[Han99b] David R. Hanson. A machineindependent debugger — revisited. Software—Practice and Experience, 29(10):849–862, August 1999. CODEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic). URL http:/

/www3.interscience.wiley.com/
cgi-bin/abstract?ID=63001366;
http://www3.interscience.wiley.
com/cgi-bin/fulltext?ID=63001366&
PLACEBO=IE.pdf.

Hanson:2004:LNT

[Han04] David R. Hanson. lcc.NET: targeting the .NET Common Intermediate Language from Standard C. Software—Practice and Experience, 34 (3):265–286, March 2004. CODEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic).

Hanson:2004:RCC

[HP04] David R. Hanson and Todd A.

Proebsting. A research C# compiler. Software—Practice and Experience, 34(13):1211–1224, November 10, 2004. CODEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic). URL

ftp://ftp.research.microsoft.
com/pub/tr/tr-2003-32.pdf;
http://research.microsoft.com/
research/pubs/view.aspx?msr_
tr_id=MSR-TR-2003-32.

Hanson:1996:MID

[HR96] David R. Hanson and Mukund Raghavachari. A machine-independent debugger. Software—Practice and Experience, 26(11):1277–1299, November 1996. CODEN SPEXBL. ISSN 0038-0644 (print), 1097-024X (electronic). URL http://

storage.webhop.net/documents/
cdb.pdf;   http://storage.webhop.
net/documents/cdbtalk.pdf;
http://www.cs.princeton.edu/
software/lcc/cdb;   http://www3.
interscience.wiley.com/cgi-bin/
abstract?ID=16773.

Jung:2001:COV

[JP01] Sungjoon Jung and Yunheung Paek. Compilers and optimization: The very portable optimizer for digital signal processors. In CASES 01, November 16–17, 2001, Atlanta, Georgia, USA: Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems, pages 84–92. ACM Press, New York, NY, USA, November 2001. ISBN 1-58113-399-5.

Kessler:2002:OIC

[KB02] Christoph Kessler and Andrzej Bednarski. Optimal integrated code generation for clustered VLIW architectures. ACM SIGPLAN Notices, 37(7):102–111, July 2002. CO-DEN SINODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

Poletto:1997:TSF

[PEK97] Massimiliano Poletto, Dawson R.

Engler, and M. Frans Kaashoek. tcc: A system for fast, flexible, and high-level dynamic code generation. ACM SIGPLAN Notices, 32(5):109–121, May 1997. CO-DEN SINODQ. ISBN 0-89791-907-6. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

URL http://www.acm.org:80/
pubs/citations/proceedings/pldi/
258915/p109-poletto/.

Proebsting:1992:PRA

[PF92] Todd A. Proebsting and Charles N.

Fischer. Probabilistic register allocation. ACM SIGPLAN Notices, 27(7):300–310, July 1992. CO-DEN SINODQ. ISBN 0-89791-475-9. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

URL http://www.acm.org:80/
pubs/citations/proceedings/pldi/
143095/p300-proebsting/.

Poletto:1999:CTL

[PHEK99] Massimiliano Poletto, Wilson C.

Hsieh, Dawson R. Engler, and M. Frans Kaashoek. ’C and tcc: a language and compiler for dynamic code generation. ACM Transactions on Programming Languages and Systems, 21(2):324–369, March 1999. CODEN ATPSDT. ISSN 0164-0925 (print), 1558-4593 (elec-

                                        tronic). URL http://www.acm.
                                        org/pubs/citations/journals/
                                        toplas/1999-21-2/p324-poletto/

.

Park:2001:RAB

[PLM01] Jinpyo Park, Je-Hyung Lee, and Soo-Mook Moon. Register allocation for banked register file. ACM SIGPLAN Notices, 36(8):39– 47, August 2001. CODEN SIN-ODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).

Proebsting:1995:BAG

[Pro95a] Todd A. Proebsting. BURS automata generation. ACM Transactions on Programming Languages and Systems, 17(3):461–486, May 1995. CODEN ATPSDT. ISSN 0164-0925 (print), 1558-4593 (elec-

                                        tronic). URL http://www.acm.
                                        org/pubs/toc/Abstracts/0164-
                                        0925/203098.html.

Proebsting:1995:OAC

[Pro95b] Todd A. Proebsting. Optimizing an ANSI C interpreter with superoperators. In ACM [ACM95], pages 322–332. ISBN 0-89791-692-1. LCCN QA 76.7 A11 1995.

                                        URL http://www.acm.org:80/
                                        pubs/citations/proceedings/plan/
                                        199448/p322-proebsting/. ACM

order number: 549950.

Ramsey:1992:RD

[RH92] Norman Ramsey and David R. Hanson. A retargetable debugger. ACM SIGPLAN Notices, 27(7):22–31, July 1992. CODEN SINODQ. ISBN 0-89791-475-9. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic). URL http://

storage.webhop.net/documents/
retargetable.pdf;   http://www.
acm.org:80/pubs/citations/proceedings/
pldi/143095/p22-ramsey/.

Sarkar:2001:RSS

[SSS01] Vivek Sarkar, Mauricio J. Serrano, and Barbara B. Simons. Registersensitive selection, duplication, and sequencing of instructions. In ICS’01 Sorrento, Italy: Proceedings of the 15th international conference on Supercomputing, pages 277–288. ACM Press, New York, NY, USA, 2001. ISBN 1-58113-410-x.

Zhang:2001:SGI

[ZKL01] Yukong Zhang, Young-Jun Kwon, and Hyuk Jae Lee. A systematic generation of initial register-reuse chains for dependence minimization. ACM SIGPLAN Notices, 36 (2):47–54, February 2001. CODEN SINODQ. ISSN 0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic).