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.