sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live...

Preview:

Citation preview

1

Topic 12: Acyclic Instruction Scheduling

COS 320

Compiling Techniques

Princeton University Spring 2015

Prof. David August

The Back End

Scheduling

Scheduling

Instruction Level Parallelism

Data Dependence

Data Dependence

False Dependence

Control Dependence

Control Dependences

Dependences

Resources

Pipelining

Resource Map

Scheduling

Heuristic: List Scheduling

List Scheduling

List Scheduling

List Scheduling Priority

Hardware Scheduling

Expression Reformulation

Loop Unrolling

Renaming

Accumulator Expansion

Accumulator Expansion

Induction Variable Elimination

Loop Unrolling and Optimization

Pipelining

Recommended