Related articles |
---|
Compiler Back End short course mwolfe@ogicse.ogi.edu (1992-02-05) |
Newsgroups: | comp.compilers |
From: | mwolfe@ogicse.ogi.edu (Michael Wolfe) |
Keywords: | courses, optimize |
Organization: | Oregon Graduate Institute, Beaverton, OR |
Date: | 5 Feb 92 20:57:54 GMT |
This summer, the Oregon Graduate Institute is offering a new
Summer Intensive Tutorial on
High Performance Compiler Back Ends
June 22-24, 1992
Portland, Oregon
The full details of this course are available electronically
via anonymous ftp at cse.ogi.edu [129.95.40.2] as pub/tiny/HPBE.
Or send email to
mwolfe@cse.ogi.edu (for technical inquiries)
lpease@admin.ogi.edu (for registration and other information)
What follows is the (lengthy) course outline and schedule.
See also the companion posting with the outline for our highly successful
High Performance Compilers short course.
COURSE OUTLINE:
MONDAY:
1. Pipelined Processor Architecture (3 hours)
- RISC instruction set
- pipelined functional units
- large register file
- datapaths
- vector instruction set
- cache memory
. Control Unit Options
- register windows
- VLIW instruction set
- super-scalar control unit
- register renaming
- multithreading
. Representative Architectures
- Multiflow Trace/300
- Cydrome Cydra 5
- IBM RS/6000
- Intel i860
2. Compiler Framework (.5 hour)
. Where the back end sits
- front end
- high level optimizations
- back-end optimizations
- code generation
. Data structures to support optimization
- control flow graph, basic blocks
. Analysis methods
- live variables
- reaching definitions
- use-def chains
3. Classical Code Generation (2 hours)
- hand written code generators
- table drive code generators
- tree walk
4. Strength Reduction (2 hours)
- induction variables
TUESDAY:
5. Register Assignment (3 hours)
- register coloring
- spilling heuristics
6. Instruction Scheduling (4 hours)
- filling delay slots
- "Trace Scheduling" (tm)
- extended basic block formation
WEDNESDAY:
7. Instruction Scheduling in Loops (5 hours)
- software pipelining
- polycyclic scheduling
- loop unrolling
- loop peeling
- register assignment in loop
8. Optimizations for Extra Parallelism (3 hours)
- inline function expansion
- speculative execution
- conditional execution
- prefetching
COURSE SCHEDULE
Monday-Wednesday
Lectures: Monday-Wednesday, 8:00am-5:00pm
Lunches: Monday-Wednesday, noon-1:00pm
Breaks: 10:00-10:15am, 3:00-3:15pm
Reception: Monday, 7:00-10:00pm, at the The Lakes
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.