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: Def-use chain
Oct 23 Oct 24
DUE: PA3 IR lowering
Oct 27
LEC 16: Optimization
Oct 28 Oct 29
LEC 17: LICM
Oct 30 Oct 31
Nov 3
LEC 18: Pointer analysis intro
Nov 4 Nov 5
LEC 19: Pointer analysis flow-insensitive
Nov 6 Nov 7
Nov 10
LEC 20: Pointer analysis implmentation
Nov 11 Nov 12
LEC 21: Register allocation
Nov 13 Nov 14
DUE: PA4 SSA
Nov 17
LEC 22: Instruction selection
Nov 18 Nov 19
LEC 23: Instruction scheduling
Nov 20 Nov 21
Nov 24
LEC 24: Global instruction selection
Nov 25 Nov 26
Thanksgiving Break
Nov 27
Thanksgiving Break
Nov 28
Thanksgiving Break
Dec 1
LEC 25: TBD
Dec 2 Dec 3
LEC 26: TBD
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