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

  1. "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.

  2. "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.

  3. "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.

  4. "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.

  5. "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.

  6. "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.

  7. "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.

  8. "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.

  9. "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.

  10. "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.

  11. "Efficient Computation of Flow-Insensitive Interprocedural Summary Information - A Correction" (with K. Kennedy), SIGPLAN Notices 23(4), April, 1988, pages 35-42.

  12. "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.

  13. "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.

  14. "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.

  15. "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.

  16. "An Experiment with Inline Substitution" (with M.W. Hall and L. Torczon), Software-Practice and Experience 21(6), June, 1991, pp 581-601.

  17. "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.

  18. "Using Compiler Technology to Drive Advanced Microprocessors" Proceedings of the DARPA Software Technology Conference, Los Angeles, CA, April 28-30, 1992, pp. 42-49.

  19. "Coloring Register Pairs" (with P. Briggs and L. Torczon), ACM Letters on Programming Languages and Systems, (LOPLAS) 1(1), March 1992, pp. 3-13.

  20. "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.

  21. "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.

  22. "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.

  23. "A Methodology for Procedure Cloning" (with M.W. Hall and K. Kennedy) Computer Languages, 19(2), April 1993, pp. 105-118.

  24. "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.

  25. "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.

  26. "Combining Analyses, Combining Optimizations" (with C. Click), ACM Transactions on Programming Languages and Systems (TOPLAS), 17(2), March 1995, pp. 181-196.

  27. "Interprocedural Analysis and Optimization" (with M. Hall, K. Kennedy, and L. Torczon) Communications on Pure and Applied Mathematics, Volume 48, 1995, pages 947-1003.

  28. "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.

  29. "Value Numbering", (with P. Briggs and L. Taylor Simpson), Software--Practice and Experience 27(6), June 1997, pp. 710-724.

  30. "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.

  31. "How to build an interference graph" (with T.J. Harvey and L. Torczon). Software-Practice and Experience, 28(4), April, 1998, pages. 425-444.

  32. "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.

  33. " 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.

  34. "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.)

  35. "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.

  36. " Operator Strength Reduction" (with L.T. Simpson and C. Vick). ACM Transactions on Programming Languages and Systems (TOPLAS), ( to appear).

    Workshop papers:

  37. "Aggressive Live Range Splitting" (with P. Briggs and L. Torczon), Code 91 - Concepts, Tools, and Techniques, Schloss Dagstuhl, Germany, May, 1991.

  38. "Compilers, Microprocessors, and Memory Systems" (with P. Briggs), NSF Workshop on High Performance Memory Systems, Charlottesville, Virginia, April, 1993.

  39. "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.

  40. "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:

  41. 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

  42. "Outram's Building at Rice: Icons, Images, and Themes", published by Rice University, October 1996; 20 pages.

    Technical Reports

  43. "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.

  44. "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.

  45. "Advanced Techniques in Interprocedural Analysis" (with D. Callahan, K. Kennedy, and L. Torczon), Computer Science Technical Report 87-48, Rice University, June 1987.

  46. "Goal-directed Interprocedural Optimization", (with P. Briggs, M.W. Hall, and L. Torczon), Computer Science Technical Report 90-147, November 1990.

  47. "Value-Numbering" (with P. Briggs and L.T. Simpson). Center for Research on Parallel Computation Technical Report TR94527, November 1994

  48. "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.

  49. "Using Conditional Branches to Improve Constant Propagation" (with P. Briggs and L. Torczon), Center for Research on Parallel Computation Technical Report TR95533, April 1995.

  50. "Operator Strength Reduction" (with L.T. Simpson and C. Vick), Center for Research on Parallel Computation Technical Report TR95635 (available online), October 1995.

  51. "SCC-Based Value Numbering" (with L.T. Simpson), Center for Research on Parallel Computation Technical Report TR95636 (available online), October 1995.

  52. "Value-Driven Code Motion" (with L.T. Simpson), Center for Research on Parallel Computation Technical Report TR95637 (available online), October 1995.

  53. "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.

  54. "An Experimental Evaluation of List Scheduling," (with P. Schielke and D. Subramanian), Rice University Department of Computer Science Technical Report 98-326, September 1998.