Compilers Track
PhD qualifying examination
Core
1) D.
Padua and M. Wolfe. "Advanced Compiler Optimizations
for Supercomputers," Communications of the ACM, Vol.
29, No. 12, pp. 1184-1201, December 1986.
2) Rakesh Ghiya,
Daniel Lavery, and David Sehr. "On the Importance of
Points-to Analysis and Other Memory Disambiguation Methods
for C Programs," Proceedings of the ACM SIGPLAN 2001
Conference on Programming Language Design and Implementation
(PLDI'01), Snowbird, UT, June 2001.
3) Michael E.
Wolf and Monica S. Lam. "A Data Locality Optimizing Algorithm,"
ACM SIGPLAN Conference on Programming Languages Design and
Implementation, June 1991, pp. 30-44.
4) R. Cytron,
J. Ferrante, B. Rosen, M. Wegman, and K. Zadeck. "Efficiently
Computing Static Single Assignment Form and The Control Dependence
Graph," ACM Transactions on Porgramming Languages and
Systems, 13(4), pp. 451-490, October 1991.
5) Joseph A, Fisher
and B. Ramakrishna Rau. "Instruction-Level Parallel Processing,"
Science, New Series, Vol. 253, No. 5025, September 13, 1991,
pp. 1233-1241.
Specialization
Overview
1) Marc
Auslander and Martin Hopkins. "An Overview of the PL.8
Compiler," Proceedings of the 1982 SIGPLAN Symposium
on Compiler Construction, Boston, MA pp. 22-31, 1982.
2) Kevin
O'Brien, Kathryn M. O'Brien, Martin Hopkins, Arvin Shepherd,
and Ron Unrau, "XIL and YIL: The Intermediate Languages
of TOBEY," ACM SIGPLAN Notices, 30(3), pp. 71-82, March
1993.
3) L. Almagor,
K.D. Cooper, A. Grosul, T.J. Harvey, S.W. Reeves, D. Subramanian,
L. Torczon, and T. Waterman. "Finding Effective Compilation
Sequences," Proceedings of the 2004 Conference on Languages,
Compilers, and Tools for Embedded Systems (LCTES), June 2004,
pp. 231-230.
Data Flow Analysis and Optimizations
4) J. B. Kam and
J. D. Ullman. "Global Data Flow Analysis and Iterative
Algorithms,"Journal of the ACM, 23(1), pp. 158-171, Jan.
1976.
5) Barbara G.
Ryder and Marvin C. Pauli. "Elimination algorithms for
data flow analysis," ACM Computing Surveys, 18 (3), pp.
277-316. September 1986.
6) J. Knoop,
O. Ruthing, and B. Steffen. "Lazy Code Motion,"
Proceedings of the ACM Symposium on Programming Language Design
and Implementation (PLDI'92), 1992.
Static Single Assignment Form and SSA
Optimizations
7) B. Alpern,
M.N. Wegman, and F.K. Zadeck. "Detecting Equality of
Variables in Programs," Proceedings of the 15th Annual
ACM Symposium on Principles of Programming Languages, pp.
1-11, 1988.
8) Mark N.
Wegman and Kenneth Zadeck. "Constatnt Propagation with
Conditional Branches," ACM Transactions on Programming
Languages and Systems, 13(2), pp. 181-210, April 1991.
Dependence Analysis
9) M.E. Wolfe
and M. Lam. "A Loop Transformation Theory and an Algorithm
to Maximize Parallelism, IEEE Transactions on Parallel and
Distributed Systems, 2(4): 452-471, October 1991.
10) R. Allen
and K.W. Kennedy. "Automatic Translation of FORTRAN Programs
to Vector Form," ACM Transactions on Programming Languages
and Systems (TOPLAS), 9(4), October 1987, pp. 491-542.
Pointer Analysis
11) B.
Steensgaard. "Points-to Analysis in Almost Linear Time,"
Proceedings of the 23rd Annual ACM Symposium on Principles
of Programming Languages (POPL'96), pp. 32-41, January 1996.
12) Manuel
Fahndrich, Jeffrey S. Foster, Zhendong Su, and Alexander Aiken.
"Partial Online Cycle Elimination in Inclusion Constraint
Graphs," Proceedings of the ACM SIGPLAN'98 Conference
on Programming Language Design and Implementation, pp. 85-96,
June, 1998.
Interprocedural Optimization
13) Michael
Burke, Linda Torczon. "Interprocedural Optimization:
Eliminating Unnecessary Recompilation," ACM Transactions
on Programming Languages and Systems, 15(3), July 1993.
Code Generation and Register Allocation
14) C. Fraser,
R. Henry, and T. Proebsting. "BURG: Fast Optimal Instruction
Selection and Tree Parsing," ACM SIGPLAN Notices, 27(4),
pp. 68-76, April 1992.
15) Preston
Briggs, Keith Cooper, and Linda Torczon. "Improvements
to Graph Coloring Register Allocation," ACM Transactions
on Programming Languages and Systems, 16(3), pp. 428-455,
May 1994.
Scheduling
16) P.B.
Gibbons and S.S. Muchnick. "Efficient Instruction Scheduling
for a Pipelined Architecture," ACM SIGPLAN Symposium
on Compiler Construction, pp. 11-16, June 1986.
17) W.W. Hwu,
et.al. "The Superblock: An Effective Technique for VLIW
and Superscalar Compilation," Instruction-Level Parallelism,
B.R. Rau and J.A. Fisher (editors), Kluwer Academic Publishers,
ISBN 0-7923-9367-8, 1993, pp. 229-248.
Architecture core and specialization
reading list
Parallel programming core and specialization
reading list
Systems core and specialization reading
list
Academic Office Qual Contact: Mary Beth Kelley