Instruction scheduling across control flow

François Bodin, Peter Beckman, Dennis Gannon, Srinivas Narayana, Shelby X. Yang

Research output: Contribution to journalArticlepeer-review

Abstract

Instruction scheduling algorithms are used in compilers to reduce run-time delays for the compiled code by the reordering or transformation of program statements, usually at the intermediate language or assembly code level. Considerable research has been carried out on scheduling code within the scope of basic blocks, i.e., straight line sections of code, and very effective basic block schedulers are now included in most modern compilers and especially for pipeline processors. In previous work Golumbic and Rainis: IBM J. Res. Dev., Vol. 34, pp.93–97, 1990, we presented code replication techniques for scheduling beyond the scope of basic blocks that provide reasonable improvements of running time pC++ is an object-parallel extension to the C++ programming language. This paper describes the current language definition and illustrates the programming style. Exampies of parallel linear algebra operations are presented and a fast Poisson solver is described in complete detail.

Original languageEnglish (US)
Pages (from-to)7-22
Number of pages16
JournalScientific Programming
Volume2
Issue number3
DOIs
StatePublished - 1993

ASJC Scopus subject areas

  • Software
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Instruction scheduling across control flow'. Together they form a unique fingerprint.

Cite this