X-Git-Url: https://scm.cri.ensmp.fr/git/pipstransfo.git/blobdiff_plain/a357fcc50b3ff05a38e0492f6e027e11eb157fac..d9bb12dc1faeee541c8a41eea4df8cf64aeae9fd:/pipstransfo.tex diff --git a/pipstransfo.tex b/pipstransfo.tex index 6a6e6d0..60b8709 100644 --- a/pipstransfo.tex +++ b/pipstransfo.tex @@ -9,14 +9,73 @@ \usepackage{hyperref} \usepackage{xspace} -\newcommand\PIPS{PIPS\xspace} +\usepackage{makeidx} + +\usepackage{etoolbox} + +\newcommand{\PIPS}{PIPS\xspace} + +% Patch the sectioning commands to provide a hook to be used later +\preto{\chapter}{\def\leveltitle{\chaptertitle}} +\preto{\section}{\def\leveltitle{\sectiontitle}} +\preto{\subsection}{\def\leveltitle{\subsectiontitle}} +\preto{\subsubsection}{\def\leveltitle{\subsubsectiontitle}} + +\makeatletter +% \@sect is called with normal sectioning commands +% Argument #8 to \@sect is the title +% Thus \section{Title} will do \gdef\sectiontitle{Title} +\pretocmd{\@sect} + {\expandafter\gdef\leveltitle{#8}} + {}{} +% \@ssect is called with *-sectioning commands +% Argument #5 to \@ssect is the title +\pretocmd{\@ssect} + {\expandafter\gdef\leveltitle{#5}} + {}{} +% \@chapter is called by \chapter (without *) +% Argument #2 to \@chapter is the title +\pretocmd{\@chapter} + {\expandafter\gdef\leveltitle{#2}} + {}{} +% \@schapter is called with \chapter* +% Argument #1 to \@schapter is the title +\pretocmd{\@schapter} + {\expandafter\gdef\leveltitle{#1}} + {}{} +\makeatother + +\newcommand{\PIPSPass}{Pass Name in \PIPS : } +\newcommand{\PIPSExamples}{Validation folder in \PIPS : } +\newcommand{\BookRef}{Reference: } +\newcommand{\NameCommun}[1]{\subsection{#1}\index{\sectiontitle!\subsectiontitle}} +\newcommand{\NamePipsPass}[1]{\xspace#1\index{\sectiontitle!\subsectiontitle!#1}\xspace} + \title{\PIPS~--- List of code transformations} +\makeindex + \begin{document} \chapter{Summary} +\section{Section Name} + +\NameCommun{Commun Transformation Name} +Description... + +\PIPSPass \NamePipsPass{toto}, \NamePipsPass{toto2}, \NamePipsPass{toto3} + +\PIPSExamples toto + +\BookRef \cite[p. xxx]{darte_scheduling_2000}, +\cite[p. xxx]{wolfe_high_1996}, +\cite[p. xxx]{zima_supercompilers_1990}, +\cite[p. xxx]{dowd_high_1998}, +\cite[p. xxx]{aho_compilers_2007}, +\cite[p. xxx]{allen_optimizing_2001} + \section{SGuelton} \begin{itemize} @@ -34,7 +93,7 @@ \item inlining % basic bloc transformations \item forward substitution -% dead code removal +% dead code elimination \item constant propagation \item dead code elimination @@ -108,7 +167,7 @@ \item statement reordering % not supported by Pips \item expression optimization \item partial redundancy elimination -% dead code removal +% dead code elimination \item unreachable code \item semantically uneachable code \item if and loop elimination @@ -153,7 +212,7 @@ A prelude and/or postlude are added to preserve the number of iteration.} \section{Base blocs transformations} -\section{Dead code removal} +\section{Dead code elimination} \begin{description} @@ -165,7 +224,7 @@ A prelude and/or postlude are added to preserve the number of iteration.} \end{description} -\section{Other (non classes)} +\section{Other (unclassified)} \begin{description} @@ -217,4 +276,6 @@ A prologue and an epilogue are added to copy old variable values to new variable \bibliographystyle{alpha} \bibliography{\jobname} +\printindex + \end{document}