\usepackage{listings}
\usepackage{hyperref}
+\usepackage{xspace}
+\newcommand\PIPS{PIPS\xspace}
-\title{PIPS~--- List of code transformations}
+
+\title{\PIPS~--- List of code transformations}
\item constant propagation
\end{itemize}
-\chapter{List of Pips transformations}
+\chapter{List of \PIPS transformations}
\section{Memory allocation alteration}
\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]{
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}
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