https://hal.archives-ouvertes.fr/hal-03445821
Raw File
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/>.
*/

    
back to top