Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Instruction scheduling beyond basic blocks

Journal Article · · IBM Journal of Research and Development (International Business Machines); (USA)
DOI:https://doi.org/10.1147/rd.341.0093· OSTI ID:7035852
;  [1]
  1. 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

Optimization of horizontal microcode within and beyond basic blocks: an application of processor scheduling with resources
Technical Report · Mon Oct 01 00:00:00 EDT 1979 · OSTI ID:5752434

Profile-assisted instruction scheduling
Journal Article · Thu Mar 31 23:00:00 EST 1994 · International Journal of Parallel Programming · OSTI ID:379410

Retargetable instruction scheduling for pipelined processors
Thesis/Dissertation · Mon Dec 31 23:00:00 EST 1990 · OSTI ID:5431106