Compiler Algorithms for Synchronization

Samuel P. Midkiff, David A. Padua

Research output: Contribution to journalArticlepeer-review


Translating program loops into a parallel form is one of the most important transformations performed by concurrentizing compilers. This transformation often requires the insertion of synchronization instructions within the body of the concurrent loop. Several loop synchronization techniques are presented first. Compiler algorithms to generate synchronization instructions for singly-nested loops are then discussed. Finally, a technique for the elimination of redundant synchronization instructions is presented.

Original languageEnglish (US)
Pages (from-to)1485-1495
Number of pages11
JournalIEEE Transactions on Computers
Issue number12
StatePublished - Dec 1987


  • Compilers
  • Fortran
  • concurrent loops
  • multiprocessors
  • parallel processing
  • program restructuring
  • synchronization

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'Compiler Algorithms for Synchronization'. Together they form a unique fingerprint.

Cite this