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