index 55ab7fa..9253d86 100644 (file)
@@ -7,9 +7,12 @@

\usepackage{listings}
\usepackage{hyperref}

\usepackage{listings}
\usepackage{hyperref}
+\usepackage{xspace}

+\newcommand\PIPS{PIPS\xspace}

-\title{PIPS~--- List of code transformations}
+
+\title{\PIPS~--- List of code transformations}

@@ -19,6 +22,7 @@
\chapter{Summary}

\section{SGuelton}
\chapter{Summary}

\section{SGuelton}
+
\begin{itemize}
% memory allocation alteration
\item scalar renaming
\begin{itemize}
% memory allocation alteration
\item scalar renaming
@@ -62,6 +66,7 @@

\section{Teraops}

\section{Teraops}
+
\begin{itemize}
% memory allocation alteration
\item scalar renaming
\begin{itemize}
% memory allocation alteration
\item scalar renaming
\item constant propagation
\end{itemize}

\item constant propagation
\end{itemize}

-\chapter{List of Pips transformations}
+\chapter{List of \PIPS transformations}

\section{Memory allocation alteration}

\section{Memory allocation alteration}

\begin{description}

\item[loop unrolling]{
\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
+  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]{
added to preserve the number of iteration.}

\item[loop fusion]{
containing the loop without the test in both true and false branch.}

\item[loop normalization]{is a loop transformation that changes
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,
+  the loop initial increment value or the loop range to enforce certain values,
generally~1.}

\end{description}
generally~1.}

\end{description}
\item[goto elimination]{
is the process of replacing \texttt{goto} instructions by a hierarchical control flow
graph.}
\item[goto elimination]{
is the process of replacing \texttt{goto} instructions by a hierarchical control flow
graph.}
+
\item[outlining]{
is the process of extracting part of a function body into a new function
and replacing it in the initial function by a function call.}
\item[outlining]{
is the process of extracting part of a function body into a new function
and replacing it in the initial function by a function call.}
operator by its expanded form.}

\item[n address code generation]{is the process of splitting
operator by its expanded form.}

\item[n address code generation]{is the process of splitting
-  complex expression in simpler ones that take at most $n$ operands.}
+  complex expression in simpler ones that take at most $$n$$ operands.}

\item[memory footprint reduction]{is the process of tiling a loop
to make sure the iteration over the tile has a memory footprint bounded by

\item[memory footprint reduction]{is the process of tiling a loop
to make sure the iteration over the tile has a memory footprint bounded by