The loop transformation techniques include:
loop normalization
loop reversal
loop interchange and permutation
loop skewing
loop distribution
loop fusion
scalar replacement
The loop transformations listed above are supported by data dependence. The loop transformation techniques also include:
induction variable elimination
constant propagation
copy propagation
forward substitution
and dead code elimination.
In addition to the loop transformations listed for both IA-32 and Itanium® architectures above, the Itanium architecture enables implementation of the collapsing techniques.