25 #include "pips_config.h"
62 debug(9,
"adg_get_predicate_of_loops",
"begin\n");
89 debug(9,
"adg_get_predicate_of_loops",
"end\n");
104 debug(9,
"adg_predicate_list_dup",
"begin \n");
105 for(; !
ENDP( ps_l );
POP( ps_l )) {
113 debug(9,
"adg_predicate_list_dup",
"end \n");
125 list ps_list =
NIL, psl1 = NULL, psl2 = NULL, l1 = NULL, l2 = NULL;
127 debug(9,
"adg_make_disjunctions",
"begin \n");
130 if (psl1 ==
NIL)
RETURN(9,
"adg_make_disjunctions", psl2);
131 if (psl2 ==
NIL)
RETURN(9,
"adg_make_disjunctions", psl1);
133 for( l1 = psl1; !
ENDP(l1);
POP( l1 )) {
137 for (l2 = psl2; !
ENDP(l2);
POP( l2 )) {
147 debug(9,
"adg_make_disjunctions",
"end \n");
197 RETURN(9,
"adg_get_conjonctions", ps_list);
205 fprintf(stderr,
"\nNon linear expression :");
215 debug(9,
"adg_get_conjonctions",
"end \n");
231 debug( 7,
"adg_get_disjunctions",
"begin \n" );
232 for(; !
ENDP( exp_l );
POP( exp_l )) {
242 debug( 7,
"adg_get_disjunctions",
"end \n" );
264 debug(9,
"my_adg_expressions_to_predicate",
"begin \n");
268 for(; !
ENDP(exp_l) ;
POP( exp_l) ) {
279 fprintf(stderr,
"\nNon linear expression :");
289 debug(9,
"my_adg_expressions_to_predicate",
"end \n");
predicate make_predicate(Psysteme a1)
list adg_get_disjunctions(list exp_l)
======================================================================
list adg_make_disjunctions(list ps_l1, list ps_l2)
======================================================================
predicate adg_get_predicate_of_loops(list loops)
======================================================================
list adg_predicate_list_dup(list ps_l)
======================================================================
int Gcount_re
External variables.
predicate my_adg_expressions_to_predicate(list exp_l)
========================================================================
list adg_get_conjonctions(expression ndf_exp)
======================================================================
void adg_fprint_psysteme(FILE *fp, Psysteme ps)
===========================================================================
void adg_fprint_predicate_list(FILE *fp, list sc_l)
===========================================================================
#define EXPRESSION_PVECTEUR(e)
Pcontrainte contrainte_make(Pvecteur pv)
Pcontrainte contrainte_make(Pvecteur pv): allocation et initialisation d'une contrainte avec un vecte...
#define ENDP(l)
Test if a list is empty.
#define POP(l)
Modify a list pointer to point on the next element of the list.
#define NIL
The empty list (nil in Lisp)
list gen_nconc(list cp1, list cp2)
physically concatenates CP1 and CP2 but do not duplicates the elements
#define CAR(pcons)
Get the value of the first element of a list.
#define CDR(pcons)
Get the list less its first element.
#define ADD_ELEMENT_TO_LIST(_list, _type, _element)
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_internal_error
int get_debug_level(void)
GET_DEBUG_LEVEL returns the current debugging level.
void debug(const int the_expected_debug_level, const char *calling_function_name, const char *a_message_format,...)
ARARGS0.
void unnormalize_expression(void *st)
void unnormalize_expression(expression exp): puts all the normalized field of expressions in "st" to ...
string expression_to_string(expression e)
#define NORMALIZE_EXPRESSION(e)
#define ENTITY_GREATER_OR_EQUAL_P(e)
int expression_to_int(expression exp)
================================================================
#define PREDICATE(x)
PREDICATE.
#define normalized_linear_p(x)
#define EXPRESSION(x)
EXPRESSION.
#define predicate_undefined
#define call_arguments(x)
#define normalized_linear(x)
#define expression_syntax(x)
#define predicate_system(x)
struct Ssysteme * Psysteme
void sc_creer_base(Psysteme ps)
void sc_creer_base(Psysteme ps): initialisation des parametres dimension et base d'un systeme lineair...
Psysteme sc_new(void)
Psysteme sc_new(): alloue un systeme vide, initialise tous les champs avec des valeurs nulles,...
void sc_add_inegalite(Psysteme p, Pcontrainte i)
void sc_add_inegalite(Psysteme p, Pcontrainte i): macro ajoutant une inegalite i a un systeme p; la b...
Psysteme sc_dup(Psysteme ps)
Psysteme sc_dup(Psysteme ps): should becomes a link.
Psysteme sc_append(Psysteme s1, Psysteme s2)
Psysteme sc_append(Psysteme s1, Psysteme s2): calcul de l'intersection des polyedres definis par s1 e...
#define RETURN(x)
flex uses isatty
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
void vect_chg_sgn(Pvecteur v)
void vect_chg_sgn(Pvecteur v): multiplie v par -1
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
#define exp
Avoid some warnings from "gcc -Wshadow".
struct Svecteur * Pvecteur
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
Pvecteur vect_new(Variable var, Value coeff)
Pvecteur vect_new(Variable var,Value coeff): allocation d'un vecteur colineaire au vecteur de base va...
Pvecteur vect_substract(Pvecteur v1, Pvecteur v2)
Pvecteur vect_substract(Pvecteur v1, Pvecteur v2): allocation d'un vecteur v dont la valeur est la di...