What we have learned before midterm examination?

  1. Basic Stuff: Basic Block, CFG.

  2. Local Optimization: Liveness, Optimization within a block, DAG, Peephole

  3. Dataflow Analysis(DFA): Reaching Definition, Available Expressions, Live Variables

  4. DFA Foundation: Lattice, Top/Bottom, Join/Meet, Transfer Function, Monotocity, Distributivity, Worklist Algorithm, Least Fixed Point, Convergence Criteria, Dataflow Analysis Framework.

  5. Partial Redundancy Elimination (PRE): Partial Redundancy, Anticipation, Availability, Earliest, Latest, Lazy Code Motion Algorithm.

  6. Natural Loops: Dominators, DFST, DF Order, Back Edge, Reducibility, Natural Loops, Flow Graph Depth, Iteration Convergence Speed.

  7. SSA: Dominance Frontier, Phi-functions, Variables Renaming, Basic Optimization with SSA.