PIPS
|
#include <stdio.h>
#include <string.h>
#include <setjmp.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "effects.h"
#include "ri-util.h"
#include "effects-util.h"
#include "misc.h"
#include "effects-generic.h"
#include "effects-convex.h"
#include "semantics.h"
#include "transformer.h"
#include "pipsdbm.h"
Go to the source code of this file.
Functions | |
static bool | same_reg (region reg1, region reg2) |
tests if reg1 and reg2 are the same, including same action_tags (IN/OUT) and precision (may/exact) More... | |
static void | add_unmatched_alias_pairs () |
global variables IN: unmatched_alias_pairs, l_alias_lists modifies global variable: l_alias_lists More... | |
static bool | compare_matched_alias_pairs (bool result, region alias_list_reg, list callee_alias_list) |
global variables IN: matched_alias_pairs, l_alias_lists modifies global variable: l_alias_lists More... | |
static bool | compare_unmatched_alias_pairs (region alias_list_reg, list callee_alias_list) |
global variables IN: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists More... | |
static void | add_alias_lists_callee (string callee_name) |
global variables IN: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists More... | |
static void | add_alias_lists_callees (const char *module_name) |
global variables IN: unmatched_alias_pairs, l_alias_lists modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists More... | |
bool | alias_lists (const string module_name) |
modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists More... | |
Variables | |
static list | l_alias_lists |
static list | unmatched_alias_pairs |
static list | matched_alias_pairs |
|
static |
global variables IN: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists
Definition at line 250 of file alias_lists.c.
References CAR, compare_matched_alias_pairs(), compare_unmatched_alias_pairs(), CONS, db_get_memory_resource(), EFFECT, EFFECTS, effects_classes_classes, effects_effects, gen_last(), ifdebug, l_alias_lists, make_effects(), MAP, NIL, pips_debug, print_inout_regions(), region, and regions_dup().
Referenced by add_alias_lists_callees().
|
static |
global variables IN: unmatched_alias_pairs, l_alias_lists modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists
Definition at line 303 of file alias_lists.c.
References add_alias_lists_callee(), callees_callees, db_get_memory_resource(), MAP, matched_alias_pairs, module_name(), NIL, pips_debug, and STRING.
Referenced by alias_lists().
|
static |
global variables IN: unmatched_alias_pairs, l_alias_lists modifies global variable: l_alias_lists
Definition at line 115 of file alias_lists.c.
References CONS, EFFECTS, l_alias_lists, LIST, make_effects(), MAP, pips_debug, regions_dup(), and unmatched_alias_pairs.
Referenced by alias_lists().
modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists
ATTENTION: we have to do ALL this just to call print_inout_regions for debug !!
that's it, but we musn't forget to reset everything below
make alias lists from the IN_alias_pairs
DBR_IN_ALIAS_PAIRS is a newgen structure of type effects_classes which has one field called classes which is a list of newgen structures of type effects (and each newgen structure of type effects has one field called effects which is a list of elements of type effect)
wrong but did work:
in_alias_pairs = effects_to_list((effects) db_get_memory_resource(DBR_IN_ALIAS_PAIRS, module_name, true));
MAP(LIST, alias_pair, { list in_alias_pair = regions_dup(alias_pair);
make alias lists from the OUT_alias_pairs
MAP(LIST, alias_pair, { list out_alias_pair = regions_dup(alias_pair);
module_name | odule_name |
Definition at line 328 of file alias_lists.c.
References add_alias_lists_callees(), add_unmatched_alias_pairs(), CONS, db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, EFFECTS, effects_classes_classes, effects_effects, free_value_mappings(), get_current_module_entity(), ifdebug, in_alias_pairs(), l_alias_lists, LIST, local_name_to_top_level_entity(), make_effects_classes(), MAP, matched_alias_pairs, module, module_name(), module_to_value_mappings(), NIL, out_alias_pairs(), pips_debug, print_inout_regions(), reset_cumulated_rw_effects(), reset_current_module_entity(), reset_current_module_statement(), reset_proper_rw_effects(), set_cumulated_rw_effects(), set_current_module_entity(), set_current_module_statement(), set_proper_rw_effects(), strdup(), and unmatched_alias_pairs.
Referenced by alias_classes(), and aliases_text().
|
static |
global variables IN: matched_alias_pairs, l_alias_lists modifies global variable: l_alias_lists
must take the action of the regions into account here because we are checking whether formal_reg is the result of the propagation of alias_list_reg
Definition at line 135 of file alias_lists.c.
References ACTION_IN, ACTION_OUT, CAR, CDR, CONS, EFFECT, EFFECTS, gen_nconc(), ifdebug, l_alias_lists, LIST, make_effects(), MAP, matched_alias_pairs, pips_debug, print_region, region, regions_dup(), reset_action_interpretation(), same_reg(), and set_action_interpretation().
Referenced by add_alias_lists_callee().
global variables IN: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists modifies global variables: matched_alias_pairs, unmatched_alias_pairs, l_alias_lists
must take the action of the regions into account here because we are checking whether formal_reg is the result of the propagation of alias_list_reg
Definition at line 186 of file alias_lists.c.
References ACTION_IN, ACTION_OUT, CAR, CDR, CONS, EFFECT, EFFECTS, gen_nconc(), ifdebug, l_alias_lists, LIST, make_effects(), MAP, matched_alias_pairs, NIL, pips_debug, print_region, region, regions_dup(), reset_action_interpretation(), same_reg(), set_action_interpretation(), and unmatched_alias_pairs.
Referenced by add_alias_lists_callee().
tests if reg1 and reg2 are the same, including same action_tags (IN/OUT) and precision (may/exact)
pips_debug(1,"same entity\n");
pips_debug(1,"same approx\n");
pips_debug(1,"same action\n");
Definition at line 59 of file alias_lists.c.
References ACTION_IN, ACTION_OUT, effect_action_tag, effect_approximation_tag, effect_entity(), effect_undefined_p, ifdebug, pips_debug, print_region, region_system, reset_action_interpretation(), sc_equal_p_ofl, and set_action_interpretation().
Referenced by compare_matched_alias_pairs(), and compare_unmatched_alias_pairs().
|
static |
Definition at line 49 of file alias_lists.c.
Referenced by add_alias_lists_callee(), add_unmatched_alias_pairs(), alias_lists(), compare_matched_alias_pairs(), and compare_unmatched_alias_pairs().
|
static |
Definition at line 51 of file alias_lists.c.
Referenced by add_alias_lists_callees(), alias_lists(), compare_matched_alias_pairs(), and compare_unmatched_alias_pairs().
|
static |
Definition at line 50 of file alias_lists.c.
Referenced by add_unmatched_alias_pairs(), alias_lists(), and compare_unmatched_alias_pairs().