Issue No.01 - January (1989 vol.15)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.21730
<p>Reduction in strength is a traditional transformation for speeding up loop execution on sequential processors. The inverse transformation, induction variable substitution, can also speed up loops by decreasing register requirements, although it is typically a normalizing step in the detection of array dependences by parallelizing compilers. The author presents a simple framework for performing these transformations. In contrast to previous approaches to strength reduction, no unnecessary temporary variables or dead code fragments are introduced, only relevant intermediate language fragments are examined, iteration test replacement is not handled as a special case, and the execution time of the target code is never increased. The method is particularly easy to visualize, making it a useful teaching tool as well.</p>
loop execution; sequential processors; inverse transformation; induction variable substitution; register requirements; array dependences; parallelizing compilers; language fragments; iteration test replacement; execution time; target code; teaching tool; program compilers.
K.J. Ottenstein, "A Simplified Framework for Reduction in Strength", IEEE Transactions on Software Engineering, vol.15, no. 1, pp. 86-92, January 1989, doi:10.1109/32.21730