aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-alias-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-alias-common.h')
-rw-r--r--gcc/tree-alias-common.h78
1 files changed, 31 insertions, 47 deletions
diff --git a/gcc/tree-alias-common.h b/gcc/tree-alias-common.h
index 0c0623690e2..406a4987c73 100644
--- a/gcc/tree-alias-common.h
+++ b/gcc/tree-alias-common.h
@@ -9,68 +9,46 @@
*/
struct tree_alias_ops
{
- /**
- @brief Initialization
-
- Called right before we start using the other functions.
- */
+ /* Initialization.
+ Called right before we start using the other functions. */
void (*init) (struct tree_alias_ops *);
- /**
- @brief Cleanup
-
- Called when we are finished with the alias analyzer.
- */
+ /* Cleanup.
+ Called when we are finished with the alias analyzer. */
void (*cleanup) (struct tree_alias_ops *);
- /**
- @brief Add variable
-
+ /* Add variable.
Called when we want to inform the alias analyzer about a new
- variable we've found.
- */
+ variable we've found. */
alias_typevar (*add_var) (struct tree_alias_ops *, tree);
- /**
- @brief Add variable equivalent to existing one.
-
+ /* Add variable equivalent to existing one.
Called when we want to inform the alias analyzer about a new
- variable that has the same points-to set as an existing variable.
- */
+ variable that has the same points-to set as an existing
+ variable. */
alias_typevar (*add_var_same) (struct tree_alias_ops *, tree,
- alias_typevar);
- /**
- @brief Process a simple assignment (<tt>a = b</tt>)
-
- Called to process simple assignment statements of the form <tt>a =
- b</tt>, where a and b are both variables.
- */
+ alias_typevar);
+
+ /* Process a simple assignment (a = b).
+ Called to process simple assignment statements of the form a = b,
+ where a and b are both variables. */
void (*simple_assign) (struct tree_alias_ops *, alias_typevar,
alias_typevar);
- /**
- @brief Process an address assignment (<tt>a = &b</tt>)
-
- Called to process address assignment statements of the form <tt>a =
- &b</tt>, where a and b are both variables.
- */
+ /* Process an address assignment (a = &b).
+ Called to process address assignment statements of the form a =
+ &b, where a and b are both variables. */
void (*addr_assign) (struct tree_alias_ops *, alias_typevar, alias_typevar);
- /**
- @brief Process a pointer assignment (<tt>a = *b</tt>)
-
- Called to process pointer assignment statements of the form <tt>a =
- *b</tt>, where a and b are both variables.
- */
+ /* Process a pointer assignment (a = *b).
+ Called to process pointer assignment statements of the form a =
+ *b, where a and b are both variables. */
void (*ptr_assign) (struct tree_alias_ops *, alias_typevar, alias_typevar);
- /**
- @brief Process an operator assignment (<tt>a = op (...)</tt>)
-
- Called to process operators of the form <tt>a = op(....)</tt>, where a is
- a variable.
- */
- void (*op_assign) (struct tree_alias_ops *, alias_typevar, varray_type, tree);
-
+ /* Process an operator assignment (a = op (...))
+ Called to process operators of the form a = op(...), where a is a
+ variable. */
+ void (*op_assign) (struct tree_alias_ops *, alias_typevar, varray_type,
+ tree);
/**
@brief Process a heap assignment (<tt>a = alloc (...)</tt>)
@@ -110,6 +88,11 @@ struct tree_alias_ops
*/
bool (*may_alias) (struct tree_alias_ops *, alias_typevar, alias_typevar);
+ /*
+ Determine if two typevars have the same points-to set.
+ */
+ bool (*same_points_to_set) (struct tree_alias_ops *, alias_typevar, alias_typevar);
+
/**
@brief Private data
*/
@@ -125,6 +108,7 @@ extern void create_alias_vars (tree);
extern void delete_alias_vars (void);
extern void init_alias_vars (void);
extern bool ptr_may_alias_var (tree, tree);
+extern bool same_points_to_set (tree, tree);
extern const char *alias_get_name (tree);
#endif