Publications Ordered by Date
Notice:
This page contains a complete listing of publications for
Keith D. Cooper. Where the paper can be re-created using
current technology, a PDF version of the paper is supplied.
In the cases where no PDF version is available, the text
was written using tools that have changed enough to make
them reproducible.
These versions may differ in formatting detail from the published
papers. The published source should be considered the definitive
version.
The page that presents publications ordered by subject includes
a brief abstract on each paper.
Journals and Conferences
- "Efficient
Computation of Flow Insensitive Interprocedural Summary
Information" (with K. Kennedy),
Proceedings of the SIGPLAN 84 Symposium on Compiler
Construction, SIGPLAN Notices 19(6), June, 1984,
pages 247-258.
- "Analyzing Aliases of Reference Formal Parameters,"
Conference Record of the Twelfth Annual ACM SIGACT/SIGPLAN
Symposium on Principles of Programming Languages (POPL),
January 1985, pages 281-290.
- "The
Impact of Interprocedural Analysis and Optimization on the
Design of a Software Development Environment"
(with K. Kennedy and L. Torczon),
Proceedings of the SIGPLAN 85 Symposium on Language
Issues in Programming Environments, SIGPLAN Notices 20(7),
July, 1985, pages 107-116.
- "Optimization of Compiled Code in the Rn
Programming Environment"
(with K. Kennedy and L. Torczon),
Proceedings of the 19th Annual Hawaii International Conference
on Systems Sciences, January, 1986, pages 492-502.
- "Interprocedural Constant Propagation"
(with D. Callahan, K. Kennedy and L. Torczon),
Proceedings of the SIGPLAN 86 Symposium on Compiler
Construction,
SIGPLAN Notices 21(7), July, 1986, pages 152-161.
- "Interprocedural Optimization: Eliminating
Unnecessary Recompilation"
(with K. Kennedy and L. Torczon),
Proceedings of the SIGPLAN 86 Symposium on Compiler
Construction, SIGPLAN Notices 21(7), July, 1986, pages 58-67.
- "The
Impact of Interprocedural Analysis and Optimization in the
Rn Programming Environment"
(with K. Kennedy and L. Torczon),
ACM Transactions on Programming Languages and Systems
(TOPLAS), October, 1986, pages 491-523.
- "Editing and Compiling Whole Programs"
(with K. Kennedy, L. Torczon, A. Weingarten, and M. Wolcott),
Proceedings of the Second ACM SIGPLAN/SIGSOFT Symposium on
Practical Software Development Environments (PSDE), December, 1986,
pages 92-101.
- "Parallel Programming Support in ParaScope"
(with D. Callahan, R.T. Hood, K. Kennedy, L. Torczon, and S.K. Warren),
Proceedings of the 1987 DFVLR-Conference on Parallel Processing
in Science and Engineering, Koln, Germany, June, 1987.
Also published as Parallel Computing in Science and Engineering
(R. Dierstein, D. Muller-Wichards, and H. Wacker, editors),
Lecture Notes in Computer Science 295,
Springer-Verlag, Berlin, June 1987, pages 91-106.
- "A Practical Environment for Scientific Programming"
(with A. Carle, R.T. Hood, K. Kennedy, L. Torczon, and S.K. Warren),
IEEE Computer, 20(11), November, 1987, pages 75-89.
- "Efficient Computation of
Flow-Insensitive Interprocedural
Summary Information - A Correction" (with K. Kennedy),
SIGPLAN Notices 23(4), April, 1988, pages 35-42.
- "Interprocedural Side-Effect Analysis in Linear
Time"
(with K. Kennedy), Proceedings of the SIGPLAN 88 Conference
on Programming Language Design and Implementation (PLDI),
SIGPLAN Notices 23(7), July, 1988, pages 57-66.
- "ParaScope: a Parallel Programming Environment"
(with D. Callahan, K. Kennedy, R.T. Hood, and L. Torczon),
The International Journal of Supercomputer Applications,
2(4), December, 1988, pages 84-99.
- "Fast Interprocedural Alias Analysis"
(with K. Kennedy),
Conference Record of the Sixteenth Annual ACM SIGACT/SIGPLAN
Symposium on Principles of Programming Languages (POPL),
January, 1989, pages 49-59.
- "Coloring Heuristics for Register Allocation"
(with P. Briggs, K. Kennedy, and L. Torczon),
Proceedings of the SIGPLAN 89 Conference on Programming
Language Design and Implementation (PLDI), SIGPLAN Notices 24(7),
July, 1989, pages 275-284.
- "An Experiment with Inline Substitution"
(with M.W. Hall and L. Torczon),
Software-Practice and Experience 21(6), June, 1991, pp 581-601.
- "Procedure Cloning" (with M. Hall and K. Kennedy),
Proceedings of the IEEE Computer Society 1992
International Conference on Computer Languages (ICCL), April,
1992, pp 96-105.
- "Using Compiler Technology to Drive Advanced
Microprocessors"
Proceedings of the DARPA Software Technology Conference,
Los Angeles, CA, April 28-30, 1992, pp. 42-49.
- "Coloring Register Pairs" (with P.
Briggs and L. Torczon),
ACM Letters on Programming Languages and Systems,
(LOPLAS) 1(1), March 1992, pp. 3-13.
- "Unexpected Side Effects of Inline
Substitution: A Case Study"
(with M.W. Hall and L. Torczon),
ACM Letters on Programming Languages and
Systems (LOPLAS) 1(1), March 1992, pp. 22-32.
- "Rematerialization" (with P. Briggs and L.
Torczon),
Proceedings of the SIGPLAN 92 Conference on Programming
Language Design and Implementation (PLDI), SIGPLAN Notices 27(7),
July, 1992, pp. 311-321.
- "The ParaScope Parallel Programming Environment"
(with M.W. Hall, R.T. Hood, K. Kennedy, K. McKinley, J. Mellor-Crummey,
L. Torczon, and S.K. Warren)
Proceedings of the IEEE, 81(2), February 1993, pp. 244-263.
- "A Methodology for Procedure Cloning"
(with M.W. Hall and K. Kennedy)
Computer Languages, 19(2), April 1993, pp. 105-118.
- "Improvements to Graph Coloring Register
Allocation",
(with P. Briggs and L. Torczon),
ACM Transactions on Programming Languages and Systems
(TOPLAS) 16(3), May 1994, pp. 428-456.
- "Effective Partial Redundancy Elimination"
(with P. Briggs),
Proceedings of the SIGPLAN 94 Conference on Programming
Language Design and Implementation, SIGPLAN Notices 29(6)
June 1994, pp.159-170.
- "Combining Analyses, Combining Optimizations"
(with C. Click), ACM Transactions on Programming
Languages and Systems (TOPLAS), 17(2), March 1995, pp.
181-196.
- "Interprocedural Analysis and Optimization"
(with M. Hall, K. Kennedy, and L. Torczon) Communications
on Pure and Applied Mathematics, Volume 48, 1995, pages 947-1003.
- "Cross-loop Reuse Analysis and its Application
to Cache Optimizations"
(with K. Kennedy and N. McIntosh), Proceedings of Languages and
Compilers for Parallel Computers (LCPC), August 1996.
- "Value Numbering",
(with P. Briggs and L. Taylor Simpson),
Software--Practice and Experience 27(6),
June 1997, pp. 710-724.
- "Register promotion in C programs", (with J. Lu)
Proceedings of the
SIGPLAN 97 Conference on Programming Language Design
and Implementation (PLDI), SIGPLAN Notices 32(6),
June 1997, pages 308-319.
- "How to build an interference graph"
(with T.J. Harvey and L. Torczon).
Software-Practice and Experience, 28(4), April, 1998,
pages. 425-444.
- "Live-range splitting in a graph coloring
register allocator",
(with L.T. Simpson), Proceedings of the 1998 International
Conference on Compiler Construction,
(Lecture Notes in Computer Science, 1383, Springer),
March/April 1998, Lisbon, Portugal, pp. 174-187.
- "
Practical Improvements to the Construction and Destruction of
Static Single Assignment Form" (with P. Briggs, T.J. Harvey,
and L. Taylor Simpson). Software-Practice and
Experience 28(8), July, 1998, pp. 859-881.
- "Compiler-controlled memory" (with T.J. Harvey).
Proceedings of the Eighth International Conference on
Architectural Support for Programming Languages and Operating
Systems (ASPLOS), San Jose, CA, October 1998, pp. 2-11.
(Also: ACM SIGPLAN Notices, 33(11), November 1998;
ACM SIGOPS Operating Systems Review, 32(5), December 1998; and
ACM SIGARCH Computer Architecture News, 26(Special Issue),
October 1998.)
- "Enhanced Code Compression for Embedded
RISC Processors"
(with N. McIntosh), Proceedings of the SIGPLAN 99
Conference on Programming Language Design and Implementation
(PLDI), SIGPLAN Notices 34(?), pages 139-149.
- "
Operator Strength Reduction"
(with L.T. Simpson and C. Vick).
ACM Transactions on Programming Languages and Systems (TOPLAS),
( to appear).
Workshop papers:
- "Aggressive Live Range Splitting"
(with P. Briggs and L. Torczon),
Code 91 - Concepts, Tools, and Techniques,
Schloss Dagstuhl, Germany, May, 1991.
- "Compilers, Microprocessors, and
Memory Systems" (with P. Briggs),
NSF Workshop on High Performance Memory Systems,
Charlottesville, Virginia, April, 1993.
- "Non-local instruction scheduling with
limited code growth"
(with P.J. Schielke). 1998 ACM SIGPLAN
Workshop on Languages, Compilers, and Tools for Embedded Systems
(LCTES), Montreal, CA, June 1998.
(Lecture Notes in Computer Science, 1474, F. Mueller and
A. Bestavros, (editors), Springer), June 1988, pp. 193-207.
- "Optimizing
for Reduced Code Space using Genetic Algorithms"
(with P. Schielke and D. Subramanian), 1999 ACM SIGPLAN
Workshop on Languages, Compilers, and Tools for Embedded Systems
(LCTES), Atlanta, GA, May 1999. (Proceedings will appear
as an issue of SIGPLAN Notices)
Patents:
- Digital Computer Register Allocation
and Code Spilling Using Interference Graph Coloring
(with P. Briggs, K. Kennedy, and L. Torczon), Patent number 5,249,295.
Building Monograph
- "Outram's Building at Rice: Icons, Images, and
Themes", published by Rice University, October 1996; 20 pages.
Technical Reports
-
"Recompilation Algorithms for an Optimizing Compiler Based in the
Rn Programming Environment" (with K. Kennedy and L. Torczon),
Computer Science Technical Report 84-7, Rice University, November 1984.
-
"The Rn Environment: A Capsule Description"
(with R.T. Hood, K. Kennedy, and L. Torczon),
Computer Science Technical Report 87-46, Rice University, June 1987.
-
"Advanced Techniques in Interprocedural Analysis"
(with D. Callahan, K. Kennedy, and L. Torczon),
Computer Science Technical Report 87-48, Rice University, June 1987.
- "Goal-directed Interprocedural Optimization",
(with P. Briggs, M.W. Hall, and L. Torczon),
Computer Science Technical Report 90-147, November 1990.
- "Value-Numbering" (with P. Briggs
and L.T. Simpson). Center for Research on Parallel Computation
Technical Report TR94527, November 1994
- "An Empirical Study of Inter-loop Reuse
in the NAS Benchmarks"
(with K. Kennedy and N. McIntosh)
Center for Research on Parallel Computation
Technical Report TR95519 (available online), March 1995.
- "Using Conditional Branches to Improve
Constant Propagation"
(with P. Briggs and L. Torczon), Center for Research on Parallel
Computation Technical Report TR95533, April 1995.
- "Operator Strength Reduction"
(with L.T. Simpson and C. Vick),
Center for Research on Parallel Computation
Technical Report TR95635 (available online), October 1995.
- "SCC-Based Value Numbering"
(with L.T. Simpson),
Center for Research on Parallel Computation
Technical Report TR95636 (available online), October 1995.
- "Value-Driven Code Motion" (with
L.T. Simpson), Center for Research on Parallel Computation
Technical Report TR95637 (available online), October 1995.
- "Compiler Techniques for Software
Prefetching of Cache-Coherent Shared-Memory Multiprocessors,"
(with N. McIntosh, K. Fletcher, and K. Kennedy), Center for
Research on Parallel Computation Technical Report TR96675,
October 1996.
- "An Experimental Evaluation of
List Scheduling," (with P. Schielke and D. Subramanian),
Rice University Department of Computer Science Technical
Report 98-326, September 1998.