Re: Looking for references and experts on optimizing compilers

scott@cs.rochester.edu (Michael Scott)
Fri, 9 Feb 90 14:54:45 GMT

          From comp.compilers

Related articles
Looking for references and experts on optimizing compilers twk@cadence.com (1990-02-08)
Re: Looking for references and experts on optimizing compilers scott@cs.rochester.edu (1990-02-09)
| List of all articles for this month |

Newsgroups: comp.compilers
From: scott@cs.rochester.edu (Michael Scott)
Organization: University of Rochester Computer Science Department
References: <1990Feb8.222118.4283@esegue.segue.boston.ma.us>
Date: Fri, 9 Feb 90 14:54:45 GMT

The following is a bibliography I threw together for a graduate seminar
in back-end compiler technology. I make ABSOLUTELY NO CLAIMS about
coverage, balance, accuracy, or whatever (as I said, it was thrown together),
but this may nonetheless be of some use to the poster, or to others.
Thanks to Cesar Quiroz for providing many of the citations.


General Compiler Books


    [ ] A. V. Aho, R. Sethi, and J. D. Ullman, Compilers: Principles,
Techniques, and Tools, Addison-Wesley, Reading, MA, 1986.
    [ ] A. V. Aho and J. D. Ullman, The Theory of Parsing, Translation,
and Compiling, Vol 2: Compiling, Prentice-Hall, 1973.
    [ ] J. Cocke and J. T. Schwartz, Programming Languages and Their
Compilers, Courant Institute of Mathematical Sciences, 1970.
    [ ] C. N. Fischer and R. J. LeBlanc, Crafting a Compiler,
Benjamin/Cummings, Menlo Park, CA, 1988.
    [ ] David Gries, Compiler Construction for Digital Computers, John
Wiley, 1971.
    [ ] Jean-Paul Tremblay and Paul G. Sorenson, The Theory and Prac-
tice of Compiler Writing, McGraw-Hill Inc., 1984.
    [ ] W. A. Wulf, R. K. Johnson, C. B. Weinstock, S. O. Hobbs, and C.
M. Geschke, The Design of an Optimizing Compiler, Elsevier
North-Holland, NY, 1975.


Simple Optimizations


    [ ] D. R. Hanson, "Simple Code Optimizations," Software - Practice
and Experience 13 (1983), pp. 745-763.
    [ ] Michael L. Powell, "A Portable Optimizing Compiler for Modula-
2," Proceedings of the SIGPLAN'84 Symposium on Compiler Con-
struction, ACM, 1984, pp. 310-318.


Miscellaneous


    [ ] F. E. Allen, "Program Optimization," Annual Review of Automatic
Programming 5 (1969), pp. 239-307.
    [ ] Utpal Banerjee, "Speedup of Ordinary Programs," UIUCDS-R-79-
989, U of Illinois at Urbana-Champaign, Oct 1979.
    [ ] David Bernstein, Haran Boral, and Ron Y. Pinter, "Optimal
Chaining in Expression Trees," IEEE Transactions on Computers
37:11 (November 1988), pp. 1366-1374.
    [ ] V. A. Busam and D. E. Englund, "Optimization of expresions in
Fortran," CACM 12:12 (1969), pp. 666-674.
    [ ] J. Cocke, "Global common subexpression elimination," SIGPLAN
notices 5:7, ACM (1970), pp. 20-24.
    [ ] J. Cocke and K. Kennedy, "An Algorithm for Reduction of Opera-
tor Strength," CACM 20:11 (), pp. 850-856.
    [ ] D. S. Coutant, C. L. Hammond, and J. W. Kelley, "Compilers for
the New Generation of Hewlett-Packard Computers," Hewlett-
Packard Journal, 1986, pp. 4-18.
    [ ] Dhananjay Madhav Dhamdere and Jatinder Singh Keith, "Character-
ization of Program Loops in Code Optimization," Computer
Languages 8, Pergammon Press Ltd (1983), pp. 69-76.
    [ ] Samuel P. Harbison, "A Computer Architecture for the Dynamic
Optimization of High-Level Language Programs," CMU-CS-80-143,
Computer Science Dept., Carnegie-Mellon University, September
1980.
    [ ] D. E. Knuth, "An empirical study of FORTRAN programs," Software
- Practice and Experience 1:12 (1971.), pp. 105-134.
    [ ] John M. Levesque and Joel W. Williamson, A Guidebook to Fortran
on Supercomputers, Academic Press, NY, 1988.
    [ ] E. S. Lowry and C. W. Medlock, "Object Code Optimization," CACM
12:1 (January 1969), pp. 13-22.
    [ ] Ikuo Nakata, "On Compiling Algorithms for Arithmetic Expres-
sions," CACM 10:8 (), pp. 492-494.
    [ ] L. Pollock and M. L. Soffa, "Incremental Compilation of Locally
Optimized Code," pp. 152-164 in Conference Record of the
Twelfth ACM Symposium on Principles of Programming Languages,
Jan. 1985.
    [ ] Marc Sabatella, "Barking Up The Wrong Tree: Why Optimizing Com-
pilers Are Still Unable To Match Assembly Language," Report
UCB/CSD 88/428, Computer Science Division (EECS), University of
California, Berkeley, Berkeley, California 94720, August 1988.
    [ ] J. D. Ullman, "Fast Algorithms for the Elination of Common
Subexpressions," Acta Informatica 2:3 (1973), pp. 191-213.
    [ ] N. Wirth, "From Programming Language Design to Computer Con-
struction," CACM 28:2 (February 1985), pp. 159-164. The 1984
Turing Award Lecture.


Code Generation


    [ ] A. V. Aho, S. C. Johnson, and J. D. Ullman, "Code Generation
for Machines with Multiregister Operations," pp. 21-28 in 4th
ACN Symposium of Principles of Programming Languages.
    [ ] A. V. Aho, S. C. Johnson, and J. D. Ullman, "Code Generation
for Expressions with Common Subexpressions," JACM 24:1 (), pp.
146-160.
    [ ] J. Bruno and R. Sethi, "Code Generation for a One-Register
Machine," JACM 23:3 (), pp. 502-510.
    [ ] F. Chow, S. Correll, M. Himelstein, E. Killian, and L. Weber,
"How Many Addressing Modes are Enough?," SIGPLAN Notices,
Proceedings of ASPLOS II 22:10, Computer Society Press of the
IEEE (October 5-8, 1987), pp. 117-121. Also sponsored by ACM's
SIGARCH, SIGPLAN, and SIGOPS.
    [ ] C. W. Fraser and A. L. Wendt, "Integrating Code Generation and
Optimization," Proceeding of the SIGPLAN '86 Symposium on Com-
piler Construction, 25-27 June 1986, pp. 242-248. In ACM SIG-
PLAN Notices 21:7 (July 1986).
    [ ] M. Ganapathi, C. N. Fischer, and J. L. Hennessy, "Retargetable
Compiler Code Generation," ACM Computing Surveys 14:4 (December
1982), pp. 573-592.
    [ ] Ravi Sethi and J. D. Ullman, "The Generation of Optimal Code
for Arithmetic Expressions," JACM 17:4 (), pp. 715-728.


Low-Level and Peephole Optimizations


    [ ] W. J. Dally, "Micro-Optimization of Floating-Point Operations,"
Proceedings of the Third International Conference on Architec-
tural Support for Programming Languages and Operating Systems
(ASPLOS III), 3-6 April 1989, pp. 283-289.
    [ ] J. Davidson, "A retargetable instruction reoranizer," in SIG-
PLAN Compiler Construction Conf., June 1986.
    [ ] Jack W. Davidson and David B. Whalley, "Quick Compilers Using
Peephole Optimization," Software-Practice & Experience 19:1,
WILEY (January 1989), pp. 79-97.
    [ ] C. Fraser and A. Wendt, "Integrating code generation and optim-
ization," in SIGPLAN Compiler Construction Conf., June 1986.
    [ ] C. Fraser and A. Wendt, "Automatic generation of fast optimiz-
ing code generators," in SIGPLAN Conf. on Prog. Lang. Design
and Implementaion, June 1988.
    [ ] P. B. Gibbons and S. S. Muchnick, "Efficient Instruction
Scheduling for a Pipelined Architecture," pp. 11-16 in ACM SIG-
PLAN 86 Symposium on Compiler Construction, June 1986.
    [ ] J. Hennessy and T. Gross, "Postpass Code Optimization of Pipe-
line Constraints," ACM Transactions on Programming Languages
and Systems, July 1983, pp. 422-448.
    [ ] A. S. Tanenbaum, H. van Staveren, and J. W. Stevenson, "Using
Peephole Optimization on Intermediate Code," ACM TOPLAS 3:1
(January 1982), pp. 21-36.


Compiler Kits


    [ ] C. W. Fraser, "A Language for Writing Code Generators,"
Proceedings of the SIGPLAN '89 Conference on Programming
Language Design and Implementation, 21-23 June 1989, pp. 238-
245. In ACM SIGPLAN Notices 24:7 (July 1989).
    [ ] H. Emmelmann, F.-W. Schroer, and R. Landwehr, "BEG - A Genera-
tor for Efficient Back Ends," Proceedings of the SIGPLAN '89
Conference on Programming Language Design and Implementation,
21-23 June 1989, pp. 227-237. In ACM SIGPLAN Notices 24:7
(July 1989).
    [ ] A. S. Tanenbaum, H. van Staveren, E. G. Keizer, and J. W.
Stevenson, "A Practical Tool Kit for Making Portable Com-
pilers," CACM 26:9 (September 1983), pp. 654-660.
    [ ] B. W. Leverett, R. G. G. Cattell, S. O. Hobbs, J. M. Newcomer,
A. H. Reiner, B. R. Schatz, and W. A. Wulf, "An Overview of the
Production-Quality Compiler-Compiler Project," Computer 13:8
(August 1980), pp. 38-49.
    [ ] S. C. Johnson, "A Portable Compiler: Theory and Practice," ACM
Symposium on Principles of Programming Languages, January 1978.
    [ ] M. E. Benitez and J. W. Davidson, "A Portable Global Optimizer
and Linker," Proceedings of the SIGPLAN '88 Conference on Pro-
gramming Language Design and Implementation, 22-24 June 1988,
pp. 329-338. In ACM SIGPLAN Notices 23:7.


Data Flow Analysis


    [ ] A. V. Aho and J. D. Ullman, "Listings for Reducible Flow
Graphs," pp. 177-185 in 7th ACM Symposium on Theory of Comput-
ing, 1975.
    [ ] F. E. Allen, "Control Flow Analysis," SIGPLAN notices 5:7, ACM
(1970), pp. 1-19.
    [ ] F. Allen and J. Cocke, "A Program Data Flow Analysis Pro-
cedure," CACM 19:3, ACM (Mar 1976), pp. 137-147.
    [ ] Michael Burke and Barbara G. Ryder, "Incremental Iterative Data
Flow Analysis Algorithms," 13170 (#58713), Computer Science
Department, IBM T. J. Watson Research Center, Yorktown Heights,
NY 10598, 9 October 1987.
    [ ] D. Callahan, "The program summary graph and flow-sensitive
interprocedural data flow analysis," in SIGPLAN Conf. on Prog.
Lang. Design and Imple., June 1988..
    [ ] R. Cartwright and M. Felleisen, "The Semantics of Program
Dependence," Proceedings of the SIGPLAN '89 Conference on Pro-
gramming Language Design and Implementation, 21-23 June 1989,
pp. 13-27. In ACM SIGPLAN Notices 24:7 (July 1989).
    [ ] K. Culik, "Towards a Theory of Control-Flow and Data-Flow Algo-
rithms," Proceedings of the ICPP, IEEE, 1985, pp. 341-348.
    [ ] Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman,
and F. Kenneth Zadeck, "An Efficient Method of Computing Static
Single Assignment Form," CS-88-16, Brown University, Department
of Computer Science, Providence, Rhode Island 02912, October
1988. Also in 16th POPL, 1989.
    [ ] J. Ferrante, K. J. Ottenstein, and J. D. Warren, "The Program
Dependence Graph and its Use in Optimization," ACM TOPLAS 9:3
(July 1987), pp. 319-349.
    [ ] J. L. Gaudiot, "Methods for Handling Structures in Data-Flow
Systems," SIGARCH newsletter, Proceedings of the 12th Annual
Symposium on Computer Architecture 13:3, IEEE Computer Science
Press (June 1985), pp. 352-359.
    [ ] S. L. Graham and M. Wegman, "A Fast and Usually Linear Algo-
rithm for Global Flow Analysis," pp. 22-34 in 2nd ACM Symposium
on Principls of Programming Languages, 1975.
    [ ] W. Harrison, "Compiler analysis of the value ranges for vari-
ables," IEEE Transactions on Software Engineering SE-3:3 (May
1977).
    [ ] M. S. Hecht, Flow Analysis of Computer Programs,, Elsevier,
Amsterdam, 1977.
    [ ] Matthew S. Hecht and Jeffrey D. Ullman, "Flow Graph Reducibil-
ity," SIAM J. Comput. 1:2 (Jun 1972), pp. 188-202.
    [ ] Matthew S. Hecht and Jeffrey D. Ullman, "A Simple Algorithm for
Global Data Flow Analysis," SIAM Journal on Computing 4:4, SIAM
(December 1975), pp. 519-532.
    [ ] J. E. Hopcroft and J. D. Ullman, "An nlogn algorithm to dectect
reducible graphs," pp. 119-122 in Proc.6th Annyal Princeton
Conf on Informaiton Sciences and Systems.
    [ ] Suneel Jain and Carol Thompson, "An Efficient Approach to Data
Flow Analysis in a Multiple Pass Global Optimizer," SIGPLAN
Notices: Proceedings of the SIGPLAN'88 Conference on Program-
ming Language Design and Implementation 23:7, ACM (July 1988),
pp. 154-163.
    [ ] J. B. Kam and J. D. Ullman, "Monotone Data Flow Analysis Frame-
works," Acta Informatica 7 (1977), pp. 305-317.
    [ ] K. Kennedy, "A Global Flow Analysis Algorithm," International
J. Comp Math 3:1 (), pp. 5-16.
    [ ] K. Kennedy, "Node Listings Applied to Data Flow Analysis," pp.
10-21 in 2nd ACM Symposium on Principles of Programming
Languages, 1975.
    [ ] Thomas Lengauer and Robert Endre Tarjan, "A Fast Algorithm for
Finding Dominators in a Flowgraph," TOPLAS 1:1, ACM (Jul 1979),
pp. 121-141.
    [ ] E. Morel and C. Renvoise, "Global optimization by suppression
of partial redundancies," CACM 22:2 (Feb. 1979.).
    [ ] E. W. Myers, "A Precise Inter-procedural Data Flow Algorithm,"
pp. 219-230 in Conference Record of the Eighth ACM Symposium on
Principles of Programming Languages, Jan. 1981.
    [ ] T. Raeuchle, "Using Data Flow Analysis to Reduce the Cost of
Enforcing Consistency," Proceedings of the Seventh Interna-
tional Conference on Distributed Computing Systems, 21-25 Sep-
tember 1987, pp. 216-223.
    [ ] B. Rosen, M. Wegman, and F, Zadeck, "Global value numbers and
redundant computations," in Fifteenth POPL, January 1988..
    [ ] B. Ryder, "Incremental Data Flow Analysis," pp. 167-176 in
Conference Record of the Tenth ACM Symposium on Principles of
Programming Languages, Jan. 1983.
    [ ] B. G. Ryder and M. C. Paull, "Elimination Algorithms for Data
Flow Analysis," ACM Computing Surveys 18:3 (September 1986),
pp. 277-316.
    [ ] B. G. Ryder and M. C. Paull, "Incremental Data-Flow Analysis,"
ACM TOPLAS 10:1 (January 1988), pp. 1-50.
    [ ] Barbara G. Ryder, "Incremental Data Flow Analysis Based on a
Unified Model of Elimination Algorithms," DCS-TR-117 (Also,
Ph.D. Thesis), Rutgers, 1982.
    [ ] Barbara G. Ryder, "Incremental Data Flow Analysis," DCS-TR-120,
Rutgers, Sep 1982.
    [ ] M. Schaefer, A Mathyematical Theory of Global Program Optimiza-
tion, Prentice-Hall, 1973?. Noted in AU Theory of Parsing ...
as ``to appear''.
    [ ] Micha Sharir, "Structural Analysis: A New Approach To Flow
Analysis in Optimizing Compilers," Computer Languages 5, Per-
gammon Press Ltd (1980), pp. 141-153.
    [ ] Olin Shivers, "Control Flow Analysis in Scheme," SIGPLAN
Notices: Proceedings of the SIGPLAN'88 Conference on Program-
ming Language Design and Implementation 23:7, ACM (July 1988),
pp. 164-174.
    [ ] R. E. Tarjan, "A Unified Approach to Path Problems," JACM 28:3
(July 1981), pp. 577-593.
    [ ] G. A. Venkatesh, "A Framework for Construction and Evaluation
of High-Level Specifications for Program Analysis Techniques,"
Proceedings of the SIGPLAN '89 Conference on Programming
Language Design and Implementation, 21-23 June 1989, pp. 1-12.
In ACM SIGPLAN Notices 24:7 (July 1989).
    [ ] M. Wegman and K. Zadeck,, "Constant Propagation with Condi-
tional Branches," pp. 291-299 in Conference Record of the
Twelfth ACM Syposium on Principles of Programming Languages,
Jan. 1985.
    [ ] K. Zadeck, "Incremental Data Flow Analysis in a Structured Pro-
gram Editor," pp. 132-143 in ACM SIGPLAN 84 Symposium on Com-
piler Construction, June 1984.


Interprocedural Optimization


    [ ] F. E. Allen, "Interprocedural Data Flow Analysis," Proceedins
of IFIP Congress 74, North-Holland (1974), pp. 398-402.
    [ ] J. Ball, "Predicting the effects of optimization on a procedure
body," in SIGPLAN Compiler Construction Conference, August
1979.
    [ ] M. Burke and R. Cytron, "Interprocedural Dependence Analysis
and Parallelization," Proceedings of the SIGPLAN'86 Symposium
on Compiler Construction, ACM, Jul 1986, pp. 162-175.
    [ ] Michael Burke, "An Interval-Based Approach to Exhaustive and
Incremental Interprocedural Data Flow Analysis," 12702
(#56865), Computer Science Department, IBM T. J. Watson
Research Center, Yorktown Heights, NY 10598, 1 September 1987.
    [ ] D. Callahan, K. D. Cooper,, K. Kennedy, and L. Torczon, "Inter-
procedural Constant Propagation," pp. 152-161 in ACM SIGPLAN 86
Symposium on Compiler Construction, June 1986.
    [ ] D. Callahan and K. Kennedy,, "Analysis of Interprocedural Side
Effects in a Parallel Programming Environment," in Proceedings
of the First International Conference on Supercomputing, 1987.
    [ ] K. D. Cooper, K. Kennedy, and L. Torczon, "The Impact of Inter-
procedural Analysis and Optimization on the Design of a
Software Development Environment," Proceedings of the ACM SIG-
PLAN 85 Symposium on Language Issues in Programming Environ-
ments, Seattle, Washington, 25-28 June 1985. In ACM SIGPLAN
Notices 20:7 (July 1985).
    [ ] K. D. Cooper, K. Kennedy, and L. Torczon, "Interprocedural
Optimization: Eliminating Unnecessary Recompilation," Proceed-
ing of the SIGPLAN '86 Symposium on Compiler Construction, 25-
27 June 1986, pp. 58-67. In ACM SIGPLAN Notices 21:7 (July
1986).
    [ ] K. Cooper and K. Kennedy, "Efficient Computation of Flow Insen-
sitive Interprocedural Summary Information," pp. 247-258 in ACM
SIGPLAN 84 Symposium on Compiler Construction, June 1984.
    [ ] K. Cooper, K. Kennedy, and L. Torczon, "The Impact of Interpro-
cedure Analysis and Optimization in the Rn Programming Environ-
ment," ACM TOPLAS 8:4 (October 1986), pp. 491-523.
    [ ] Keith D. Cooper and Ken Kennedy, "Interprocedural Side-Effect
Analysis in Linear Time," SIGPLAN Notices: Proceedings of the
SIGPLAN'88 Conference on Programming Language Design and Imple-
mentation 23:7, ACM (July 1988), pp. 57-66.
    [ ] Susan Horwitz, Thomas Reps, and David Binkley, "Interprocedural
Slicing Using Dependence Graphs," SIGPLAN Notices: Proceedings
of the SIGPLAN'88 Conference on Programming Language Design and
Implementation 23:7, ACM (July 1988), pp. 35-46.
    [ ] Christopher Alan Huson, "An In-Line Subroutine Expander for
Parafrase," Rpt. No. 82-1118, Univ. of Illinois at Urbana-
Champaign, Dept. of Computer Sci., Dec., 1982.
    [ ] Zhiyuan Li and Pen-Chung Yew, "Interprocedural Analysis and
Program Restructuring for Parallel Programs," CSRD Report No.
720, Univ. of Illinois at Urbana-Champaign, Center for Super-
computing Res. & Dev..
    [ ] Zhiyuan Li and Pen-Chung Yew, "Interprocedural Analysis for
Parallel Programs," Proc. of 1988 Int'l. Conf. on Parallel Pro-
cessing, St. Charles, IL, August 1988.
    [ ] Zhiyuan Li and Pen-Chung Yew, "Efficient Interprocedural
Analysis for Program Parallelization and Restructuring.," SIG-
PLAN Notices 23:9, ACM Press (September 1988), pp. 85-99.
Proceedings of the ACM/SIGPLAN PPEALS 1988, July 19-21 1988.
    [ ] Etienne Morel and Claude Renvoise, "Interprocedural Elimination
of Partial Redundancies," pp. 160-188 in Program Flow Analysis,
ed. Neil D. Jones, Prentice Hall, 1981.
    [ ] S. Richardson and M. Ganapathi, "Interprocedural Analysis - A
Bibliography," ACM SIGPLAN Notices 22:6 (June 1987), pp. 12-17.
    [ ] S. Richardson and M. Ganapathi , "Code Optimization Across
Procedures ," Computer 22:2 (February 1989), pp. 42-50 .
    [ ] Barbara G. Ryder, "A Survey of Interprocedural Data Flow
Analysis Techniques," DCS-TR-85, Rutgers, Dec 1979.
    [ ] R. Scheifler, "An analysis of inline substitution for a struc-
tured programming language," CACM 20:9 (Sept. 1977.).
    [ ] Micha Sharir and Amir Pnueli, "Two Approaches to Interpro-
cedural Data Flow Analysis," pp. 189-233 in Program Flow
Analysis, ed. Neil D. Jones, Prentice Hall, 1981.
    [ ] Remi Triolet, "Interprocedural Analysis for Program Restructur-
ing with Parafrase," CSRD Rpt. No. 538, Univ. of Illinois at
Urbana-Champaign, Center for Supercomputing Res. & Dev., Aug.,
1986.


Register Allocation


    [ ] J. C. Beatty, "Register Assignment Algorithm for Generation of
Highly Optimized Object Code," IBM J. Res. Devel, , pp. 20-39.
    [ ] J. C. Beatty, "A Global Register Assigment Algorithm," pp. 65-
68 in Design and Optimization of Compilers, ed. R. Rustin,
Prentice-Hall, 1972.
    [ ] D. Bernstein, M. Golumbic, Y. Mansour, R. Pinter, D. Goldin, H.
Drawczyk, and I. Nahshon, "Spill Code Minimization Techniques
for Optimizing Compilers," Proceedings of the SIGPLAN '89
Conference on Programming Language Design and Implementation,
21-23 June 1989, pp. 258-263. In ACM SIGPLAN Notices 24:7
(July 1989).
    [ ] P. Briggs, K. D. Cooper, K. Kennedy, and L. Torczon, "Coloring
Heuristics for Register Allocation," Proceedings of the SIGPLAN
'89 Conference on Programming Language Design and Implementa-
tion, 21-23 June 1989, pp. 275-284. In ACM SIGPLAN Notices
24:7 (July 1989).
    [ ] C.-H. Chi and H. Dietz, "Unified Management of Registers and
Cache Using Liveness and Cache Bypass," Proceedings of the SIG-
PLAN '89 Conference on Programming Language Design and Imple-
mentation, 21-23 June 1989, pp. 344-355. In ACM SIGPLAN
Notices 24:7 (July 1989).
    [ ] Fred C. Chow, "Minimizing Register Usage Penalty at Procedure
Calls," SIGPLAN Notices: Proceedings of the SIGPLAN'88 Confer-
ence on Programming Language Design and Implementation 23:7,
ACM (July 1988).
    [ ] R. Gupta, M. L. Soffa, and T. Steele, "Register Allocation Via
Clique Separators," Proceedings of the SIGPLAN '89 Conference
on Programming Language Design and Implementation, 21-23 June
1989, pp. 264-274. In ACM SIGPLAN Notices 24:7 (July 1989).
    [ ] W. C. Hsu, C. N. Fischer, and J. R. Goodman, "On the Minimiza-
tion of Loads and Stores in Local Register Allocation," IEEE
Transactions on Software Engineering 15:10 (October 1989), pp.
1252-1260.
    [ ] P. A. Karger, "Using Registers to Optimize Cross-Domain Call
Performance," Proceedings of the Third International Conference
on Architectural Support for Programming Languages and Operat-
ing Systems (ASPLOS III), 3-6 April 1989, pp. 194-204.
    [ ] D. Wall, "Global register allocation at link time," in SIGPLAN
Compiler Construction Conf, June 1986..


Alias Detection


    [ ] B. Alpern, M. Wegman, and F. Zadeck,, "Detecting equality of
variables in programs," in Fifteenth POPL, January 1988.
    [ ] Keith D. Cooper, "Analyzing Aliases of Reference Formal Parame-
ters," Conference Record of the Twelfth POPL, ACM SIGACT SIG-
PLAN, January 1985, pp. 281-290.
    [ ] S. Horwitz, P. Pfeiffer, and T. Reps, "Dependence Analysis for
Pointer Variables," Proceedings of the SIGPLAN '89 Conference
on Programming Language Design and Implementation, 21-23 June
1989, pp. 28-40. In ACM SIGPLAN Notices 24:7 (July 1989).
    [ ] Anne Denise Neyrinck, "Static Analysis of Aliases and Side
Effects in Higher-Order Languages," 88-896, Cornell University,
Department of Computer Science, Ithaca, NY 14853-7501, February
1988. Ph.D. Thesis. January 1988 is also given as a date..
    [ ] W. Weihl, "Interprocedural Data Flow Analysis in the Presence
of Pointers, Procedure Variables, and Label Variables,"
Proceedings of the 7th Symposium on Principles of Programming
Languages, January 1980, pp. 83-94.


Vectorization and Parallelization


    [ ] Alexander Aiken, "Compaction-Based Parallelization," Ph.D.
Thesis, TR 88-922, Department of Computer Science, Cornell
University, Ithaca, NY 14853-7501, June 1988.
    [ ] Alexander Aiken and Alexandru Nicolau, "Optimal Loop Paralleli-
zation," SIGPLAN Notices: Proceedings of the SIGPLAN'88 Confer-
ence on Programming Language Design and Implementation 23:7,
ACM (July 1988), pp. 308-317.
    [ ] Eugene Albert, Kathleen Knobe, Joan D. Lukas, and Guy L. Steele
Jr., "Compiling Fortran 8x Array Features for the Connection
Machine Computer System," SIGPLAN Notices 23:9, ACM Press (Sep-
tember 1988), pp. 42-56. Proceedings of the ACM/SIGPLAN PPEALS
1988, July 19-21 1988.
    [ ] Fran Allen, Michael Burke, Philippe Charles, Ron Cytron, and
Jeanne Ferrante, "An Overview of the PTRAN Analysis System for
Multiprocessing," 13115 (#56866), Computer Science Department,
IBM T. J. Watson Research Center, Yorktown Heights, NY 10598,
29 September 1987.
    [ ] J. R. Allen and K. Kennedy, "PFC: A program to convert Fortran
to parallel form," MASC-TR82-6, Rice University.
    [ ] J. R. Allen and K. Kennedy, "Automatic Loop Interchange," pp.
233-246 in Proc. of the ACM SIGPLAN Symposium on Compiler Con-
struction, Montreal, 1984.
    [ ] J. R. Allen and K. Kennedy, "Automatic Translation of Fortran
Programs to Vector Form," Transactions on Programming Languages
and Systems, October 1987.
    [ ] J. R. Allen and Ken Kennedy, "PFC: A Program to Convert Fortran
to Parallel Form," in Proceedings IBM Conf. Parallel Computers
in Scientific Computations, Rome, 1982. , K. Hwang ed., IEEE
Computer Society Press, Silver Spring, MD 1984"" Also in
"Supercomputers: Design and Applications", K. Hwang ed., IEEE
Computer Society Press, Silver Spring, MD 1984.
    [ ] J. R. Allen, Ken Kennedy, Carrie Porterfield, and Joe Warren,
"Conversion of Control Dependence to Data Dependence," Confer-
ence Record of the Tenth POPL, ACM, Jan 1983, pp. 177-189.
    [ ] Randy Allen, David Callahan, and Ken Kennedy, "Automatic Decom-
position of Scientific Programs for Parallel Execution,"
Conference Record of the Fourteenth POPL, ACM, Jan 1987, pp.
63-76.
    [ ] Randy Allen and Steve Johnson, "Compiling C for Vectorization,
Parallelization, and Inline Expansion," SIGPLAN Notices:
Proceedings of the SIGPLAN'88 Conference on Programming
Language Design and Implementation 23:7, ACM (July 1988), pp.
241-249.
    [ ] V. Balasundaram and K. Kennedy, "A Technique for Summarizing
Data Access and Its Use in Parallelism Enhancing Transforma-
tions," Proceedings of the SIGPLAN '89 Conference on Program-
ming Language Design and Implementation, 21-23 June 1989, pp.
41-53. In ACM SIGPLAN Notices 24:7 (July 1989).
    [ ] U. Banerjee, "Direct Parallelization of Call Statements," Rept
576, Center for Supercomputer Research and Development, 1985.
    [ ] U. Banerjee, S. C. Chen, D. J Kuck, and R. A. Towle, "Time and
Parallel Processor Bounds for Fortran-like Loops," IEEE Trans
Comput C-28:9 (1979), pp. 660-670.
    [ ] Alan M. Baum and Donald J. McMillan, Automated Parallelization
of Serial Simulations for Hypercube Parallel Processors, Com-
puter Science Department, General Motors Research Laboratories,
Warren, Michigan 48090, 24 January 1989.
    [ ] Michael Burke, Ron Cytron, Jeanne Ferrante, Wilson Hsieh, Vivek
Sarkar, and David Shields, "Automatic Discovery of Parallelism:
A Tool and and Experiment (Extended Abstract)," SIGPLAN Notices
23:9, ACM Press (September 1988), pp. 77-84. Proceedings of
the ACM/SIGPLAN PPEALS 1988, July 19-21 1988.
    [ ] Alan Carle, Keith D. Cooper, Robert T. Hood, Ken Kennedy, Linda
Torczon, and Scott K. Warren, "A Practical Environment for
Scientific Programming," Computer 20:11, IEEE (Nov 1987), pp.
75-89.
    [ ] R. Cytron, M. Hind, and W. Hsieh, "Automatic Generation of DAG
Parallelism," Proceedings of the SIGPLAN '89 Conference on Pro-
gramming Language Design and Implementation, 21-23 June 1989,
pp. 54-68. In ACM SIGPLAN Notices 24:7 (July 1989).
    [ ] Ronald Gary Cytron, "Improved Compilation Methods for Multipro-
cessors," UIUCDCS-R-82-1088, University of Illinois at Urbana-
Champaign, Urbana, IL 61801-2987, May 1982. M.Sc. Thesis.
    [ ] Erik H. D'Hollander, "Computer Aided Dataflow Analysis for the
Conversion of Sequential Programs into Parallel Form," pp.
75-102 in Algorithms and Applications on Vector and Parallel
Computers, ed. H. A. van der Vorst, Elsevier Science Publishers
B. V. (North-Holland), 1987.
    [ ] Henry G. Dietz, "Finding Large-Grain Parallelism In Loops With
Serial Control Dependencies," Proceedings of the 1988 Interna-
tional Conference on Parallel Processing, Volume II, Software,
Penn State, August 1988, pp. 114-121.
    [ ] Jeanne Ferrante and Mary Mace, "On Linearizing Parallel Code,"
Conference Record of the Twelfth POPL, Volume II, Software, ACM
SIGACT SIGPLAN, January 1985, pp. 179-190.
    [ ] Jeanne Ferrante and Karl J. Ottenstein, "A Program Form Based
on Data Dependency in Predicate Regions," Conference Record of
the Tenth POPL, Volume II, Software, ACM, Jan 1983, pp.
217-236.
    [ ] C. C. Foster and E. M. Riseman, "The Inhibition of Potential
Parallelism by Conditional Jumps," IEEE Transactions on Comput-
ers 21, Volume II, Software:12, IEEE (1972), pp. 1405-1411.
    [ ] Harlan E Husmann, David J. Kuck, and David A. Padua, "Automatic
Compound Function Definition for Multiprocessors," Proceedings
of the 1988 International Conference on Parallel Processing,
Volume II, Software, Penn State, August 1988, pp. 33-41.
    [ ] Alan H. Karp, "Programming for Parallelism," Computer 20,
Volume II, Software:5, IEEE (May 1987), pp. 43-57.
    [ ] Ken Kennedy, "Automatic translation of Fortran programs to vec-
tor form," 476 029 4, Rice U., Oct 1980.
    [ ] Youji Kohda and Jiro Tanaka, "Deriving a Compilation Method for
Parallel Logic Machines," TR 350, ICOT Research Center, Tokyo,
March 1988.
    [ ] D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe,
"Dependence Graphs and Compiler Optimizations," Conference
Record of the Eighth POPL, Volume II, Software, ACM, Jan 1981,
pp. 207-218.
    [ ] D. Kuck, Y. Muraoka, and S.-C. Chen, "On the number of opera-
tions simultaneously executable in Fortran-like programs and
their resulting speedup," IEEE Transaction on Computers C-21,
Volume II, Software:12 (Dec 1972), pp. 1293-1310.
    [ ] David J. Kuck, "Parallel Processing of Ordinary Programs,"
UIUCDCS-R-75-767, University of Illinois at Urbana-Champaign
Dept. of C. Sc., November 1975.
    [ ] David J. Kuck, "High Speed Multiprocessing and Compilation
Techniques," IEEE Transactions on Computers, Volume II,
Software, IEEE, 1980, pp. 763-776.
    [ ] Monica S. Lam, A Systolic Array Optimizing Compiler, Kluwer
Academic Publishers, 1989.
    [ ] Gyungho Lee, "Automatic Restructuring of Conditional Cyclic
Loops," Proceedings of the 1988 International Conference on
Parallel Processing, Volume II, Software, Penn State, August
1988, pp. 42-45.
    [ ] Alexandru Nicolau, "Uniform Parallelism Extraction in Ordinary
Programs," Proceedings of the ICPP, Volume II, Software, IEEE,
1985, pp. 614-618.
    [ ] Alexandru Nicolau, "Run-Time Disambiguation: Coping with Stati-
cally Unpredictable Dependencies," Transactions on Computers
38, Volume II, Software:5, IEEE (May 1989), pp. 663-678.
    [ ] K. J. Ottenstein, "A Brief Survey of Implicit Parallelism
Detection," pp. 93-122 in Parallel MIMD Computation: HEP Super-
computer and Its Applications, ed. Janusz Kowalik, MIT Press,
1985.
    [ ] D. Padua and M. J. Wolfe, "Advanced Compiler Optimizations for
Supercomputers," CACM 29, Volume II, Software:12 (Dec 1986),
pp. 1184-1201. Big bibliography.
    [ ] Constantine D. Polychronopoulos, "Loop Coalescing: A Compiler
Transformation for Parallel Machines," Proceedings of the ICPP,
Volume II, Software, IEEE, 1987, pp. 235-242.
    [ ] Constantine D. Polychronopoulos, "Compiler Optimizations for
Enhancing Parallelism and Their Impact on Architecture Design,"
Transactions on Computers 37, Volume II, Software:8, IEEE (Aug
1988), pp. 991-1004.
    [ ] A. Rogers and K. Pingali, "Process Decomposition Through Local-
ity of Reference," Proceedings of the SIGPLAN '89 Conference on
Programming Language Design and Implementation, Volume II,
Software, 21-23 June 1989, pp. 69-80. In ACM SIGPLAN Notices
24:7 (July 1989).
    [ ] Vivek Sarkar, "Partitioning and Scheduling Parallel Programs
for Execution on Multiprocessors," CSL-TR-87-328, Computer Sys-
tems Laboratory, Stanford University, April 1987. Ph.D.
Thesis.
    [ ] Vivek Sarkar and J. Hennessy, "Compile-time Partitioning and
Scheduling of Parallel Programs," Proceedings of the SIGPLAN'86
Symposium on Compiler Construction, Volume II, Software, ACM,
Jul 1986, pp. 17-26.
    [ ] Weijia Shang and Jose A. B. Fortes, "On The Independent Parti-
tioning of Algorithms With Uniform Data Dependencies," Proceed-
ings of the 1988 International Conference on Parallel Process-
ing, Volume II, Software, Penn State, August 1988, pp. 26-33.
    [ ] Kevin Smith and William F. Appelbe, "PAT -- An Interactive For-
tran Parallelizing Assistant Tool," Proceedings of 1988 ICPP 2,
Volume II, Software, The Pennsylvania State University Press
(15-19 August 1988), pp. 58-62.
    [ ] G. S. Tjaden and M. J. Flynn, "Detection and parallel execution
of independent instructions," IEEE Transactions on Computers
21, Volume II, Software:10 (Oct 1970), pp. 889-895.
    [ ] R. Triolet, F. Irigoin, and P. Feautrier, "Direct Paralleliza-
tion of Call Statements," Proc. of the SIGPLAN 86 Symp. on Com-
piler Construction, SIGPLAN No. 21, Volume II, Software, July,
1986, pp. 176-185.
    [ ] Remi Triolet, Paul Feautrier, and Francois Irigoin, "Automatic
Parallelizations of Fortran Programs in the Presence of Pro-
cedure Calls," European Symposium on Programming Languages,
Volume II, Software, 1986.
    [ ] M. J. Wolfe, "Optimizing Supercompilers for Supercomputers,"
Ph. D. Dissertation, October 1982.
    [ ] Michael J. Wolfe, "Techniques for Improving the Inherent Paral-
lelism in Programs," UIUCDCS-R-78-929, University of Illinois
at Urbana-Champaign, Dept. of Comp. Sc., Jul 1978. M.Sc.
Thesis.
    [ ] Michael Wolfe and Utpal Banerjee, "Data Dependence and Its
Application to Parallel Processing," International Journal of
Parallel Programming 16, Volume II, Software:2, Plenum Press
(1987), pp. 137-178.
    [ ] Yaron Wolfstahl, "Mapping parallel programs to multiprocessors:
A dynamic approach," Parallel Computing 10, Volume II,
Software, North-Holland (1989), pp. 45-50.
    [ ] Youfeng Wu, "Parallelizing WHILE Loops," 87-10-1, Oregon State
University, Computer Science Department, Corvallis, Oregon,
undated, perhaps 1987.


Program Transformations


    [ ] F. E. Allen and J. Cocke, "A Catalogue of Optimizing Transfor-
mations," pp. 1-30. in Design and Optimization of Compilers,
ed. R. Rustin, Prentice-Hall, 1971.
    [ ] Lee Badger and Mark Weiser, "Minimizing Communication for Syn-
chronizing Parallel Dataflow Programs," Proceedings of the 1988
International Conference on Parallel Processing, Volume II,
Software, Penn State, August 1988, pp. 122-126.
    [ ] Pradip Bose, "Heuristic Rule-Based Program Transformations for
Enhanced Vectorization," Proceedings of 1988 ICPP 2, Volume II,
Software, The Pennsylvania State University Press (15-19 August
1988), pp. 63-66.
    [ ] R. Cytron, A. Lowry, and K. Zadeck, "Code motion of control
structures in high-level languages," in Thirteenth POPL, Janu-
ary 1986..
    [ ] James R. Larus and Paul N. Hilfinger, "Restructuring Lisp Pro-
grams for Concurrent Execution," SIGPLAN Notices 23, Volume II,
Software:9, ACM Press (September 1988), pp. 100-110. Proceed-
ings of the ACM/SIGPLAN PPEALS 1988, July 19-21 1988.
    [ ] D. B. Loveman, "Program Improvement by Source-to-Source
Transformation," JACM 20, Volume II, Software:1 (Jan. 1977),
pp. 121-145.
    [ ] H. R. A. Strong, A. Maggiolo-Schettini, and B. A. Rosen, "Recu-
sion Structure Simplification," SIAM J. Comput 4, Volume II,
Software:3 (1975), pp. 307-320.


Debugging and Optimization


    [ ] P. Fritzson, "A Systematic Approach to Advanced Debugging
through Incremental Compilation," pp. 130-139 in ACM
SIGSOFT/SIGPLAN Software Engineering Symposium on High-Level
Debugging, March 1983.
    [ ] J. Hennessy, "Symbolic Debugging of Optimized Code," ACM Tran-
sactions on Programming Languages and Systems 4, Volume II,
Software:3 (July 1982), pp. 323-344.
    [ ] P. T. Zellweger, "An Interactive High-Level Debugger for
Control-Flow Optimized Programs," pp. 159-171 in ACM
SIGSOFT/SIGPLAN Software EngineeringSymposium on High-Level
Debugging, March 1983.
    [ ] P. T. Zellweger, "Interactive Source-Level Debugging for Optim-
ized Programs," Technical report from somewhere, May 1984.


RISC Compilers


    [ ] F. Chow, M. Himelstein, E. Killian, and L. Weber, "Engineering
a RISC compiler system," pp. 132-137. in Digest of Papers of
the Thirtyfirst IEEE Computer Society International Conference,
IEEE, Feb 1986.
    [ ] C. E. Gimarc and V. M. Milutinovic, "A Survey of RISC Proces-
sors and Computers of the Mid-1980s," Computer 20, Volume II,
Software:9 (September 1987), pp. 59-69.
    [ ] T. R. Gross, "Code Optimization of Pipeline Constraints,"
Ph. D. thesis, Stanford University, August 1983.
    [ ] J. L. Hennessy and T. R. Gross, "Postpass Code Optimization of
Pipeline Constraints," ACM TOPLAS 5, Volume II, Software:3
(July 1983).
    [ ] J. R. Larus and R. N. Hilfinger, "Register Allocation in the
SPUR Lisp Compiler," pp. 255-263. in ACM SIGPLAN 86 Symposium
on Compiler Construction, June 1986.
    [ ] J. W. Rymarcyk, "Coding Guidelines for Pipelined Processors,"
ACM 0-89791-066-4, International Business Machines.
    [ ] P. Steenkiste and J. Hennessy, "Lisp on a Reduced-Instruction-
Set Processor: Characterization and Optimization," Computer 21,
Volume II, Software:7 (July 1988), pp. 34-45.
    [ ] David W. Wall, "Register Windows vs. Register Allocation," SIG-
PLAN Notices: Proceedings of the SIGPLAN'88 Conference on Pro-
gramming Language Design and Implementation 23, Volume II,
Software:7, ACM (July 1988), pp. 67-78.


VLIW Compilers


    [ ] Robert P. Colwell, Robert P. Nix, John J. O'Donnell, David B.
Papworth, and Paul K. Rodman, "A VLIW Architecture for a Trace
Scheduling Compiler," Transactions on Computers 37, Volume II,
Software:8, IEEE (Aug 1988), pp. 967-979.
    [ ] John R. Ellis, "BULLDOG: A compiler for VLIW Architectures,"
YALEU/DCS-RR-364, Yale, February 1985. Also an ACM dis-
tinguished thesis, published by MIT Press.
    [ ] Joseph A. Fisher, "Trace Scheduling: A technique for global
microcode compaction," IEEE Transactions on Computers C-30,
Volume II, Software:7 (Jul 1981), pp. 478-490.
    [ ] Monica Lam, "Software Pipelining: An Effective Scheduling Tech-
nique for VLIW Machines," SIGPLAN Notices: Proceedings of the
SIGPLAN'88 Conference on Programming Language Design and Imple-
mentation 23, Volume II, Software:7, ACM (July 1988), pp.
318-328.
    [ ] Alexandru Nicolau, "Parallelism, Memory Anti-Aliasing And
Correctness for Trace Scheduling Algorithms," YALE/DCS/RR-374,
Yale, March 1985.
    [ ] Alexandru Nicolau, "Percolation Scheduling: A Parallel Compila-
tion Technique," TR-85-678, Cornell University, May 1985.
--
Michael L. Scott
Computer Science Dept. (716) 275-7745, 5671
University of Rochester scott@cs.rochester.edu
Rochester, NY 14627 ...!rochester!scott





Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.