25 #include "pips_config.h"
46 fprintf(stderr,
"variable %s:\n\tnh=%s\n\toh=%s\n\tnn=%s\n\ton=%s\n",
274 last = result, le =
CDR(le);
276 le =
CDR(le), last =
CDR(last))
entity_status make_entity_status(entitymap a1, entitymap a2, entitymap a3, entitymap a4, entity_int a5)
expression copy_expression(expression p)
EXPRESSION.
statement copy_statement(statement p)
STATEMENT.
struct _newgen_struct_entity_ * entity
static reference ref
Current stmt (an integer)
entity host_module
HPFC - Fabien Coelho, May 1993 and later...
string gen_domain_name(int t)
GEN_DOMAIN_NAME returns the domain name, and may be used for debug purposes.
int gen_type(gen_chunk *obj)
GEN_TYPE returns the domain number for the object in argument.
void gen_multi_recurse(void *o,...)
Multi recursion visitor function.
bool gen_false(__attribute__((unused)) gen_chunk *unused)
Return false and ignore the argument.
bool gen_true(__attribute__((unused)) gen_chunk *unused)
Return true and ignore the argument.
void * gen_identity(const void *x)
Just return the argument.
#define ENDP(l)
Test if a list is empty.
list gen_nreverse(list cp)
reverse a list in place
#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)
#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.
#define MAP(_map_CASTER, _map_item, _map_code, _map_list)
Apply/map an instruction block on all the elements of a list (old fashioned)
list gen_full_copy_list(list l)
Copy a list structure with element copy.
void debug_host_node_variables(entity e)
HPFC module by Fabien COELHO.
static entity(* load)(entity)
void store_new_node_variable(entity new, entity old)
static void update_for_module_rewrite(entity *pe)
static bool(* bound_p)(entity)
void update_object_for_module(void *obj, entity module)
list lNewVariableForModule(entity module, list le)
static void update_call_for_module_rewrite(call c)
shift the calls to the right variable, in the module
entity_status get_entity_status()
static void update_loop_for_module_rewrite(loop l)
entity NewVariableForModule(entity module, entity e)
static void update_code_for_module_rewrite(code c)
string hpfc_module_suffix(entity module)
void store_new_host_node_variable(entity neh, entity nen, entity old)
list lUpdateExpr(entity module, list l)
void store_new_host_variable(entity new, entity old)
list lUpdateExpr_but_distributed(entity module, list l)
used for compiling calls.
void set_entity_status(entity_status s)
static void update_reference_for_module_rewrite(reference ref)
shift the references to the right variable, in the module
void update_list_for_module(list l, entity module)
expression UpdateExpressionForModule(entity module, expression ex)
this function creates a new expression using the mapping of old to new variables map.
void close_entity_status()
void init_entity_status()
statement UpdateStatementForModule(entity module, statement stat)
void reset_entity_status()
#define entity_status_new_node(x)
#define entity_status_old_node(x)
#define entity_status_new_host(x)
#define entity_status_old_host(x)
#define HOST_NAME
Constants.
void set_old_host(entitymap)
bool bound_old_node_p(entity)
entity load_old_node(entity)
bool bound_new_host_p(entity)
void store_or_update_new_node(entity, entity)
entity load_new_node(entity)
void close_new_node(void)
void close_old_node(void)
void set_new_node(entitymap)
void store_or_update_new_host(entity, entity)
void store_or_update_old_host(entity, entity)
void set_new_host(entitymap)
entitymap get_old_node(void)
void reset_new_node(void)
entitymap get_old_host(void)
void close_new_host(void)
void close_old_host(void)
entitymap get_new_host(void)
entitymap get_new_node(void)
void set_old_node(entitymap)
bool bound_new_node_p(entity)
void store_or_update_old_node(entity, entity)
void reset_old_node(void)
void reset_old_host(void)
bool bound_old_host_p(entity)
void reset_new_host(void)
entity load_new_host(entity)
entity load_old_host(entity)
bool array_distributed_p(entity)
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
#define GENERIC_GLOBAL_FUNCTION(name, type)
int bool
we cannot use an enum or stdbool because we need to be compatible with newgen, thus boolean need to h...
entity expression_to_entity(expression e)
just returns the entity of an expression, or entity_undefined
#define reference_variable(x)
#define loop_domain
newgen_language_domain_defined
#define code_declarations(x)
#define call_domain
newgen_callees_domain_defined
#define EXPRESSION(x)
EXPRESSION.
#define entity_undefined_p(x)
#define reference_domain
newgen_range_domain_defined
#define entity_int_undefined
#define code_domain
newgen_cast_domain_defined
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
The structure used to build lists in NewGen.