X-Git-Url: https://scm.cri.ensmp.fr/git/pipstransfo.git/blobdiff_plain/eb409209849979d0e3c6850d60de9106277acf46..bd0a0fff20a7047fda68c96e618ad5d64a88f065:/pipstransfo.tex diff --git a/pipstransfo.tex b/pipstransfo.tex index 7409fd1..454f0c5 100644 --- a/pipstransfo.tex +++ b/pipstransfo.tex @@ -3,18 +3,104 @@ \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} \begin{document} +\chapter{Summary} + +\section{SGuelton} +\begin{itemize} +\item loop unrolling +\item inlining +\item forward substitution +\item loop fusion +\item loop tiling +\item reduction detection +\item parallelism detection +\item parallelism extraction +\item directive generation +\item constant propagation +\item instruction selection +\item goto elimination +\item outlining +\item common subexpression elimination +\item loop interchange +\item loop unszitching +\item statement isolation +\item dead code elimination +\item array linearization +\item privatization +\item loop normalization +\item iteration clamping +\item flatten code +\item strengh reduction +\item split update operator +\item n adress code generation +\item memory footprint reduction +\item redundant load-store elimination +\item invariant code motion +\item scalar renaming +\item loop rerolling +\end{itemize} + + +\section{Teraops} +\begin{itemize} +\item scalar renaming +\item scalar/array expansion +\item scalar/array privatization +\item scalarization +\item variable copying +\item index set splitting +\item loop peeling +\item loop unrolling +\item loop rerolling +\item full loop unrolling +\item idiom recognition +\item unswitching +\item loop fusion +\item loop fission/loop distribution +\item loop normalization +\item unimodular loop transformation/hyperplane method +\item loop interchange +\item loop reversal +\item loop skewing +\item non-unimodular loop transformation +\item strip-mining (loop sectionning) +\item loop coalescing/loop collapsing +\item loop tiling +\item loop parallelization +\item loop vectorization +\item loop invariant code motion +\item software pipelining +\item locality increazing +\item loop embedding/loop jamming +\item procedure inlining +\item procedure cloning +\item node splitting +\item forward expression substitution +\item induction variable substitution +\item if-conversion +\item statement reordering +\item expression optimization +\item partial redundancy elimination +\item unreachable code +\item semantically uneachable code +\item if and loop elimination +\item use-def elimination +\item constant propagation +\end{itemize} + \chapter{List of Pips transformations} \section{Memory allocation alteration} @@ -59,7 +145,7 @@ \item[loop normalization]{is a loop transformation that changes the loop initial increment value or the loop range to enforce certain values, - generally 1.} + generally~1.} \end{description} @@ -140,9 +226,6 @@ conversion from array to pointer.} - - - \item[iteration clamping]{is a loop transformation that extends the loop range but guards the loop body with the former range.} @@ -179,4 +262,4 @@ \section{References} -\end{document} \ No newline at end of file +\end{document}