PIPS
conflicts.c File Reference
#include <stdio.h>
#include "linear.h"
#include "genC.h"
#include "ri.h"
#include "effects.h"
#include "misc.h"
#include "ri-util.h"
#include "effects-util.h"
+ Include dependency graph for conflicts.c:

Go to the source code of this file.

Functions

void set_conflict_testing_properties ()
 conflicts.c More...
 
bool effects_must_conflict_p (effect eff1, effect eff2)
 Intersection tests. More...
 
bool effects_might_conflict_even_read_only_p (effect eff1, effect eff2)
 Check if two effect might conflict, even if they are read only @description Two effects may conflict if their abstract two location sets has a non-empty intersection. More...
 
bool effects_may_conflict_p (effect eff1, effect eff2)
 Check if two effect may conflict @description Two effects may conflict if their abstract two location sets has a non-empty intersection and if at least one of them is a write. More...
 
static bool old_effects_conflict_p (effect eff1, effect eff2)
 OBSOLETE, was never used !! More...
 
bool effects_conflict_p (effect eff1, effect eff2)
 Synonym for effects_may_conflict_p(). More...
 
bool array_references_may_conflict_p (list sl1, list sl2)
 Check if there may be a conflict between two array references. More...
 
bool variable_references_may_conflict_p (entity v, list sl1, list sl2)
 FIXME ? More...
 
bool references_may_conflict_p (reference r1, reference r2)
 Check if two references may conflict. More...
 
bool references_must_conflict_p (reference r1, reference r2)
 Check if two references may conflict. More...
 
static bool cells_maymust_conflict_p (cell c1, cell c2, bool must_p)
 Check if two cell may or must conflict. More...
 
bool cells_may_conflict_p (cell c1, cell c2)
 Check if two cell may conflict. More...
 
bool points_to_cell_lists_may_conflict_p (list l1, list l2)
 Same as above, but for lists. More...
 
bool cells_must_conflict_p (cell c1, cell c2)
 Check if two cell must conflict. More...
 
bool points_to_cell_lists_must_conflict_p (list l1, list l2)
 Same as above, but for lists. More...
 
bool entities_maymust_conflict_p (entity e1, entity e2, bool must_p)
 Check if two entities may or must conflict. More...
 
bool entities_may_conflict_p (entity e1, entity e2)
 Check if two entities may conflict. More...
 
bool entities_must_conflict_p (entity e1, entity e2)
 Check if two entities must conflict. More...
 
static bool first_reference_certainly_includes_second_reference_p (reference r1, reference r2)
 Inclusion tests. More...
 
static bool first_cell_certainly_includes_second_cell_p (cell c1, cell c2)
 tests whether first cell certainly includes second one More...
 
bool first_effect_certainly_includes_second_effect_p (effect eff1, effect eff2)
 tests whether first effect certainly includes second one. More...
 
bool first_exact_scalar_effect_certainly_includes_second_effect_p (effect eff1, effect eff2)
 
bool effect_may_read_or_write_memory_paths_from_entity_p (effect ef, entity e)
 misc functions More...
 
bool effects_may_read_or_write_memory_paths_from_entity_p (list l_eff, entity e)
 tests whether the input effects list may contain effects with a memory path from the input entity e; this is currently a mere syntactic test. More...
 
bool generic_effects_maymust_read_or_write_scalar_entity_p (list fx, entity e, bool must_p, bool concrete_p)
 
bool effects_maymust_read_or_write_scalar_entity_p (list fx, entity e, bool must_p)
 
bool concrete_effects_maymust_read_or_write_scalar_entity_p (list fx, entity e, bool must_p)
 
bool effects_may_read_or_write_scalar_entity_p (list fx, entity e)
 check whether scalar entity e may be read or written by effects fx or cannot be accessed at all More...
 
bool concrete_effects_may_read_or_write_scalar_entity_p (list fx, entity e)
 
bool effects_must_read_or_write_scalar_entity_p (list fx, entity e)
 check whether scalar entity e must be read or written by any effect of fx or if it simply might be accessed. More...
 
static list generic_effects_entities_which_may_conflict_with_scalar_entity (list fx, entity e, bool concrete_p)
 Returns the list of entities used in effect list fx and potentially conflicting with e. More...
 
list effects_entities_which_may_conflict_with_scalar_entity (list fx, entity e)
 
list concrete_effects_entities_which_may_conflict_with_scalar_entity (list fx, entity e)
 

Variables

static bool constant_path_effects_p = true
 Properties settings for conflict testing functions. More...
 
static bool trust_constant_path_effects_p = false
 
static bool user_effects_on_std_files_p = false
 
static bool aliasing_across_types_p = true
 
static bool aliasing_across_formal_parameters_p = false