Reordering the statements with dependence cycles to improve the performance of parallel loops

In this paper, we study the exploitation of statement-level parallelism in dependence cycles of Do-loops executed in a random (general) synchronization mode, with emphasis on the effect of statement ordering on parallelism level. For a dependence cycle of a single parallel loop, the parallelism exposed, in general, varies with the alignment of statements. Statement reordering (without modifying the semantics) relies on the compile-time prediction of execution-time of the loop. An improved timing formula and the derived algorithm of statement reordering in single Do loop with dependence cycles to improve the performance of parallel loops are proposed and discussed.