GCC Middle and Back End API Reference
tree-ssa-alias.h File Reference

Go to the source code of this file.

Data Structures

struct  pt_solution
struct  ao_ref_s

Typedefs

typedef struct ao_ref_s ao_ref

Functions

void ao_ref_init (ao_ref *, tree)
void ao_ref_init_from_ptr_and_size (ao_ref *, tree, tree)
tree ao_ref_base (ao_ref *)
alias_set_type ao_ref_alias_set (ao_ref *)
bool ptr_deref_may_alias_global_p (tree)
bool ptr_derefs_may_alias_p (tree, tree)
bool ref_may_alias_global_p (tree)
bool refs_may_alias_p (tree, tree)
bool refs_may_alias_p_1 (ao_ref *, ao_ref *, bool)
bool refs_anti_dependent_p (tree, tree)
bool refs_output_dependent_p (tree, tree)
bool ref_maybe_used_by_stmt_p (gimple, tree)
bool stmt_may_clobber_global_p (gimple)
bool stmt_may_clobber_ref_p (gimple, tree)
bool stmt_may_clobber_ref_p_1 (gimple, ao_ref *)
bool call_may_clobber_ref_p (gimple, tree)
bool stmt_kills_ref_p (gimple, tree)
tree get_continuation_for_phi (gimple, ao_ref *, unsigned int *, bitmap *, bool)
void * walk_non_aliased_vuses (ao_ref *, tree, void *(*)(ao_ref *, tree, unsigned int, void *), void *(*)(ao_ref *, tree, void *), void *)
unsigned int walk_aliased_vdefs (ao_ref *, tree, bool(*)(ao_ref *, tree, void *), void *, bitmap *)
struct ptr_info_defget_ptr_info (tree)
void dump_alias_info (FILE *)
void debug_alias_info (void)
void dump_points_to_solution (FILE *, struct pt_solution *)
void debug (pt_solution &ref)
void debug (pt_solution *ptr)
void dump_points_to_info_for (FILE *, tree)
void debug_points_to_info_for (tree)
void dump_alias_stats (FILE *)
unsigned int compute_may_aliases (void)
bool pt_solution_empty_p (struct pt_solution *)
bool pt_solution_singleton_p (struct pt_solution *, unsigned *)
bool pt_solution_includes_global (struct pt_solution *)
bool pt_solution_includes (struct pt_solution *, const_tree)
bool pt_solutions_intersect (struct pt_solution *, struct pt_solution *)
void pt_solution_reset (struct pt_solution *)
void pt_solution_set (struct pt_solution *, bitmap, bool)
void pt_solution_set_var (struct pt_solution *, tree)
void dump_pta_stats (FILE *)

Variables

struct pt_solution ipa_escaped_pt

Typedef Documentation

typedef struct ao_ref_s ao_ref
Simplified and cached information about a memory reference tree.
   Used by the alias-oracle internally and externally in alternate
   interfaces.   

Function Documentation

alias_set_type ao_ref_alias_set ( ao_ref )
tree ao_ref_base ( ao_ref )
void ao_ref_init ( ao_ref ,
tree   
)
In tree-ssa-alias.c   
void ao_ref_init_from_ptr_and_size ( ao_ref ,
tree  ,
tree   
)
bool call_may_clobber_ref_p ( gimple  ,
tree   
)
unsigned int compute_may_aliases ( void  )
In tree-ssa-structalias.c   
Compute points-to information for every SSA_NAME pointer in the
   current function and compute the transitive closure of escaped
   variables to re-initialize the call-clobber states of local variables.   

References cfun, compute_points_to_sets(), delete_points_to_sets(), dump_alias_info(), dump_file, function::gimple_df, gimple_df::ipa_pta, and need_ssa_update_p().

Referenced by execute_function_todo().

void debug ( pt_solution ref)
void debug ( pt_solution ptr)
void debug_alias_info ( void  )
Dump alias information on stderr.   

References dump_alias_info().

void debug_points_to_info_for ( tree  )
void dump_alias_info ( FILE *  )
void dump_alias_stats ( FILE *  )
void dump_points_to_info_for ( FILE *  ,
tree   
)
void dump_points_to_solution ( FILE *  ,
struct pt_solution  
)
void dump_pta_stats ( FILE *  )

Referenced by dump_memory_report().

tree get_continuation_for_phi ( gimple  phi,
ao_ref ref,
unsigned int *  cnt,
bitmap visited,
bool  abort_on_visited 
)
Starting from a PHI node for the virtual operand of the memory reference
   REF find a continuation virtual operand that allows to continue walking
   statements dominating PHI skipping only statements that cannot possibly
   clobber REF.  Increments *CNT for each alias disambiguation done.
   Returns NULL_TREE if no suitable virtual operand can be found.   

References CDI_DOMINATORS, dominated_by_p(), get_continuation_for_phi_1(), and gimple_phi_num_args().

Referenced by maybe_skip_until(), translate_vuse_through_block(), and walk_non_aliased_vuses().

bool pt_solution_empty_p ( struct pt_solution )
bool pt_solution_includes_global ( struct pt_solution )
void pt_solution_set ( struct pt_solution ,
bitmap  ,
bool   
)
void pt_solution_set_var ( struct pt_solution ,
tree   
)

Referenced by copy_ref_info().

bool pt_solution_singleton_p ( struct pt_solution ,
unsigned *   
)
bool pt_solutions_intersect ( struct pt_solution ,
struct pt_solution  
)
bool ptr_deref_may_alias_global_p ( tree  )
bool ptr_derefs_may_alias_p ( tree  ,
tree   
)
bool ref_may_alias_global_p ( tree  )
bool ref_maybe_used_by_stmt_p ( gimple  ,
tree   
)
bool refs_anti_dependent_p ( tree  ,
tree   
)
bool refs_may_alias_p ( tree  ,
tree   
)
bool refs_may_alias_p_1 ( ao_ref ,
ao_ref ,
bool   
)
bool refs_output_dependent_p ( tree  ,
tree   
)
bool stmt_kills_ref_p ( gimple  ,
tree   
)
bool stmt_may_clobber_global_p ( gimple  )
bool stmt_may_clobber_ref_p ( gimple  ,
tree   
)
bool stmt_may_clobber_ref_p_1 ( gimple  ,
ao_ref  
)
void* walk_non_aliased_vuses ( ao_ref ,
tree  ,
void *  *)(ao_ref *, tree, unsigned int, void *,
void *  *)(ao_ref *, tree, void *,
void *   
)

Variable Documentation