This document summarizes the original 1990 paper that introduced the loop transformations of scalar replacement and unroll-and-jam. Scalar replacement exposes reuse in array references by copying array elements to scalar variables, while unroll-and-jam moves reuse across outer loops into the innermost loop. These transformations allow scientific programs to better utilize registers and reduce memory latency. The paper reviews the influences on this work, such as dependence analysis and previous loop transformations, and discusses its significant impact on subsequent research and compiler implementations to further optimize memory hierarchy performance.