\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
+\usepackage{lmodern}
\usepackage{listings}
\usepackage{hyperref}
-\title{PIPS - List of code transformations}
+\title{PIPS~--- List of code transformations}
\section{Memory allocation alteration}
+\begin{description}
+
+\item[scalar renaming]{is the process of renaming scalar variables to
+ suppress false data dependencies.}
+
+\item[privatization]{is the process of detecting variables that are
+ private to a loop body, i.e.\ written first, then read.}
+
+\end{description}
+
+
\section{Loop transformations}
+\begin{description}
+
+\item[loop unrolling]{
+ is a loop transformation.
+ Unrolling a loop by a factor of $n$ consists in the substitution of a loop
+ body by itself, replicated $n$ times. A prelude and/or postlude are
+ added to preserve the number of iteration.}
+
+\item[loop fusion]{
+ is a loop transformation that replaces two loops by a single loops whose
+ body is the concatenation of the bodies of the two initial loops.}
+
+\item[loop tiling]{
+ is a loop nest transformation that changes the loop execution order
+ through a partitions of the iteration space into
+ chunks, so that the iteration is performed over each chunk and in the
+ chunks.}
+
+\item[loop interchange]{is a loop transformation that permutes two
+ loops from a loop nest.}
+
+\item[loop unswitching]{is a loop transformation that replaces a
+ loop containing a test independent from the loop execution by a test
+ containing the loop without the test in both true and false branch.}
+
+\item[loop normalization]{is a loop transformation that changes
+ the loop initial increment value or the loop range to enforce certain values,
+ generally~1.}
+
+\end{description}
+
\section{Inter-procedural transformations}
\section{Base blocs transformations}
\begin{description}
-\item[loop unrolling]{
- is a loop transformation. Unrolling a loop by a factor of $n$ consists in the substitution of a loop
- body by itself, replicated $n$ times. A prelude and/or postlude are
- added to preserve the number of iteration.}
+
\item[inlining]{
is a function transformation. Inlining a function
is the process of replacing a reference read in an
expression by the latest expression affected to it.}
-\item[loop fusion]{
- is a loop transformation that replaces two loops by a single loops whose
- body is the concatenation of the bodies of the two initial loops.}
-\item[loop tiling]{
- is a loop nest transformation that changes the loop execution order
- through a partitions of the iteration space into
- chunks, so that the iteration is performed over each chunk and in the
- chunks.}
+
+
\item[reduction detection]{
is an analysis that identifies statements that perform a reduction over a
is the process of replacing similar expressions by a variable that holds
the result of their evaluation.}
-\item[loop interchange]{is a loop transformation that permutes two
- loops from a loop nest.}
-\item[loop unswitching]{is a loop transformation that replaces a
- loop containing a test independent from the loop execution by a test
- containing the loop without the test in both true and false branch.}
\item[statement isolation]{is the process of replacing all
variables referenced in a statement by newly declared variables. A
multidimensional array into unidimensional arrays, possibly with a
conversion from array to pointer.}
-\item[privatization]{is the process of detecting variables that
- are private to a loop body, i.e.\ written first, then read.}
-
\item[loop normalization]{is a loop transformation that changes
- the loop initial increment value or the loop range to enforce certain values, generally
- 1.}
+ the loop initial increment value or the loop range to enforce certain values, generally~1.}
\item[iteration clamping]{is a loop transformation that extends
the loop range but guards the loop body with the former range.}
them by their non-unrolled version.}
\end{description}
+
+\section{References}
+
+
\end{document}