25 #include "pips_config.h"
48 #include "pips-libs.h"
54 #define unsigned_char 11
55 #define unsigned_short_int 12
56 #define unsigned_int 14
57 #define unsigned_long_int 16
58 #define unsigned_long_long_int 18
78 long long int ub = -1;
79 long long int period = 0;
82 ub = 256-1, period = 256;
85 ub = 256*256-1, period = 256*256;
90 ub = 0, period = 256L*256L*256L*256L;
95 ub = 0, period = 256L*256L*256L*256L;
bool entity_is_argument_p(entity e, cons *args)
bool base_contains_variable_p(Pbase b, Variable v)
bool base_contains_variable_p(Pbase b, Variable v): returns true if variable v is one of b's elements...
transformer transformer_add_inequality_with_integer_constraint(transformer tf, entity v, long long int cst, bool less_than_p)
Add the inequality v <= cst or v >= cst.
bool value_belongs_to_transformer_space(entity v, transformer tf)
transformer transformer_add_equality_with_integer_constant(transformer tf, entity v, long long int cst)
Add an equality between a value and an integer constant: v==cst.
transformer transformer_equality_add(transformer tf, Pvecteur i)
void add_value_to_transformer_space(entity v, transformer tf)
#define NIL
The empty list (nil in Lisp)
list gen_copy_seq(list l)
Copy a list structure.
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
void gen_free_list(list l)
free the spine of the list
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
bool unsigned_type_p(type t)
Predicates on types.
type entity_basic_concrete_type(entity e)
retrieves or computes and then returns the basic concrete type of an entity
#define transformer_relation(x)
#define transformer_arguments(x)
#define predicate_system(x)
#define variable_basic(x)
Pcontrainte eq
element du vecteur colonne du systeme donne par l'analyse
bool precondition_minmax_of_value(entity val, transformer tr, intptr_t *pmin, intptr_t *pmax)
compute integer bounds pmax, pmin of value val under preconditions tr require value mappings set !
#define unsigned_long_int
void transformer_add_variable_type_information(transformer tf, entity v)
#define unsigned_long_long_int
void transformer_add_type_information(transformer tf)
type.c
#define unsigned_short_int
static void add_type_information(transformer tf)
Add some of the constraints linked to the type of a variable.
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
#define TCST
VARIABLE REPRESENTANT LE TERME CONSTANT.
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
#define BASE_NULLE
MACROS SUR LES BASES.
Pvecteur vect_make(Pvecteur v, Variable var, Value val,...)
Pvecteur vect_make(v, [var, val,]* 0, val) Pvecteur v; // may be NULL, use assigne anyway Variable va...
Pbase vect_copy(Pvecteur b)
direct duplication.
Pvecteur vect_new(Variable var, Value coeff)
Pvecteur vect_new(Variable var,Value coeff): allocation d'un vecteur colineaire au vecteur de base va...
void vect_rm(Pvecteur v)
void vect_rm(Pvecteur v): desallocation des couples de v;