Open64 Training Class
Time: Feb 22 & 23, 9:00am - 5:00pm
Location: Dupont 140 www.engr.udel.edu/ecalc/index.html
Slides: TBA
Participation limited to students and academic researchers!!!
Day 1:
A. Introduction
- History of the compiler
- Overall phase structure
- Design philosophy
- WHIRL IR
B. Compilation Process
- Compiler driver
- Front-ends
- VHO
- WHIRL lowering
- WHIRL simplifier
- Data Layout
C. Global Scalar Optimization I - Pre-OPT
- Fundamentals of SSA
- SSA-based optimizations
- Alias analysis in WOPT
- SSA representation in WOPT
- Pre-OPT phase structure
Day 2:
D. Global Scalar Optimization II - Main-OPT
- Partial redundancy elimination in SSA
- Other redundancy-based optimizations
E. Loop Nest Optimization
- Dependency tests
- Transformation for data cache
- Vectorization and parallelization
- Other LNO transformations
F. Code Generation
- Target information tables
- CGIR
- Code generator phase structure
- CG expansion
- EBO
- control flow optimizations
- innermost loop optimizations
- instruction scheduling
- register allocation
- handling asm statements
G. Inter-procedural Analysis and Optimization
- IPA compilation framework
- summary information
- symbol table merging
- mod/ref analysis
- interprocedural constant propagation
- cloning
- alias class analysis
- IPA phase structure
H. Inlining
- Mode of operation
I. Feedback-directed Compilation
- Instrumentation
- Use of feedback data
J. OpenMP and Auto-parallelization
- Approach to enable coarse-grained parallelism
- Compilation framework
K. Practical Matters
- development guidelines
- debugging aids
- memory management
- supporting intrinsics
- supporting new machine instructions
- supporting new WHIRL operators
- isolating optimization bugs
SSA will be covered in depth in Session C. Though it looks like more
contents in Day 2, in fact it is not.



