CS 701, Course Description
CS 701 studies advanced aspects of compilation, particularly
program analysis, optimization and code generation.
It assumes a familiarity with the general design and
implementation of simple compilers (as presented, e.g., in
CS 536).
Topics to be studied include:
-
Register allocation and graph coloring.
-
Code scheduling.
-
Automatic instruction selection and retargetable compilers, especially LLVM.
-
Program transformations that improve instruction and data cache performance.
-
Local and global optimizations, including redundancy analysis,
live/dead analysis, constant and copy propagation,
code motion and loop reorganization.
-
Program representations, including control flow graphs,
dependency graphs and single assignment form.
-
Data flow frameworks and algorithms, dominance,
dependency and alias analysis.
-
Points-to analysis.
Mon Aug 11 14:41:17 CDT 2014