25 #include "pips_config.h"
108 #include "constants.h"
129 #define PAF_STRING "paf"
130 #define INS_NAME_LENGTH 4
131 #define STMT_TO_STCT_SIZE 100
213 if( (paf_file = fopen(paf_file_name,
"r")) == NULL)
215 fprintf(stderr,
"Cannot open file %s\n", paf_file_name);
219 #if defined(HAS_ADGYY)
238 #define INIT_STATEMENT_SIZE 20
268 string param_full_name;
321 for(; aux_l !=
NIL; aux_l =
CDR(aux_l))
518 string ref_full_name;
523 s_ref, (
char *) NULL));
625 if(strncmp(op_name,
"0", 1) == 0)
756 string loop_full_name;
760 s_loop, (
char *) NULL));
787 string index_full_name;
791 s_ind, (
char *) NULL));
890 for(; aux_l !=
NIL; aux_l =
CDR(aux_l))
894 if(strcmp(loop_name, s) == 0)
920 string loop_full_name;
924 s_loop, (
char *) NULL));
float a2sf[2] __attribute__((aligned(16)))
USER generates a user error (i.e., non fatal) by printing the given MSG according to the FMT.
successor make_successor(arc_label a1, vertex a2)
vertex make_vertex(vertex_label a1, list a2)
static_control make_static_control(bool a1, list a2, list a3, list a4)
dataflow make_dataflow(reference a1, list a2, predicate a3, communication a4)
lisp_expression make_lisp_expression(string a1, list a2)
dfg_arc_label make_dfg_arc_label(list a)
dfg_vertex_label make_dfg_vertex_label(intptr_t a1, predicate a2, sccflags a3)
loop make_loop(entity a1, range a2, statement a3, entity a4, execution a5, list a6)
type make_type_variable(variable _field_)
storage make_storage(enum storage_utype tag, void *val)
basic make_basic_int(intptr_t _field_)
value make_value(enum value_utype tag, void *val)
reference make_reference(entity a1, list a2)
statement make_statement(entity a1, intptr_t a2, intptr_t a3, string a4, instruction a5, list a6, string a7, extensions a8, synchronization a9)
variable make_variable(basic a1, list a2, list a3)
synchronization make_synchronization_none(void)
type make_type(enum type_utype tag, void *val)
range make_range(expression a1, expression a2, expression a3)
static vertex crt_node
Internal variables
void new_df_trans_exp()
===========================================================================
void init_op_name(string op_name)
===========================================================================
void init_new_do_loop(char *s_loop)
===========================================================================
void elim_last_pred()
===========================================================================
static int sink_stmt
Current source node.
void init_new_gd_ins(char *s_ins)
===========================================================================
dfg_arc_label arc_label
Name : adg_read_paf.c Package : paf-util Author : Alexis Platonoff Date : april 1993 Historic : 16 ju...
void init_new_dfg()
===========================================================================
void new_df_ref_ind(string s_ind __attribute__((unused)))
===========================================================================
static list trans_l
Current list of nodes.
list stmt_list
The "stmt_list" global variable is the list the assign statement of the program (with all fields empt...
static loop crt_loop
Current operator name.
static int source_stmt
Current sink statement.
void save_int(int i)
===========================================================================
void init_new_df_gov_pred()
===========================================================================
static list crt_node_l
Current execution domain.
void new_param(string s)
===========================================================================
static predicate exec_dom
Current governing predicate.
void init_new_df_source(char *s_ins)
===========================================================================
static loop find_loop_with_name(string s)
===========================================================================
void finish_new_do_loop()
===========================================================================
dfg_vertex_label vertex_label
static list ref_inds
Current list of transformations.
list loop_list
The "loop_list" global variable is the list the loops of the program (with all their characteristics:...
#define STMT_TO_STCT_SIZE
void lbound_exp()
===========================================================================
static list pred_l
Current list of linear expressions.
void finish_new_gd_ins()
===========================================================================
static int crt_stmt
Current source statement.
static reference ref
Current stmt (an integer)
void init_new_df_sink_ins()
===========================================================================
#define DOT
include "paf_ri.h"
static list param_l
Current list of englobing loops.
void new_df_sink_ins(char *s_ins)
===========================================================================
void new_df_gov_pred()
===========================================================================
static expression crt_exp
Current reference.
void step_exp()
===========================================================================
static string crt_op_name
Current list of structure parameters.
void ubound_exp()
===========================================================================
void init_new_df_ref(char *s_ref)
===========================================================================
void save_exp()
===========================================================================
void save_id(string s)
===========================================================================
void init_loop_ctrl(char *s_ind)
===========================================================================
static hash_table STS
The "STS" global variable is the hash table that maps the static_control on the statements.
graph dfg
Global variables
void save_pred(int option)
===========================================================================
static list crt_el
Current list of predicates.
static statement find_stmt_with_num(int n)
===========================================================================
void new_eng_loop(char *s_loop)
===========================================================================
void finish_new_df_source()
===========================================================================
graph adg_read_paf(char *s)
Current loop instruction.
static list lin_exp_l
Current list of reference indices.
static predicate gov_pred
Current expression.
void init_op_exp(string op_name)
===========================================================================
void finish_new_df_ref()
===========================================================================
#define sccflags_undefined
#define successor_vertex(x)
#define SUCCESSOR(x)
SUCCESSOR.
#define graph_vertices(x)
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
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 MAPL(_map_list_cp, _code, _l)
Apply some code on the addresses of all the elements of a list.
hash_table hash_table_make(hash_key_type key_type, size_t size)
void hash_put(hash_table htp, const void *key, const void *val)
This functions stores a couple (key,val) in the hash table pointed to by htp.
#define pips_internal_error
#define MODULE_SEP_STRING
string concatenate(const char *,...)
Return the concatenation of the given strings.
void * gen_find_tabulated(const char *, int)
expression negate_expression(expression)
===========================================================================
loop loop_dup(loop)
===========================================================================
expression lisp_exp_to_ri_exp(lisp_expression)
===========================================================================
successor first_succ_of_vertex(vertex)
===========================================================================
expression make_id_expression(string)
===========================================================================
void set_current_stco_map(statement_mapping)
========================================================================
dataflow first_df_of_succ(successor)
===========================================================================
predicate expressions_to_predicate(list)
===========================================================================
#define DATAFLOW(x)
DATAFLOW.
#define LISP_EXPRESSION(x)
LISP_EXPRESSION.
#define communication_undefined
#define dataflow_governing_pred(x)
#define dataflow_reference(x)
#define lisp_expression_args(x)
#define PLUS_OPERATOR_NAME
#define make_entity(n, t, s, 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...
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
expression make_op_exp(char *op_name, expression exp1, expression exp2)
================================================================
extensions empty_extensions(void)
extension.c
#define reference_undefined
#define statement_ordering(x)
#define execution_undefined
#define range_increment(x)
#define EXPRESSION(x)
EXPRESSION.
#define instruction_undefined
#define expression_undefined
#define predicate_undefined
#define reference_indices(x)
#define entity_domain
newgen_syntax_domain_defined
#define statement_undefined
#define STATEMENT(x)
STATEMENT.
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
The structure used to build lists in NewGen.