week class date lecture assignment
1 1 2-Sep compiler structure, IR, types of code optimization
2 4-Sep removing redandant computation
2 3 9-Sep value numbering, local course project assigned
4 11-Sep value numbering, local
3 5 16-Sep value numbering, global trivial due
6 18-Sep data flow analysis, AVAIL and LIVE
4 7 23-Sep data flow analysis, general
8 25-Sep def-use chains
5 9 30-Sep Guest lecture: Shen-dead code elimination, constant propogation
10 2-Oct Guest lecture: Prof. Scott-prog. lang. pragmatics
Fall break, 10/6
6 11 7-Oct SSA value numbering due
12 9-Oct SSA
7 13 14-Oct partial redundancy elimination
14 16-Oct mid-term exam
8 15 21-Oct instruction scheduling, local, loop, and global
16 23-Oct register allocation
9 17 28-Oct compiling for high-performance architecture data flow due
18 30-Oct dependence theory
10 19 4-Nov dependence classification
20 6-Nov vectorization
11 21 11-Nov dependence testing I final project due
22 13-Nov dependence testing II, parallelism homework I
12 24 18-Nov control flow, array register allocation, unroll-and-jam
25 20-Nov loop fusion, data prefetching
13 26 25-Nov interprocedural analysis homework I due
Thanksgiving, 11/26-11/30
14 27 2-Dec functional languages, binding, environment, scope homework II
28 4-Dec call-by-value semantics
15 24 9-Dec call-by-name semantics homework II due
25 11-Dec project presentation, class evaluation
Final exam on Dec. 18 7:15pm in Room 601