Title: An C-library for Register Saturation Computation.
To build RSlib-1.2 on a linux system, just type "./build.sh". It
will automatically build all the libraries of the archive and put the
result in the "build.linux" subdirectory. The build process is logged
in the file "log.build". Please check this file in case of error.
You may also clean all the generated files by typing "./build.sh clean".
This will clean all source directories and delete the "build.linux"
folder as well as the log file.
To build furnished examples in each individual component please see
instructions below.
The package includes the following components:
* SCEDA is a Small Collection of Efficient Data structures and
Algorithms. SCEDA library provides implementation of lists, sets,
maps, trees, heaps, graphs as well as related algorithms.
* GDD is a Graph Data Dependency library. It depends on SCEDA. It
provides specific data structures and algorithms to manipulate data
dependency graphs.
* RS is a Register Saturation library. It depends on GDD and SCEDA.
It implements two polynomial heuristics to compute the register
saturation of acyclic data dependency graphs, as well as an optimal
exponential algorithm. The algorithms and their experimental
efficiency are reported in the following research document:
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.
Please see INSTALL/README files in the corresponding subdirectory to
learn more about each component.
--
During the build process, the build script will ask you several questions:
* GDD includes, for testing purposes, a very basic XML parser to read
architecture and data dependency graphs. It is enabled by default but
you can disable this feature if you wish. Note however that in this
case, most of the examples will fail to compile.
* If doxygen is installed on your computer, the build script will
offer you the choice to build the documentation of each component. If
you do so, the HTML documentation will be generated in each
corresponding subdirectory.
Once the package successfully installed, build the furnished examples
as follows:
* To build SCEDA examples, type
cd SCEDA
make examples LIBHOME=`pwd`/../build.linux
cd ..
* To build GDD examples, type
cd GDD
make examples LIBHOME=`pwd`/../build.linux
cd ..
* To build RS examples, type
cd RS
make examples LIBHOME=`pwd`/../build.linux
cd ..
For more details, please refer to the individual README files in each
component subdirectory.
--
Sebastien Briais and Sid Touati
Copyright University of Versailles Saint-Quentin en Yvelines, November 2009