- /* If this is a simple operation like a cast that is
- invariant in the inner loop, or after the inner loop,
- then see if we can place it back where it came from.
- This means that we will propagate casts and other
- cheap invariant operations *back* into or after
- the inner loop if we can interchange the loop, on the
- theory that we are going to gain a lot more by
- interchanging the loop than we are by leaving some
- invariant code there for some other pass to clean
- up. */
+ /* If this is a scalar operation that can be put back
+ into the inner loop, or after the inner loop, through
+ copying, then do so. This works on the theory that
+ any amount of scalar code we have to reduplicate
+ into or after the loops is less expensive that the
+ win we get from rearranging the memory walk
+ the loop is doing so that it has better
+ cache behavior. */