ScheduleΒΆ

  • The schedule may change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, email to the course instructor.

Monday Tuesday Wednesday Thursday Friday
Aug 25
LEC 1: Introduction
Classes Begin
Aug 26 Aug 27
LEC 2: Compiler Overview
Aug 28 Aug 29
Sep 1
Labor Day
Sep 2 Sep 3
LEC 3: Syntatic analysis
Sep 4 Sep 5
Sep 8
LEC 4: Recursive descent parsing
Sep 9 Sep 10
LEC 5: Semantic analysis
Sep 11 Sep 12
DUE: PA0 Install USCC
Sep 15
LEC 6: Intermediate representation
Sep 16 Sep 17
LEC 7: LLVM overview
Sep 18 Sep 19
Sep 22
LEC 8: Control flow analysis
Sep 23 Sep 24
LEC 9: Superblock
Sep 25 Sep 26
DUE: PA1 Recursive descent parsing
Sep 29
LEC 10: SSA
Sep 30 Oct 1
LEC 11: SSA optimization
Oct 2 Oct 3
Oct 6
LEC 12: Control dependence
Oct 7 Oct 8
Midterm Exam (in-class)
Oct 9 Oct 10
DUE: PA2 Semantic analysis
Oct 13
Fall Break
Oct 14
Fall Break
Oct 15
LEC 13: Dataflow analysis
Oct 16 Oct 17
Oct 20
LEC 14: Dataflow analysis 2
Oct 21 Oct 22
LEC 15: DFA theory
Oct 23 Oct 24
DUE: PA3 IR lowering
Oct 27
LEC 16: DFA theory 2
Oct 28 Oct 29
LEC 17: Def-use chain
Oct 30 Oct 31
Nov 3
LEC 18: Optimization
Nov 4 Nov 5
LEC 19: LICM
Nov 6 Nov 7
Nov 10
LEC 20: Pointer analysis intro
Nov 11 Nov 12
LEC 21: Pointer analysis flow-insensitive
Nov 13 Nov 14
DUE: PA4 SSA
Nov 17
LEC 22: Pointer analysis implmentation
Nov 18 Nov 19
LEC 23: Register allocation
Nov 20 Nov 21
Nov 24
LEC 24: Instruction selection
Nov 25 Nov 26
Thanksgiving Break
Nov 27
Thanksgiving Break
Nov 28
Thanksgiving Break
Dec 1
LEC 25: Instruction scheduling
Dec 2 Dec 3
LEC 26: Global instruction selection
Dec 4 Dec 5
DUE: PA5 Optimization
Dec 8
LEC 27: TBD
Classes End
Dec 9 Dec 10 Dec 11 Dec 12
Dec 15 Dec 16 Dec 17
Final Exam (8:00 AM - 9:30 AM, 90 mins)
Dec 18 Dec 19