projects
/
pipstransfo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
some transformations in FI's pdf are advertised as not supported by PIPS
[pipstransfo.git]
/
pipstransfo.tex
diff --git
a/pipstransfo.tex
b/pipstransfo.tex
index
3c0e935
..
b3186bc
100644
(file)
--- a/
pipstransfo.tex
+++ b/
pipstransfo.tex
@@
-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,47
+66,48
@@
\section{Teraops}
\section{Teraops}
+
\begin{itemize}
% memory allocation alteration
\item scalar renaming
\item scalar/array expansion
\item scalar/array privatization
\begin{itemize}
% memory allocation alteration
\item scalar renaming
\item scalar/array expansion
\item scalar/array privatization
-\item scalarization
-\item variable copying
+\item scalarization
% according to .pdf, not supported by Pips
+\item variable copying
% not supported by Pips
% loop transformations
% loop transformations
-\item index set splitting
-\item loop peeling
+\item index set splitting
% not supported by Pips
+\item loop peeling
% not supported by Pips
\item loop unrolling
\item loop unrolling
-\item loop rerolling
+\item loop rerolling
% not supported by Pips
\item full loop unrolling
\item idiom recognition
\item full loop unrolling
\item idiom recognition
-\item unswitching
-\item loop fusion
+\item unswitching
% not supported by Pips
+\item loop fusion
% not supported by Pips
\item loop fission/loop distribution
\item loop normalization
\item unimodular loop transformation/hyperplane method
\item loop interchange
\item loop fission/loop distribution
\item loop normalization
\item unimodular loop transformation/hyperplane method
\item loop interchange
-\item loop reversal
+\item loop reversal
% not supported by Pips
\item loop skewing
\item non-unimodular loop transformation
\item strip-mining (loop sectionning)
\item loop skewing
\item non-unimodular loop transformation
\item strip-mining (loop sectionning)
-\item loop coalescing/loop collapsing
+\item loop coalescing/loop collapsing
% not supported by Pips
\item loop tiling
\item loop parallelization
\item loop tiling
\item loop parallelization
-\item loop vectorization
+\item loop vectorization
% not supported by Pips
\item loop invariant code motion
\item loop invariant code motion
-\item software pipelining
+\item software pipelining
% not supported by Pips
\item locality increazing
\item locality increazing
-% inter
procedural transformations
-\item loop embedding/loop jamming
-\item procedure inlining
+% interprocedural transformations
+\item loop embedding/loop jamming
% not supported by Pips
+\item procedure inlining
% not supported by Pips
\item procedure cloning
% basic bloc transformations
\item node splitting
\item forward expression substitution
\item procedure cloning
% basic bloc transformations
\item node splitting
\item forward expression substitution
-\item induction variable substitution
+\item induction variable substitution
% not supported by Pips
\item if-conversion
\item if-conversion
-\item statement reordering
+\item statement reordering
% not supported by Pips
\item expression optimization
\item partial redundancy elimination
% dead code removal
\item expression optimization
\item partial redundancy elimination
% dead code removal
@@
-113,7
+118,7
@@
\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}
@@
-134,8
+139,8
@@
\item[loop unrolling]{
is a loop transformation.
\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
+ 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]{
@@
-161,7
+166,7
@@
\end{description}
\end{description}
-\section{Inter
-
procedural transformations}
+\section{Interprocedural transformations}
\section{Base blocs transformations}
\section{Base blocs transformations}
@@
-213,6
+218,7
@@
\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.}
@@
-251,7
+257,7
@@
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