Instruction scheduling beyond basic blocks

M. C. Golumbic, V. Rainish

Research output: Contribution to journalArticlepeer-review


Instruction scheduling consists of the rearrangement or 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 constrains. 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 we 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.

Original languageEnglish
Pages (from-to)93-97
Number of pages5
JournalIBM Journal of Research and Development
Issue number1
StatePublished - 1990

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'Instruction scheduling beyond basic blocks'. Together they form a unique fingerprint.

Cite this