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.
- Loop unswitching moves loop invariants out of a loop, reducing the number of conditional branches in each loop.
We don't have any images related to Enabling transformation yet.
You can add one yourself here.
We don't have any YouTube videos related to Enabling transformation yet.
You can add one yourself here.
We don't have any PDF documents related to Enabling transformation yet.
You can add one yourself here.
We don't have any Books related to Enabling transformation yet.
You can add one yourself here.
We don't have any archived web articles related to Enabling transformation yet.
References
Keith Cooper; Linda Torczon (2004). Engineering a Compiler. Elsevier. pp. 520–. ISBN 978-1-55860-698-2. 978-1-55860-698-2 ↩