Instruction scheduling beyond basic blocks
- IBM Israel Science and Technology Center, Technion City, Haifa (IL)
Instruction scheduling consists of the rearrangement of transformation of program statements, usually at the intermediate language or assembly code level, in order to reduce possible run-time delays between instructions. Such transformations must preserve data dependency and are subject to other constraints. Highly optimizing compilers employing instruction-scheduling techniques have proven to be effective in improving the performance of pipeline processors. Considerable attention has been given to scheduling code within the scope of basic blocks, i.e., straight-line sections of code. In this paper the authors present techniques for scheduling beyond basic blocks. This allows a further reduction in run-time delays such as those due, e.g., to branches and loops, enabling the exploiting of pipeline architectures which would not otherwise be possible.
- OSTI ID:
- 7035852
- Journal Information:
- IBM Journal of Research and Development (International Business Machines); (USA), Journal Name: IBM Journal of Research and Development (International Business Machines); (USA) Vol. 34:1; ISSN IBMJA; ISSN 0018-8646
- Country of Publication:
- United States
- Language:
- English
Similar Records
Profile-assisted instruction scheduling
Retargetable instruction scheduling for pipelined processors