Enhanced region scheduling on a program dependence graph

We propose a series of transformations which improve the capturable parallelism of a program. The Enhanced Region Scheduling algorithm provides more powerful paralleliration capabilities than previous methods by adding the transformations software pipelining and break. Though the move transformation alone does not adequately redistribute parallelism, the addition of break redistributes parallelism as well as actual schedules though the work involved is considerably less. The overall benefit of enhanced region scheduling varies in improvement in ezecution time from 5% to 41%. Software pipelining alone contributes 0% to 35% of the gain. However, because of the overhead of speculative instruction and copy statements, low levels of available parallelism inhibit success. For the programs tested, simulations on architectures with seven concurrent operations yielded good results.