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