Enabling transformation
In computer science, an enabling transformation is a compiler optimization that increases the effectiveness of other compiler optimizations. Such an optimization may or may not improve program performance by itself, but it also alters the structure of the program in such a way that other optimizations may produce superior results. Typical enabling transformations include:
- Inline expansion: By inserting the body of a function in place of its call site, a large collection of intraprocedural optimizations such as dead code elimination, loop-invariant code motion, and induction variable elimination can take advantage of information from both the caller and callee.
- Loop skewing: By "skewing" the logical shape of an array, this loop optimization can (when combined with loop interchange) eliminate loop-carried dependencies, allowing an inner loop to be parallelized.
This article is issued from Wikipedia - version of the 12/2/2013. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.