What we have learned before midterm examination?
Basic Stuff: Basic Block, CFG.
Local Optimization: Liveness, Optimization within a block, DAG, Peephole
Dataflow Analysis(DFA): Reaching Definition, Available Expressions, Live Variables
DFA Foundation: Lattice, Top/Bottom, Join/Meet, Transfer Function, Monotocity, Distributivity, Worklist Algorithm, Least Fixed Point, Convergence Criteria, Dataflow Analysis Framework.
Partial Redundancy Elimination (PRE): Partial Redundancy, Anticipation, Availability, Earliest, Latest, Lazy Code Motion Algorithm.
Natural Loops: Dominators, DFST, DF Order, Back Edge, Reducibility, Natural Loops, Flow Graph Depth, Iteration Convergence Speed.
SSA: Dominance Frontier, Phi-functions, Variables Renaming, Basic Optimization with SSA.