|Short Course in Oregon, 7/95 firstname.lastname@example.org (1995-06-27)|
|From:||email@example.com (Linda M. Pease)|
|Organization:||Oregon Graduate Institute of Science & Technology|
|Date:||Tue, 27 Jun 1995 14:48:43 GMT|
Oregon Graduate Institute of Science & Technology, Office of Continuing
Education, offers a short course at the OGI campus near Portland, Oregon.
COMPILER ANALYSIS AND OPTIMIZATION M-F, July 24-28, 1995, 8:30am-5pm
Course fee: $1,695 (includes course instruction, materials, break
refreshments and lunches, Monday night reception and Thursday night
Course Instructor: Michael Wolfe
Many classical code analysis and optimization algorithms have been
developed over the past 35 years. While these are firmly based on a solid
theoretical foundation, many optimizations have become significantly more
complex due to aggressive processor architectures. For instance, register
allocation and instruction scheduling are complicated because pipeline and
memory latencies, functional unit and datapath reservations, and explicit
delayed operations must be taken into account. Moreover, with the
parallelism inherent in current processor designs, code generation options
can be used that would not make sense on a simple sequential processor.
* Compiler Framework
Front end, optimizer, code generation, peephole
optimizations, basic blocks, control flow graph, expression
trees or DAGs.
Logic, sets, relations, lattices, monotonicity, graphs, trees,
graph algorithms, strongly connected components,dominators.
* Data-Flow Analysis
Monotone data-flow framework, iterative solution, live
variables, reaching definitions, dominators, syntax-based
analysis, interval analysis, slotwise analysis, sparse
Dominator trees, fast dominator algorithm, loop analysis.
* Machine Independent Optimizations
Within a basic block, across basic blocks, constant
propagation, availability, redundancy elimination, value
numbering, range-check optimizations.
* Static Single Assignment and Reference Chaining
Efficient use-def chains, constant propagation.
* Loop Optimizations
Code floating, partial redundancy elimination, strength
reduction, linear test replacement, unswitching.
* Procedure Optimization
Leaf procedures, tail recursion, tail calls, constant
propagation, modify/reference analysis, parameter
alias analysis, call graph construction.
* Code Replication
Loop rotation, procedure integration, loop unrolling,
basic block cloning.
* Local Register Allocation
Optimality, local allocation across basic blocks.
* Global Register Allocation
Coloring algorithms, spill heuristics, coalescing, live
* Other Register Allocation Heuristics
Hierarchical allocation, allocation in loops, cliques.
* Instruction Scheduling
Basic block scheduling, filling delay slots, scheduling
across basic blocks, code replication, control dependence,
speculative scheduling, conditional execution, interaction
with register allocation.
* Scheduling in Loops
Software pipelining, loop unrolling.
* Peephole Optimizations
Tail merging, jump optimizations, branch prediction,
Currency of values, reporting values and position.
About the Instructor
Michael Wolfe, Ph.D., is an associate professor of Computer Science
and Engineering at Oregon Graduate Institute of Science & Technology. His
research interests are compiler optimizations for high performance
computer systems, programming languages and computer architecture. Dr.
Wolfe received his Ph.D. from the University of Illinois in 1982, where he
was one of the key developers in the Parafrase project. He co-founded
Kuck and Associates, Inc., a leading developer of commercial parallelizing
compiler tools, and was vice president until 1988, when he joined OGI. He
has served on numerous conference program committees, including POPL 88,
DM C 91, Supercomputing 92, PPoPP 93, and PLDI 94, and is program chair
for ICS 95 in Barcelona. He has been invited to give lectures in the
United States, Europe and Japan. His research group at OGI is exploring
the effectiveness and efficiency of novel compiler optimization
For a complete course brochure contact:
Linda M. Pease, Director
Office of Continuing Education
Oregon Graduate Institute of Science & Technology
PO Box 91000
Portland, OR 97291-1000
WWW home page: http://www.ogi.edu/Continuing-Ed/
Return to the
Search the comp.compilers archives again.