jamin@aludra.usc.edu (Sugih Jamin) (10/30/90)
The following is an old (1985) reading list from a graduate course in
compilers. I would appreciate it very much if you could e-mail me your
list of "must-read" papers on compilers. Please let me know also if you
think that any of the papers in the list has become "marginal." Thank you.
==============================================================================
Textbook: Aho, Sethi, Ullman the "Dragon Book," latest ed.
Intermediate Representations
[1] Steel, T.B. Jr., "A First Version of UNCOL," Proc. of the Western
Joint Computer Conference," (May 1961), 371-378.
[2] Kessler, P.B., "The Intermediate Representation of the Portable C
Compiler, as used by the Berkeley Pascal Compiler," Limited Distribution
Manuscript, CS Division, UCB (April '83).
Basic Block Optimization
[3] Cocke, J. and Schwartz, J.T., Excerpt from _Programming Languages
and Their Compilers, Preliminary Notes, 2nd Revised Version_ Courant
Institute of Mathematical Sciences, 1970.
[4] Sethi, R. and Ullman, J.D., "The Generation of Optimal Code for Arithmetic
Expression, JACM 17:4 (Oct '70).
[5] Aho, A.V. and Johnson, S.C., "Optimal Code Generation for Expression Trees,"
JACM 23:3 (July '76), pp. 488-501.
[6] Aho, A.V., Johnson, S.C., and Ullman, J.D., "Code Generation for Machines
with Multiregister Operations," JACM 24:1 (Jan '77), pp. 146-160.
Flow Analysis and Global Optimization
[7] Banning, J.P., "An Efficient Way to Find the Side Effects of Procedure
Calls and the Aliases of Variables," Conf. Record of the 6th Annual ACM
Symp. on Principles of Prog. Languages (Jan '79), pp. 29-41.
[8] Cooper, K.D. and Kennedy, K., "Efficient Computation of Flow Insensitive
Interprocedural Summary Information," Proc. of the ACM SIGPLAN '82 Symp.
on Compiler Construction, SIGPLAN Notices 17:6 (June '82).
[9] Allen J.R. and Kennedy, K. "Automatic Translation of Fortran Programs to
Vector Form." TR84-9, Computer Science Dept., Rice Univ. (June '84).
[10] Wegman, M.N. and Zadeck, F.K., "Constant Propagation with Conditional
Branches," Conf. Record of the 13th Annual ACM Symp. on POPL (Jan '85).
Program Analysis
[11] Cook, R.P. and Lee, I. "A Contextual Analysis of Pascal Programs,"
Software Practice and Experience 12 (1982), pp. 195-203.
[12] Knuth, D. "An Empirical Study of FORTRAN Programs," Software Practice
and Experience 1 (1971), pp. 105-133.
[13] Hoaglin, D.C., "An Analysis of the Loop Optimization Scores in Knuth's
'Empirical Study of Fortran Programs," Software Practice and Experience
3 (1973).
Register Optimization
[14] Chaitin, G.J. et al., "Register Allocation via Coloring," Computer
Languages 6 (1981), pp. 47-57.
[15] Chaitin, G.J., "Register Allocation and Spilling via Graph Coloring,"
Proc. of the ACM SIGPLAN '82 Symp. on Compiler Construction, SIGPLAN
Notices 17:6 (June '82).
[16] Cocke, J., and Markstein, P. "Measurement of Program Improvement
Algorithms," IBM Research Report RC8111 (Feb 1980).
[17] Chow, F. and Hennesy, J. "Register Allocation by Priority-based Coloring,"
Proc. of the SIGPLAN '84 Symp. on Compiler Construction, ACM SIGPLAN
Notices 19,6 (June '84).
Code Generation
[18] Glanville, R.S. and Graham, S.L., "A New Method for Compiler Code
Generation," Conf. Record fo the 5th Annual ACM Symp. on POPL (Jan '78).
[19] Graham, S.L. et al., "An Experiment in Table Driven Code Generation,"
Proc. fo the ACM SIGPLAN '82 Symp. on Compiler Construction, SIGPLAN
Notices 17:6 (June '82).
[20] Aigrain, P., et al., "Experience with Graham-Glanville Style Code
Generator," Proc. of the SIGPLAN '84 Symp. on Compiler Construction,
ACM SIGPLAN Notices 19:6 (June '84).
Peephole Optimization
[21] Lamb, D.A., "Construction of a Peephole Optimizer," Software Practice
and Experience 11, 6 (1981).
[22] Davidson, J.W. and Fraser, C.W., "The Design and Application of a
Retargetable Peephole Optimizer," ACM TOPLAS 2:2 (April 1980).
Debuggin Optimized Code
[23] Zellweger, P.T., "An Interactive High-level Debugger for Control-flow
Optmized Programs." Proc. of the ACM SIGPLAN/SIGSOFT Software Eng.
Symp. on High-Level Debugging, Software Engineering Notes 8:4 and SIGPLAN
Notices 18:8 (1983).
--
Send compilers articles to compilers@esegue.segue.boston.ma.us
{ima | spdcc | world}!esegue. Meta-mail to compilers-request@esegue.