6 #ifndef ricedg_header_included
7 #define ricedg_header_included
78 #define FLOW_DEPENDANCE 1
79 #define ANTI_DEPENDANCE 2
80 #define OUTPUT_DEPENDANCE 4
81 #define INPUT_DEPENDANCE 8
176 extern list TestCoupleOfReferences(
list ,
Psysteme ,
statement ,
effect ,
reference ,
list ,
Psysteme ,
statement ,
effect ,
reference ,
list ,
Ptsg *,
list *,
Ptsg *);
bool print_loopnest_dependence_cone(const char *)
bool print_loop_carried_dependence_graph(const string)
entity MakeDsiVar(int)
This function creates dsi variables.
graph compute_dg_on_statement_from_chains(statement, graph)
void print_dependence_cone(FILE *, Ptsg, Pbase)
vertex get_vertex_in_list(list, string)
trace.c
int vertex_ordering(vertex)
bool print_dot_dependence_graph(string)
This pipmake pass output the DG in a file usable by graphviz tool dot.
Psysteme sc_invers(Psysteme)
Psysteme sc_invers(Psysteme ps): calcul un systeme des contraintes qui est l'invers du systeme initia...
Pbase MakeDibaseinorder(int)
Pbase MakeDibaseinorder(int n) make a base of D#1 ...
int vertex_sort_callback(const vertex *, const vertex *)
This is a callback for qsort function, it compares two vertex.
list TestCoupleOfReferences(list, Psysteme, statement, effect, reference, list, Psysteme, statement, effect, reference, list, Ptsg *, list *, Ptsg *)
int NbrArrayDepInit
he variables for the statistics of test of dependence and parallelization
int sc_proj_optim_on_di_ofl(int, Psysteme *)
int sc_proj_optim_on_di_ofl(cl, sc)
Psysteme sc_projection_optim_along_vecteur_ofl(Psysteme, Pvecteur)
Psysteme sc_projection_optim_along_vecteur_ofl(Psysteme sc, Pvecteur pv)
bool statement_context_undefined_p(statement)
hash_table compute_ordering_to_dg_mapping(graph)
Define a mapping from the statement ordering to the dependence graph vertices:
bool rice_full_dependence_graph(char *)
void set_context_map(statement_mapping)
entity DiVars[9]
testdep_util.c
graph compute_dg_on_statement_from_chains_in_place(statement, graph)
int compare_vertex(const void *, const void *)
compare two vertices based on their ordering
bool check_way_between_two_statements(statement, statement, graph)
Check to see if there is a directed way between 2 statements in the graph specified.
int NbrTestDiCnst
by sc_normalize()
hash_table statements_to_successors(list, graph)
creates a hash_table containing statements from statements as keys and their respective succesors acc...
void delete_statement_context(statement)
bool print_whole_dependence_graph(const string)
prettyprint.c
bool sc_faisabilite_optim(Psysteme)
bool sc_faisabilite_optim (Psysteme sc) :
bool print_dependence_graph(string)
void sc_add_di(int, entity, Psysteme, int)
void prettyprint_dependence_graph(FILE *, statement, graph)
Print all edges and arcs.
bool print_filtered_dg_or_dvdg(string, bool)
void ResetLoopCounter(void)
bool rice_fast_dependence_graph(char *)
bool print_dot_chains_graph(string)
This pipmake pass output the chains in a file usable by the graphviz tool dot.
bool print_filtered_dependence_graph(const string)
entity GetDiVar(int)
This functions looks up a di variable of nesting level l in table DiVars.
int sc_proj_on_di(int, Psysteme)
void prettyprint_graph_text(FILE *, list)
print a graph to text format
statement_mapping contexts_mapping_of_nest(statement)
contexts.c
int dep_type(action, action)
int dep_type(action ac1,action ac2) This function test the type of the dependence.
void prettyprint_dependence_graph_view(FILE *, statement, graph)
Do not print vertices and arcs ignored by the parallelization algorithms.
int DiVarLevel(entity)
this function returns the nesting level of a given di variable e.
bool sc_minmax_of_variable_optim(Psysteme volatile, Variable, Value *, Value *)
void sc_minmax_of_variable_optim(Psysteme ps, Variable var, Value *pmin, *pmax): examine un systeme p...
bool impact_check(char *)
void prettyprint_dot_dependence_graph(FILE *, statement, graph)
Output dependence graph in a file in graphviz dot format.
void sc_add_dsi(int, entity, Psysteme)
int successor_sort_callback(const successor *, const successor *)
This is a callback for qsort function, it compares two successor.
list make_filtered_dg_or_dvdg(statement, graph)
void update_statement_context(statement, Psysteme)
entity MakeLiVar(int)
This function creates li variables(thee ith loop index variable).
void store_statement_context(statement, Psysteme)
bool is_test_exact
or counting the number of F-M complexity less than 16.
void prettyprint_graph_daVinci(FILE *, list)
print a graph to daVinci format, each label of successor is represented by a circular node,...
void print_vect_in_vertice_val(FILE *, Pvecteur, Pbase)
Psysteme load_statement_context(statement)
bool context_map_undefined_p(void)
void vect_chg_var_sign(Pvecteur *, Variable)
void vect_chg_var_sign(Pvecteur *ppv, Variable var) changement de signe de la coordonnee var du vecte...
int conflicts_sort_callback(conflict *, conflict *)
This is a callback for qsort function, it compares two conflicts.
void reset_context_map(void)
void free_context_map(void)
int FindMaximumCommonLevel(cons *, cons *)
list union_list(list, list)
Union is not typed...
statement_mapping get_context_map(void)
entity MakeLoopCounter(void)
Create a new loop counter variable.
bool print_effective_dependence_graph(const string)
bool print_chains_graph(string)
statement vertex_to_statement(vertex)
cproto-generated files
bool find_covering_reference_path(set, statement, action, entity, statement, action, entity)
impact_check.c
entity MakeDiVar(int)
This function creates di variables.
bool rice_semantics_dependence_graph(char *)
bool rice_regions_dependence_graph(char *)
void make_context_map(void)
bool print_filtered_dependence_daVinci_graph(const string)
void quick_privatize_graph(graph)
quick_privatize.c
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
FI: I do not understand why the type is duplicated at the set level.
The structure used to build lists in NewGen.
Representation d'un systeme generateur par trois ensembles de sommets de rayons et de droites.
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....