sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live...
7
1 Topic 12: Acyclic Instruction Scheduling COS 320 Compiling Techniques Princeton University Spring 2015 Prof. David August The Back End Scheduling Scheduling
Transcript of sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live...
![Page 1: sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live ranges rl Branch TRUE : rl 10, 1 TRUE A data dependence is a constraint on scheduling arising](https://reader034.fdocuments.us/reader034/viewer/2022051723/5aaf392a7f8b9a3a038d1a3b/html5/thumbnails/1.jpg)
1
Topic 12: Acyclic Instruction Scheduling
COS 320
Compiling Techniques
Princeton University Spring 2015
Prof. David August
The Back End
Scheduling
Scheduling
![Page 2: sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live ranges rl Branch TRUE : rl 10, 1 TRUE A data dependence is a constraint on scheduling arising](https://reader034.fdocuments.us/reader034/viewer/2022051723/5aaf392a7f8b9a3a038d1a3b/html5/thumbnails/2.jpg)
Instruction Level Parallelism
Data Dependence
Data Dependence
False Dependence
![Page 3: sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live ranges rl Branch TRUE : rl 10, 1 TRUE A data dependence is a constraint on scheduling arising](https://reader034.fdocuments.us/reader034/viewer/2022051723/5aaf392a7f8b9a3a038d1a3b/html5/thumbnails/3.jpg)
Control Dependence
Control Dependences
Dependences
Resources
![Page 4: sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live ranges rl Branch TRUE : rl 10, 1 TRUE A data dependence is a constraint on scheduling arising](https://reader034.fdocuments.us/reader034/viewer/2022051723/5aaf392a7f8b9a3a038d1a3b/html5/thumbnails/4.jpg)
Pipelining
Resource Map
Scheduling
Heuristic: List Scheduling
![Page 5: sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live ranges rl Branch TRUE : rl 10, 1 TRUE A data dependence is a constraint on scheduling arising](https://reader034.fdocuments.us/reader034/viewer/2022051723/5aaf392a7f8b9a3a038d1a3b/html5/thumbnails/5.jpg)
List Scheduling
List Scheduling
List Scheduling Priority
Hardware Scheduling
![Page 6: sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live ranges rl Branch TRUE : rl 10, 1 TRUE A data dependence is a constraint on scheduling arising](https://reader034.fdocuments.us/reader034/viewer/2022051723/5aaf392a7f8b9a3a038d1a3b/html5/thumbnails/6.jpg)
Expression Reformulation
Loop Unrolling
Renaming
Accumulator Expansion
![Page 7: sm - Princeton University Computer Science · PDF fileRegister allocation vs. splitting live ranges rl Branch TRUE : rl 10, 1 TRUE A data dependence is a constraint on scheduling arising](https://reader034.fdocuments.us/reader034/viewer/2022051723/5aaf392a7f8b9a3a038d1a3b/html5/thumbnails/7.jpg)
Accumulator Expansion
Induction Variable Elimination
Loop Unrolling and Optimization
Pipelining