This paper presents an overview of automatic program parallelization t
echniques. It covers dependence analysis techniques, followed by a dis
cussion of program transformations, including straight-line code paral
lelization, do loop transformations, and parallelization of recursive
routines. The last section of the paper surveys several experimental s
tudies on the effectiveness of parallelizing compilers.