The windows below depict the iteration spaces of two loops with forward and backward dependences flowing between iterations in different loops. The individual loops are parallel, and the goal is to perform fusion of the two loops such that locality is enhanced without sacrificing parallelism.
The two windows below perform two animations. In the left-hand window, illegal fusion is illustrated. In the right-hand window, the shift-and-peel transformation is animated to illustrate how it enables legal fusion for subsequent parallelization.