Types of Instruction Scheduling
There are several types of instruction scheduling:
- Local (Basic Block) Scheduling: instructions can't move across basic block boundaries.
- Global scheduling: instructions can move across basic block boundaries.
- Modulo Scheduling: another name for software pipelining, which is a form of instruction scheduling that interleaves different iterations of a loop.
- Trace scheduling: the first practical approach for global scheduling, trace scheduling tries to optimize the control flow path that is executed most often.
- Superblock scheduling: a simplified form of trace scheduling which does not attempt to merge control flow paths at trace "side entrances". Instead, code can be implemented by more than one schedule, vastly simplifying the code generator.
Read more about this topic: Instruction Scheduling
Famous quotes containing the words types and/or instruction:
“The bourgeoisie loves so-called positive types and novels with happy endings since they lull one into thinking that it is fine to simultaneously acquire capital and maintain ones innocence, to be a beast and still be happy.”
—Anton Pavlovich Chekhov (18601904)
“A little instruction in the elements of chartographya little practice in the use of the compass and the spirit level, a topographical map of the town common, an excursion with a road mapwould have given me a fat round earth in place of my paper ghost.”
—Mary Antin (18811949)