25 #include "pips_config.h"
93 fprintf(stderr,
"Execution context of loop %td is:\n",
178 fprintf(stderr,
"Execution context of statement %td :\n",
185 return(contexts_map);
struct _newgen_struct_statement_ * statement
statement_mapping contexts_mapping_of_nest(statement stat)
contexts.c
static Psysteme make_context_of_loop(statement stat)
static void contexts_mapping_of_statement(statement_mapping m, Psysteme c, statement s)
Pcontrainte contrainte_make(Pvecteur pv)
Pcontrainte contrainte_make(Pvecteur pv): allocation et initialisation d'une contrainte avec un vecte...
#define CONTROL_MAP(ctl, code, c, list)
Macro to walk through all the controls reachable from a given control node of an unstructured.
int loop_increment_value(loop l)
#define NIL
The empty list (nil in Lisp)
#define CAR(pcons)
Get the value of the first element of a list.
void gen_free_list(list l)
free the spine of the list
#define MAPL(_map_list_cp, _code, _l)
Apply some code on the addresses of all the elements of a list.
loop statement_loop(statement)
Get the loop of a statement.
bool statement_call_p(statement)
bool statement_loop_p(statement)
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
#define SET_STATEMENT_MAPPING(map, stat, val)
#define MAKE_STATEMENT_MAPPING()
#define STATEMENT_MAPPING_MAP(s, v, code, h)
#define NORMALIZE_EXPRESSION(e)
#define unstructured_control
After the modification in Newgen: unstructured = entry:control x exit:control we have create a macro ...
#define is_instruction_block
soft block->sequence transition
#define instruction_block(i)
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
#define normalized_linear_p(x)
#define instruction_loop(x)
@ is_instruction_unstructured
@ is_instruction_whileloop
#define instruction_tag(x)
#define statement_instruction(x)
#define control_statement(x)
#define instruction_test(x)
#define statement_number(x)
#define normalized_linear(x)
#define instruction_unstructured(x)
#define STATEMENT(x)
STATEMENT.
Psysteme sc_new(void)
Psysteme sc_new(): alloue un systeme vide, initialise tous les champs avec des valeurs nulles,...
Psysteme sc_intersection(Psysteme s1, Psysteme s2, Psysteme s3)
Psysteme sc_intersection(Psysteme s1, Psysteme s2, Psysteme s3): calcul d'un systeme de contraintes s...
void sc_fprint(FILE *fp, Psysteme ps, get_variable_name_t nom_var)
void sc_fprint(FILE * f, Psysteme ps, char * (*nom_var)()): cette fonction imprime dans le fichier po...
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
Pvecteur vect_multiply(Pvecteur v, Value x)
Pvecteur vect_multiply(Pvecteur v, Value x): multiplication du vecteur v par le scalaire x,...
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
char *(* get_variable_name_t)(Variable)
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_dup(Pvecteur v_in)
Pvecteur vect_dup(Pvecteur v_in): duplication du vecteur v_in; allocation de et copie dans v_out;.
void vect_add_elem(Pvecteur *pvect, Variable var, Value val)
void vect_add_elem(Pvecteur * pvect, Variable var, Value val): addition d'un vecteur colineaire au ve...