blob: 6498000fffde80a0dcd2d104a27cbba1d39f7754 [file] [log] [blame]
\textcite{Verdoolaege2016tutorial} describes the concepts behind
\isl in some detail, mainly focusing on Presburger formulas,
but also including some information on polyhedral compilation,
especially on dependence analysis.
Individual aspects of \isl are described in the following publications.
\begin{itemize}
\item
\textcite{Verdoolaege2009equivalence} introduce \isl as a library
for manipulating sets of integers defined by linear inequalities and
integer divisions that is used in their equivalence checker.
\item
\textcite{Verdoolaege2010isl} provides a more detailed description
of \isl at the time and still stands as the official reference for
\isl. However, many features were only added later on and one or
more of the publications below may be more appropriate as
a reference to these features.
\item
\textcite[Section 5.1]{Verdoolaege2010networks} provides some
details on the dataflow analysis step, but also see
\textcite[Chapter 6]{Verdoolaege2016tutorial} and
\textcite{Verdoolaege2016reordering} for a more recent treatment.
\item The concepts of structured and named spaces and the manipulation
of sets containing elements in different spaces were introduced
by \textcite{Verdoolaege2011iscc}.
\item The transitive closure operation is described
by \textcite{Verdoolaege2011closure}.
\item The scheduler is briefly described by
\textcite[Section 6.2]{Verdoolaege2013PPCG} and
\textcite[Section 2.4]{Verdoolaege2016reordering}.
\item Schedule trees started out as ``trees of bands''
\parencite[Section 6.2]{Verdoolaege2013PPCG}, were formally
introduced by \textcite{Verdoolaege2014impact}, and were
slightly refined by \textcite{Grosser2015AST}.
\item The coalescing operation is described by
\textcite{Verdoolaege2015impact}.
\item The AST generator is described by \textcite{Grosser2015AST}.
\end{itemize}