Loop optimization is a technique to improve the performance of programs by optimizing the inner loops which consume significant execution time. Some common loop optimization methods include code motion, induction variable and strength reduction, loop invariant code motion, loop unrolling, and loop fusion. Code motion moves loop-invariant code out of the loop. Induction variable and strength reduction techniques optimize computations involving induction variables. Loop invariant code motion avoids redundant computations inside loops. Loop unrolling replicates loop bodies to reduce loop control overhead. Loop fusion combines multiple nested loops to reduce the total number of iterations.