https://hal.archives-ouvertes.fr/hal-03445821
main.h
/*
Copyright Universite de Versailles Saint-Quentin en Yvelines 2009
AUTHORS: Sebastien Briais, Sid Touati
This file is part of RS.
RS is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
RS is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with RS. If not, see
<http://www.gnu.org/licenses/>.
*/
/** \mainpage
\section intro_sec Introduction
This library implements two heuristics to compute register
saturation of acyclic data dependency graphs, as well as an exact
exponential algorithm. The algorithms and their experimental
efficiency are reported in the following research report:
Sebastien Briais and Sid Touati. Experimental Study of Register Saturation in Basic Blocks and Super-blocks: Optimality and heuristics. Research report number HAL-INRIA-00431103.
University of Versailles Saint-Quentin en Yvelines, France. October 2009.
\section dep_sec Required libraries
\li For data structures and graph algorithms, SCEDA library is
required.
\li For manipulation of data dependency graphs, GDD is required.
\section install_dec Installation
To install RS, please refer to INSTALL file of the distribution.
\section compil_sec Using RS library
\li To compile a project that uses the RS library, make
sure to add RS to your include path with -I flag of your C
compiler.
\li To link a project against the RS library, make sure to
add RS to your library path with -L flag of your C
compiler.<br/> Then link with "-lRS -lGDD -lSCEDA" flags.
Please refer to the example folder for further details.
\section content_sec Content of the library
\li \ref rs
\section prog_notes Notes to programmers
All the functions, macros, type definitions of RS library are
prefixed by "RS_" (or "_RS_", "__RS_").
Since RS depends on DDG, it relies heavily on SCEDA library for
representing its data structures. In particular, it makes use of
SCEDA_List, SCEDA_HashSet, SCEDA_HashMap and of course SCEDA_Graph
data structures. To change the internal representation of DDG,
you will <b>in theory</b> just need to provide a SCEDA compatible
API to manipulate all these data structures (and also modify
libDDG to reflect these changes).
\section history_sec History
\subsection v120 v 1.2.0
\li Cleaned the code
\subsection v110 v 1.1.0
\li Upgraded to GDD v 1.1.0
\subsection v100 v 1.0.0
\li Initial release
\section license_sec License
Copyright Universite de Versailles Saint-Quentin en Yvelines 2009
AUTHORS: Sebastien Briais, Sid Touati
RS is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
RS is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with RS. If not, see
<http://www.gnu.org/licenses/>.
*/