Scalar Replacement (IA-32 Only)

The goal of scalar replacement is to reduce memory references. This is done mainly by replacing array references with register references.

While the compiler replaces some array references with register references when -O1 or -O2 is specified, more aggressive replacement is performed when -O3 (-scalar_rep) is specified. For example, with -O3 the compiler attempts replacement when there are loop-carried dependences or when data-dependence analysis is required for memory disambiguation.

-scalar_rep[-]

Enables (default) or disables scalar replacement performed during loop transformations (requires -O3).