\item inlining
% basic bloc transformations
\item forward substitution
-% dead code removal
+% dead code elimination
\item constant propagation
\item dead code elimination
\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
\end{description}
-
\section{Loop transformations}
\begin{description}
\section{Base blocs transformations}
-\section{Dead code removal}
+\section{Dead code elimination}
+
+\begin{description}
+
+\item[dead code elimination]{is the process of pruning from a function all the statements whose results are never used.}
+
+\item[common subexpression elimination]{is the process of replacing similar expressions by a variable that holds the result of their evaluation.}
+
+\item[goto elimination]{is the process of replacing \texttt{goto} instructions by a hierarchical control flow graph.}
+
+\end{description}
+
+\section{Other (unclassified)}
\begin{description}
\item[instruction selection]{is the process of mapping parts of the IR to machine instructions.}
-\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[common subexpression elimination]{is the process of replacing similar expressions by a variable that holds the result of their evaluation.}
-
\item[statement isolation]{is the process of replacing all variables referenced in a statement by newly declared variables.
A prologue and an epilogue are added to copy old variable values to new variable, back and forth.}
-\item[dead code elimination]{is the process of pruning from a function all the statements whose results are never used.}
-
\item[array linearization]{is the process of converting multidimensional array into unidimensional arrays, possibly with a 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.}
\nocite{*}
\bibliographystyle{alpha}
-\bibliography{refs}
+\bibliography{\jobname}
\end{document}