Chapter numbers refer to the chapters from the book Enginnering a Compiler by Keith Cooper and Linda Torczon.
W | L | Date | Topic | Required Reading | Suggested Reading | Comments | |
---|---|---|---|---|---|---|---|
1 | 1 | 2006-01-10 | Course agenda, policies, introduction to compilers | Backus's Fortran paper | Notes | ||
2 | 2006-01-12 | Modern machines and programming models | Adve's memory consistency paper | Notes to come; Assignment 1 out | |||
2 | 3 | 2006-01-17 | Dependence Analysis | Notes | |||
4 | 2006-01-19 | Dependence Analysis (contd.) | Notes | ||||
3 | 5 | 2006-01-24 | Dependence Analysis (contd.) | Notes | |||
6 | 2006-01-26 | Introduction to Compilers | Chapter 1 | ||||
4 | 7 | 2006-01-31 | Lexical Analysis | Chapter 2, except Section 2.4 | Section 2.4 | Assignment 2 out | |
8 | 2006-02-02 | Parsing | Chapter 3, except Sections 3.5, 3.7 | Section 3.5 | Assignment 2 Phase II out | ||
5 | 9 | 2006-02-07 | Syntax-directed Translation | Chapter 4 | |||
10 | 2006-02-09 | Handling Procedure Abstraction | Sections 5.3, 5.7, 6.1-6.6, 7.9 | Assignment 2 Phase III out | |||
6 | 11 | 2006-02-14 | Some issues in implementing OO languages | Sections 7.1-7.2, 7.5-7.7, 7.10 | |||
12 | 2006-02-16 | Intro. to Optimization, Value Numbering | Sections 8.1-8.3 | ||||
7 | 13 | 2006-02-21 | Global Redundancy Elimination | Sections 8.4-8.6, Cooper and Simpson's paper | Assignment 3 out | ||
14 | 2006-02-23 | Dataflow Analysis | Sections 9.1-9.2 | ||||
8 | 15 | 2006-02-28 | Iterative Solvers | Iterative Algorithms, Monotone Frameworks | |||
16 | 2006-03-02 | Non-iterative Solvers | Section 9.4.1, Kennedy survey chapter except graph grammars, SSA is functional programming | a pre-print version of the survey | Notes | ||
9 | 17 | 2006-03-07 | SSA | Section 9.3, Up to Section 4 of the Cytron et al. SSA paper | Notes | ||
18 | 2006-03-09 | Mid-term | |||||
2006-03-14 | Spring Break | ||||||
2006-03-16 | |||||||
10 | 19 | 2006-03-21 | SSA | Section 4 of the Cytron et al. SSA paper | |||
20 | 2006-03-23 | SSA | Section 9.3, Section 5 of the Cytron et al. SSA paper | Paper by Briggs et al. highlighting the lost-copy and swap problems | |||
11 | 21 | 2006-03-28 | Constant Propagation | Until Section 5 of Wegman & Zadeck | |||
22 | 2006-03-30 | Global value numbering | Cooper & Simpson | ||||
12 | 23 | 2006-04-04 | Partitioning-based approach | Alpern et al. | Assignment 4 out | ||
24 | 2006-04-06 | Array SSA | Knobe and Sarkar | ||||
13 | 25 | 2006-04-11 | Dependence testing | Notes | |||
26 | 2006-04-13 | Dependence testing | Bill Pugh's Omega test | Notes | |||
14 | 27 | 2006-04-18 | Loop Transformations | Allen & Kennedy, Chapter 5 (except 5.4 and 5.5) | Pugh's uniform techniques | Notes | |
28 | 2006-04-20 | Compiling HPF | Allen & Kennedy, Chapter 14; paper on productivity | ||||
15 | 29 | 2006-04-25 | Recap | class in LH 215D; slides | |||
30 | 2006-04-27 | Project presentations | class in LH 215D |
Note: The number of lectures indicated in the parentheses are approximate and only provided to give you an idea of the extent of coverage of a particular topic. The actual number of lectures devoted to a topic may vary.
B629, Arun Chauhan, Department of Computer Science, Indiana University