osprey-gcc/gcc/tree-ssa-alias.c File Reference

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "rtl.h"
#include "tm_p.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "timevar.h"
#include "expr.h"
#include "ggc.h"
#include "langhooks.h"
#include "flags.h"
#include "function.h"
#include "diagnostic.h"
#include "tree-dump.h"
#include "tree-gimple.h"
#include "tree-flow.h"
#include "tree-inline.h"
#include "tree-pass.h"
#include "convert.h"
#include "params.h"

Include dependency graph for tree-ssa-alias.c:

Go to the source code of this file.

Data Types

type  alias_map_d
type  alias_info
type  alias_stats_d
type  count_ptr_d

Functions/Subroutines

static void compute_flow_insensitive_aliasing (struct alias_info *)
static void dump_alias_stats (FILE *)
static bool may_alias_p (tree, HOST_WIDE_INT, tree, HOST_WIDE_INT)
static tree create_memory_tag (tree type, bool is_type_tag)
static tree get_tmt_for (tree, struct alias_info *)
static tree get_nmt_for (tree)
static void add_may_alias (tree, tree)
static void replace_may_alias (tree, size_t, tree)
static struct alias_infoinit_alias_info (void)
static void delete_alias_info (struct alias_info *)
static void compute_points_to_and_addr_escape (struct alias_info *)
static void compute_flow_sensitive_aliasing (struct alias_info *)
static void setup_pointers_and_addressables (struct alias_info *)
static bool collect_points_to_info_r (tree, tree, void *)
static bool is_escape_site (tree, struct alias_info *)
static void add_pointed_to_var (struct alias_info *, tree, tree)
static void create_global_var (void)
static void collect_points_to_info_for (struct alias_info *, tree)
static void maybe_create_global_var (struct alias_info *ai)
static void group_aliases (struct alias_info *)
static void set_pt_anything (tree ptr)
static void set_pt_malloc (tree ptr)
static void compute_may_aliases (void)
static tree count_ptr_derefs (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED, void *data)
static void count_uses_and_derefs (tree ptr, tree stmt, unsigned *num_uses_p, unsigned *num_derefs_p, bool *is_store)
static void create_name_tags (struct alias_info *ai)
static int total_alias_vops_cmp (const void *p, const void *q)
static void group_aliases_into (tree tag, sbitmap tag_aliases, struct alias_info *ai)
static void create_alias_map_for (tree var, struct alias_info *ai)
static void merge_pointed_to_info (struct alias_info *ai, tree dest, tree orig)
static void add_pointed_to_expr (struct alias_info *ai, tree ptr, tree expr)
void dump_alias_info (FILE *file)
void debug_alias_info (void)
struct ptr_info_def * get_ptr_info (tree t)
void dump_points_to_info_for (FILE *file, tree ptr)
void debug_points_to_info_for (tree var)
void dump_points_to_info (FILE *file)
void debug_points_to_info (void)
void dump_may_aliases_for (FILE *file, tree var)
void debug_may_aliases_for (tree var)
bool may_be_aliased (tree var)

Variables

bool aliases_computed_p
static struct alias_stats_d alias_stats
bitmap call_clobbered_vars
bitmap addressable_vars
tree global_var
struct tree_opt_pass pass_may_alias


Function Documentation

static void add_may_alias ( tree  var,
tree  alias 
) [static]

static void add_pointed_to_expr ( struct alias_info ai,
tree  ptr,
tree  expr 
) [static]

static void add_pointed_to_var ( struct alias_info ai,
tree  ptr,
tree  value 
) [static]

static void collect_points_to_info_for ( struct alias_info ai,
tree  ptr 
) [static]

static bool collect_points_to_info_r ( tree  var,
tree  stmt,
void data 
) [static]

static void compute_flow_insensitive_aliasing ( struct alias_info ai  )  [static]

static void compute_flow_sensitive_aliasing ( struct alias_info ai  )  [static]

static void compute_may_aliases ( void   )  [static]

static void compute_points_to_and_addr_escape ( struct alias_info ai  )  [static]

static tree count_ptr_derefs ( tree tp,
int *walk_subtrees  ATTRIBUTE_UNUSED,
void data 
) [static]

static void count_uses_and_derefs ( tree  ptr,
tree  stmt,
unsigned *  num_uses_p,
unsigned *  num_derefs_p,
bool is_store 
) [static]

static void create_alias_map_for ( tree  var,
struct alias_info ai 
) [static]

static void create_global_var ( void   )  [static]

static tree create_memory_tag ( tree  type,
bool  is_type_tag 
) [static]

static void create_name_tags ( struct alias_info ai  )  [static]

void debug_alias_info ( void   ) 

Definition at line 2328 of file tree-ssa-alias.c.

void debug_may_aliases_for ( tree  var  ) 

Definition at line 2507 of file tree-ssa-alias.c.

void debug_points_to_info ( void   ) 

Definition at line 2474 of file tree-ssa-alias.c.

void debug_points_to_info_for ( tree  var  ) 

Definition at line 2410 of file tree-ssa-alias.c.

static void delete_alias_info ( struct alias_info ai  )  [static]

void dump_alias_info ( FILE file  ) 

Definition at line 2260 of file tree-ssa-alias.c.

static void dump_alias_stats ( FILE file  )  [static]

void dump_may_aliases_for ( FILE file,
tree  var 
)

Definition at line 2482 of file tree-ssa-alias.c.

void dump_points_to_info ( FILE file  ) 

Definition at line 2420 of file tree-ssa-alias.c.

void dump_points_to_info_for ( FILE file,
tree  ptr 
)

Definition at line 2359 of file tree-ssa-alias.c.

static tree get_nmt_for ( tree  ptr  )  [static]

struct ptr_info_def* get_ptr_info ( tree  t  )  [read]

Definition at line 2338 of file tree-ssa-alias.c.

static tree get_tmt_for ( tree  ptr,
struct alias_info ai 
) [static]

static void group_aliases ( struct alias_info ai  )  [static]

static void group_aliases_into ( tree  tag,
sbitmap  tag_aliases,
struct alias_info ai 
) [static]

static struct alias_info * init_alias_info ( void   )  [static, read]

static bool is_escape_site ( tree  stmt,
struct alias_info ai 
) [static]

static bool may_alias_p ( tree  ptr,
HOST_WIDE_INT  mem_alias_set,
tree  var,
HOST_WIDE_INT  var_alias_set 
) [static]

bool may_be_aliased ( tree  var  ) 

Definition at line 2515 of file tree-ssa-alias.c.

static void maybe_create_global_var ( struct alias_info ai  )  [static]

static void merge_pointed_to_info ( struct alias_info ai,
tree  dest,
tree  orig 
) [static]

static void replace_may_alias ( tree  var,
size_t  i,
tree  new_alias 
) [static]

Definition at line 1674 of file tree-ssa-alias.c.

References is_call_clobbered(), mark_call_clobbered(), var_ann(), and VARRAY_TREE.

Referenced by group_aliases().

static void set_pt_anything ( tree  ptr  )  [static]

static void set_pt_malloc ( tree  ptr  )  [static]

Definition at line 1715 of file tree-ssa-alias.c.

References pi, and SSA_NAME_PTR_INFO.

Referenced by add_pointed_to_expr().

static void setup_pointers_and_addressables ( struct alias_info ai  )  [static]

static int total_alias_vops_cmp ( const void p,
const void q 
) [static]

Definition at line 1085 of file tree-ssa-alias.c.

References p1, and p2.

Referenced by group_aliases().


Variable Documentation

Definition at line 175 of file tree-ssa-alias.c.

Definition at line 136 of file tree-ssa-alias.c.

Referenced by compute_may_aliases(), dump_alias_stats(), and may_alias_p().

Definition at line 47 of file tree-ssa-alias.c.

Definition at line 166 of file tree-ssa-alias.c.

Initial value:

Definition at line 347 of file tree-ssa-alias.c.


Generated on Wed Apr 8 14:22:37 2009 for Open64 by  doxygen 1.5.6