The experimental framework currently does not support isolation of the contributions of the interprocedural scalar analyses, but we know that these analyses are important. For example, performance-critical loops in the programs embar, mdljdp2, ora and spec77 would not have been parallelized without one of interprocedural scalar privatization, scalar reduction recognition, or selective procedure cloning based on interprocedural constants.
Here we present static and dynamic measurements to assess the impact of the array analysis components. We define a baseline system that serves as a basis of comparison throughout this section. Baseline refers to our system without any of the advanced array analyses. It performs intraprocedural data dependence, and does not have any capability to privatize arrays or recognize reductions. Note that the baseline system is much more powerful than existing parallelizing compilers as it contains all the interprocedural scalar analysis discussed in Section 4.1.