CSc 553 Principles of Compilation considers
advanced topics in compilation. Emphasis will be placed on advanced
topics in code generation, register allocation, and optimization.
The class page for 2011 is here.
Lecture notes can be found here.
Topics
- interpretation:
Instruction sets, fast interpreter implementation.
- fancy programming constructs:
Exception handling, garbage
collection, iterators, modules, object oriented
language features.
- code generation:
Instruction selection, register allocation,
instruction scheduling, peephole optimization.
- program analysis:
Alias and shape analysis, dependence analysis,
data-flow analysis, control-flow analysis,
type hierarchy analysis.
- code optimization:
Global optimization, memory hierarchy optimizations,
inlining.
- scientific code:
FORTRAN, parallel computers, parallelizing compilers.