Compiler-based Code Improvement Techniques,
K.D. Cooper, K.S. McKinley, and L. Torczon
Draft survey paper on scalar optimization;
it is the source for many parts of 512, including the taxonomy
(see Section 6)
The Swift Java Compiler: Design and Implementation,
Daniel J. Scales, Keith H. Randall, Sanjay Ghemawat, and Jeff Dean
This paper ia a Compaq Research Technical Report.
I particularly like the table that shows the contribution of each
transformation to overall code quality.
Operator Strength Reduction,
Keith D. Cooper, L. Taylor Simpson, and Christopher A. Vick ACM Transactions on Programming Languages and Systems (TOPLAS)
23(5), September 2001, pages 603-625
Dynamo: A Transparent Dynamic Optimization System,
Vasanth Bala, Evelyn Duesterwald, and
Sanjeev Banerjia, Proceedings of the 2000 ACM SIGPLAN Conference on
Programming Language Design and Implementation (PLDI 2000), Vancouver,
BC, Canada, June 2000, pages 1--12. (SIGPLAN Notices 35(5), May 2000)
A Survey of Data-flow Analysis Techniques,
K. Kennedy,
in Program Flow Analysis: Theory and Applications (N.D. Jones and S.S. Muchnick, editors), Prentice-Hall, 1981.
A Survey of Data-flow Analysis
Techniques, scanned from the original technical report. (This version
has only the bibliographic entries from Ken's Chapter, rather than the
entire book's bibliography. It may be a more accurate bibliography.)
Lazy Code Motion,
J. Knoop, O. Ruthing, and B. Steffen,
Proceedings of the ACM SIGPLAN '92 Conference on
Programming Language Design and Implementation (PLDI),
SIGPLAN Notices 27(7), July 1992.
Effective Partial Redundancy Elimination,
P. Briggs and K.D. Cooper,
Proceedings of the ACM SIGPLAN '94 Conference on
Programming Language Design and Implementation (PLDI),
SIGPLAN Notices 29(6), June 1994.
Superoptimizer: A Look at the Smallest Program,
H. Massalin,
Proceedings of the Second International Conference on Architectural Support for Programming Languages and Systems, (ASPLOS II), Palo Alto, CA, USA, 1987, pages 122-126.
Detecting Equality of Variables in Programs,
B. Alpern, M.N. Wegman, and F.K. Zadeck,
Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (POPL), January 1988, pages 1--11.
Register Promotion in C Programs,
K.D. Cooper and J. Lu,
Proceedings of the ACM SIGPLAN '97 Conference on
Programming Language Design and Implementation (PLDI),
SIGPLAN Notices 32(6), June 1997.
Profile Guided Code Positioning,
K. Pettis and R.C. Hansen,
Proceedings of the ACM SIGPLAN '90 Conference on
Programming Language Design and Implementation (PLDI),
SIGPLAN Notices 25(6), June 1990.
The Superblock: An Effective Technique for VLIW and Superscalar Compilation,
Wen-Mei W. Hwu, Scott A. Mahlke, William Y. Chen, Pohua P. Chang, Nancy J. Warter, Roger A Bringmann, Ronald G. Ouellette, Richard E. Hank, John G. Holm, and Daniel M. Lavery,
Journal of Supercomputing -- Special Issue on Instruction Level Parallelism, 7(1), pages 229-248, May 1993.
Interprocedural Analysis and Optimization,
K. D. Cooper, M. W. Hall, K. Kennedy, and L. Torczon,
Communications on Pure and Applied Mathematics, 48, 1995 (pages 947-1003).
"An Incremental Algorithm for Software Analysis,"
B.G. Ryder and M.D. Carroll,
Proceedings of the Second ACM SIGSOFT/SIGPLAN Software
Engineering Symposium on Practical Software Development Environments
, Palo Alto, CA, USA, 1987, pages 171-179. (Also, ACM SIGPLAN
Notices, 22(1), January 1987, pages 171-179)
"An Overview of the PL.8
Compiler",
M. Auslander and M. Hopkins, Proceedings of the 1982 ACM SIGPLAN
Symposium on Compiler Construction, June, 1982. (Also, SIGPLAN
Notices, 17(6))
"SCC-Based Value Numbering", K.D. Cooper and
L. Taylor Simpson, Technical Report CRPC-TR956363-S, Center for
Research on Parallel Computation, Rice University, Houston, TX, USA,
October 1995. [Algorithm also described in Muchnick's book]
This site is maintained by Keith D. Cooper.
He is a terrible e-mail correspondent.