25 #include "pips_config.h"
179 if (!
member(reg,reg_list))
182 new_reg_list = reg_list;
198 list new_reg_list = initial_reg_list;
222 list rest_other_list;
234 if (other_list !=
NIL)
236 rest_other_list = other_list;
238 other_elem =
EFFECT(
CAR(rest_other_list));
239 rest_other_list =
CDR(rest_other_list);
262 }
while (result ==
false && rest_other_list !=
NIL);
421 if (other_list !=
NIL)
465 list next_list, new_list;
475 new_list = next_list;
477 if (next_list !=
NIL)
517 list module_alias_lists;
519 debug_on(
"ALIAS_CLASSES_DEBUG_LEVEL");
535 DBR_CUMULATED_EFFECTS,
560 list module_alias_list =
570 },module_alias_lists);
effects_classes make_effects_classes(list a)
effects make_effects(list a)
static list compare_heads_rest_lists(region head, list new_list)
global variables IN: l_alias_lists global variables modified: l_alias_lists compares "head" (the head...
static bool member(region reg, list reg_list)
tests if reg and any member of reg_list are same_reg_ignore_action
static list append_reg_if_not_present(list reg_list, region reg)
adds reg as final element on the end of reg_list unless reg is already present in reg_list i....
static void make_class_from_list(list reg_list)
global variables IN: new_class, rest_lists, l_lists global variables modified: new_class,...
static bool same_reg_ignore_action(region reg1, region reg2)
tests if reg1 and reg2 are the same, ignoring their action_tags (IN/OUT) but checking their precision...
static list l_alias_lists
bool alias_classes(const char *module_name)
alias_classes.c
static void unite_lists_containing_same_exact_region()
global variables IN: l_lists, l_alias_classes global variables modified:class, l_lists,...
static void unite_lists_with_same_head()
global variables IN: l_alias_lists, l_lists global variables modified: l_alias_lists,...
static void compare_rest_lists(region elem)
global variables IN: rest_list, rest_lists, l_lists global variables modified: rest_list,...
static list l_alias_classes
static void compare_other_list(region elem, list other_list)
global variables IN: rest_list, l_lists global variables modified: rest_list, l_lists
static list union_lists(list initial_reg_list, list additional_list)
add a copy of each element in additional_list not already present in initial_reg_list to the end of i...
#define region_system(reg)
#define region
simulation of the type region
void print_inout_regions(list)
void reset_action_interpretation(void)
void reset_proper_rw_effects(void)
void set_proper_rw_effects(statement_effects)
void set_cumulated_rw_effects(statement_effects)
void set_action_interpretation(string, string)
prettyprint.c
void reset_cumulated_rw_effects(void)
#define effect_approximation_tag(eff)
#define effect_exact_p(eff)
entity effect_entity(effect)
cproto-generated files
#define effect_undefined_p(x)
#define EFFECTS(x)
EFFECTS.
#define effects_effects(x)
#define effects_classes_classes(x)
const char * module_name(const char *s)
Return the module part of an entity name.
void reset_current_module_entity(void)
Reset the current module entity.
void reset_current_module_statement(void)
Reset the current module statement.
statement set_current_module_statement(statement)
Set the current module statement.
entity set_current_module_entity(entity)
static.c
entity get_current_module_entity(void)
Get the entity of the current module.
#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 MAP(_map_CASTER, _map_item, _map_code, _map_list)
Apply/map an instruction block on all the elements of a list (old fashioned)
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
#define DB_PUT_MEMORY_RESOURCE(res_name, own_name, res_val)
conform to old interface.
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
void module_to_value_mappings(entity m)
void module_to_value_mappings(entity m): build hash tables between variables and values (old,...
The structure used to build lists in NewGen.
#define sc_equal_p_ofl(ps1, ps2)