[comp.compilers] Reading List

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.