PIPS
|
Go to the source code of this file.
Typedefs | |
typedef points_to_graph | pt_map |
Functions | |
bool | in_alias_pairs (const string) |
cproto-generated files More... | |
bool | out_alias_pairs (const char *) |
top-level creation of pairs of aliases of OUT regions of the module modifies global vars callee, list_regions_callee, list_pairs and current_caller_stmt More... | |
bool | alias_lists (const string) |
alias_lists.c More... | |
bool | alias_classes (const char *) |
alias_classes.c More... | |
bool | print_in_alias_pairs (const char *) |
prettyprint.c More... | |
bool | print_out_alias_pairs (const char *) |
bool | print_alias_lists (const char *) |
bool | print_alias_classes (const char *) |
#define add_arc_to_pt_map | ( | a, | |
s | |||
) | (set_add_element((set) points_to_graph_set(s), (set) points_to_graph_set(s), (void *) a), (s)) |
Definition at line 94 of file alias-classes.h.
#define add_arc_to_simple_pt_map | ( | a, | |
s | |||
) | set_add_element((set) s, (set) s, (void *) a) |
Definition at line 95 of file alias-classes.h.
#define assign_pt_map | ( | x, | |
y | |||
) | ((void) set_assign(points_to_graph_set(x), points_to_graph_set(y)), (x)) |
Definition at line 72 of file alias-classes.h.
#define clear_pt_map | ( | pt | ) | set_clear(points_to_graph_set(pt)) |
Definition at line 73 of file alias-classes.h.
#define consistent_pt_map_p | ( | s | ) | consistent_points_to_graph_p(s) |
Definition at line 90 of file alias-classes.h.
#define difference_of_pt_maps | ( | pt1, | |
pt2, | |||
pt3 | |||
) |
Definition at line 83 of file alias-classes.h.
#define empty_pt_map_p | ( | s | ) | set_empty_p(points_to_graph_set(s)) |
Definition at line 88 of file alias-classes.h.
#define free_pt_map | ( | pt | ) | free_points_to_graph(pt) |
Definition at line 75 of file alias-classes.h.
#define free_pt_maps free_points_to_graph_sets |
Definition at line 78 of file alias-classes.h.
#define new_pt_map | ( | ) | make_points_to_graph(false, set_generic_make(set_private, points_to_equal_p, points_to_rank)) |
Definition at line 70 of file alias-classes.h.
#define new_simple_pt_map | ( | ) | set_generic_make(set_private, points_to_equal_p, points_to_rank) |
Definition at line 71 of file alias-classes.h.
#define print_pt_map | ( | pt | ) | print_points_to_set("", points_to_graph_set(pt)); |
Definition at line 76 of file alias-classes.h.
#define pt_map_undefined points_to_graph_undefined |
Definition at line 68 of file alias-classes.h.
#define pt_map_undefined_p | ( | pt | ) | ((pt)==points_to_graph_undefined) |
Definition at line 69 of file alias-classes.h.
#define remove_arc_from_pt_map | ( | a, | |
s | |||
) | (set_del_element((set) points_to_graph_set(s), (set) points_to_graph_set(s), (void *) a), (s)) |
Definition at line 98 of file alias-classes.h.
#define remove_arc_from_simple_pt_map | ( | a, | |
s | |||
) | set_del_element((set) s, (set) s, (void *) a) |
Definition at line 99 of file alias-classes.h.
#define SEQUENTIAL_POINTS_TO_SETS_SUFFIX ".pt" |
Warning! Do not modify this file that is automatically generated!
Modify src/Libs/alias-classes/alias-classes-local.h instead, to add your own modifications. header file built by cproto alias_classes-local.h
Definition at line 34 of file alias-classes.h.
#define source_in_pt_map_p | ( | cell, | |
set | |||
) | source_in_set_p(cell,points_to_graph_set(set)) |
Definition at line 92 of file alias-classes.h.
#define union_of_pt_maps | ( | pt1, | |
pt2, | |||
pt3 | |||
) |
Definition at line 80 of file alias-classes.h.
#define USER_POINTS_TO_SETS_SUFFIX ".upt" |
Definition at line 35 of file alias-classes.h.
typedef points_to_graph pt_map |
Definition at line 67 of file alias-classes.h.
bool alias_classes | ( | const char * | module_name | ) |
ATTENTION: we have to do ALL this just to call print_inout_regions for debug !!
and this to call print_region set_action_interpretation(ACTION_IN,ACTION_OUT);
that's it, but we musn't forget to reset everything below
ifdebug(9) { pips_debug(9,"add list:\n"); print_inout_regions(module_alias_list); }
module_name | odule_name |
Definition at line 514 of file alias_classes.c.
References 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, l_alias_classes, l_alias_lists, l_lists, LIST, local_name_to_top_level_entity(), make_effects_classes(), MAP, module, module_name(), module_to_value_mappings(), NIL, 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(), unite_lists_containing_same_exact_region(), and unite_lists_with_same_head().
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().
cproto-generated files
cproto-generated files
we need the IN summary regions
was (but didn't work) l_reg = (list) db_get_memory_resource(DBR_IN_SUMMARY_REGIONS, module_name, true);
module_name | odule_name |
Definition at line 587 of file alias_pairs.c.
References alias_pairs(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, effects_to_list(), make_effects_classes(), module_name(), pips_debug, and strdup().
Referenced by alias_lists().
bool out_alias_pairs | ( | const char * | module_name | ) |
top-level creation of pairs of aliases of OUT regions of the module modifies global vars callee, list_regions_callee, list_pairs and current_caller_stmt
we need the OUT summary regions
was (but didn't work) l_reg = (list) db_get_memory_resource(DBR_OUT_SUMMARY_REGIONS, module_name, true);
module_name | odule_name |
Definition at line 623 of file alias_pairs.c.
References alias_pairs(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_off, debug_on, effects_to_list(), make_effects_classes(), module_name(), pips_debug, and strdup().
Referenced by alias_lists().
bool print_alias_classes | ( | const char * | module_name | ) |
module_name | odule_name |
Definition at line 319 of file prettyprint.c.
References debug_off, debug_on, module_name(), pips_debug, and print_aliases().
bool print_alias_lists | ( | const char * | module_name | ) |
module_name | odule_name |
Definition at line 304 of file prettyprint.c.
References debug_off, debug_on, module_name(), pips_debug, and print_aliases().
bool print_in_alias_pairs | ( | const char * | module_name | ) |
prettyprint.c
module_name | odule_name |
Definition at line 273 of file prettyprint.c.
References debug_off, debug_on, module_name(), pips_debug, and print_aliases().
bool print_out_alias_pairs | ( | const char * | module_name | ) |
module_name | odule_name |
Definition at line 289 of file prettyprint.c.
References debug_off, debug_on, module_name(), pips_debug, and print_aliases().