Compilers: Principles, Techniques, and Tools,
A. Aho, R. Sethi, and J. Ullman, Addison-Wesley, 1988.
(Chapters: 9.4, 10.4 Edition 1; Chapters 6.6, 9.6 Edition 2)
Class 3: (9/11/2019)
"Trace Selection for Compiling Large C
Applications to Microcode",
P. Chang and W. Hwu, MICRO-21, 1988 [pdf]
"The Superblock: An Effective Technique
for ILP Compilation ",
W. Hwu et al., Journal of Supercomputing, 1993 [pdf]
Class 4: (9/16/2019)
"The Program Dependence Graph and Its Use in
Optimization", J. Ferrante, K. Ottenstein, and J. Warren, ACM
Transactions on Programming Languages and Systems, 1987. [pdf] (Its a
long paper, just look at the part on control dependences)
"On Predicated Execution",
J. Park and M. Schlansker, HP Labs Tech Report, HPL-91-58, 1991 [pdf]
Optional if you want to learn more about selective if-conversion: "Effective Compiler Support for Predicated
Execution using the Hyperblock", S. Mahlke et al., Proc. MICRO-25, 1992 [pdf]
Class 5: (9/18/2019)
Compilers: Principles, Techniques, and Tools, A. Aho, R. Sethi, and J. Ullman, Addison-Wesley, 1988. (Chapters: 10.5, 10.6 Edition 1; Chapters 9.2 Edition 2)
Class 6: (9/23/2019)
Compilers: Principles, Techniques, and Tools, A. Aho, R. Sethi, and J. Ullman, Addison-Wesley, 1988. (Chapters: 10.5, 10.6, 10.9, 10.10 Edition 1; Chapters 9.2, 9.3 Edition 2)
Class 7: (9/25/2019)
Compilers: Principles, Techniques, and Tools, A. Aho, R. Sethi, and J. Ullman, Addison-Wesley, 1988. (Chapters: 10.5, 10.6, 10.9, 10.10 Edition 1; Chapters 9.2, 9.3 Edition 2)
Class 8: (9/30/2019)
"Practical Improvements to the Construction and
Destruction of Static Single Assignment Form,"
P. Briggs, K. Cooper, T. Harvey, and L. Simpson, Software--Practice and Experience, 28(8), July 1998, pp. 859--891. [pdf]
Class 9: (10/2/2019)
Compilers: Principles, Techniques, and Tools, A. Aho, R. Sethi, and J. Ullman, Addison-Wesley, 1988. (Chapters: 9.9, 10.2, 10.3, 10.7 Edition 1; Chapters 8.5, 8.7, 9.1, 9.4, 9.5 Edition 2)
Class 10: (10/7/2019)
"Compiler Code Transformations for Superscalar-Based High-Performance
Systems",
S. Mahlke, W. Chen, J. Gyllenhaal, W. Hwu, P. Chang, and T. Kiyohara,
Proceedings of Supercomputing '92, Nov. 1992, pp. 808-817. [pdf]
Class 11: (10/9/2019)
"Machine Description Driven Compilers for EPIC
Processors", B. Rau, V. Kathail, and S. Aditya, HP Technical Report, HPL-98-40, 1998. [pdf] (Note this is a long paper,
but very informative to skim over for how to build a retargetable compiler)
No Class for Fall Break (10/14/2019)
Class 12: (10/16/2019)
"The Importance of Prepass Scheduling for Superscalar and Superpipelined
Processors", P. Chang et al., IEEE Transactions on Computers, 1995, pp. 353-370. [pdf]
No Class due to Project Meetings (10/21/2019)
No Class due to Project Meetings (10/23/2019)
Class 13: (10/28/2019)
"The Importance of Prepass Scheduling for Superscalar and Superpipelined
Processors", P. Chang et al., IEEE Transactions on Computers, 1995, pp. 353-370. [pdf]
No Class due to Scott being sick (10/30/2019)
Class 14: (11/4/2019)
"Iterative Modulo Scheduling: An Algorithm for
Software Pipelining Loops", B. Rau, MICRO-27, Dec. 1994, pp. 63-74. [pdf]
Class 15: (11/6/2019)
"Code Generation Schema for Modulo Scheduled
Loops", B. Rau, M. Schlansker, and P. Tirumalai, MICRO-25, Dec. 1992. [pdf]
Class 16: No reading, Exam review (11/11/2019)
No reading, Midterm exam (11/13/2019)
Class 17: Register Allocation and Research Paper Presentations I (11/18/2019)
"Register Allocation and Spilling Via Graph
Coloring,"
G. Chaitin, Proc. 1982 SIGPLAN Symposium on Compiler Construction, 1982. [pdf]
Class 18: Research Paper Presentations II (11/20/2019)
"Eliminating Timing Side-Channel Leaks using Program Repair," [pdf]
"Support of Probabilistic Pointer Analysis in the SSA Form," [pdf]