Schedule for CSC 431, Spring 2019

Date Topic Readings Lab Assignment due Other
W Apr 3 Intro, What is a compiler?
F 5 preliminaries, assembly language
M 8 overview of compiler stages, discussion of x86_64 assembly Ch. 1 & 2 Lab 1
W 10 x86_64 instructions, addressing modes, calling convention
F 12 register allocation I Ch. 3
M 15 register allocation II, R2
W 17
F 19 Lambda Lifting, Static Single-Assignment form Assignment 1 due
M 22 Scope, Letrec
W 24 Basic block conversion
F 26 Debugging tools: lldb, objdump
M 29 extended basic-block example
W May 1 Lifting, Struct overview
F 3 Struct type-checking Assignment 2 (tba)
M 6 While loops
W 8 Closure Conversion
F 10 Register Allocation I
M 13 Register Allocation II
W 15 Optimization Overview
F 17 Q & A
M 20 TBA
W 22 TBA
F 24 Demos Assignment 3 (tba)
M 27 SSA I
W 29 SSA II
F 31 Tail-calling
M Jun 3 Review of IR, Translation
W 5 Review of Type-checking, ANF, code generation
F 7 Review of Closure Conversion
T 11 Assignment 4 (tba)