21#ifndef TREE_SSA_ALIAS_H
22#define TREE_SSA_ALIAS_H
130 unsigned HOST_WIDE_INT *);
155 unsigned int &,
bitmap *,
bool,
159 bool (*)(
edge,
void *) =
nullptr,
166 bool (*)(
edge,
void *),
167 tree (*)(
tree),
unsigned &,
void *);
171 bool *function_entry_reached =
NULL,
172 unsigned int limit = 0);
206 unsigned HOST_WIDE_INT size1,
208 unsigned HOST_WIDE_INT size2)
210 if (size1 == 0 || size2 == 0)
213 && (size2 == (
unsigned HOST_WIDE_INT)-1
214 || pos1 < (pos2 + (HOST_WIDE_INT) size2)))
217 && (size1 == (
unsigned HOST_WIDE_INT)-1
218 || pos2 < (pos1 + (HOST_WIDE_INT) size1)))
Definition tree-ssa-alias.h:79
poly_int64 offset
Definition tree-ssa-alias.h:91
bool volatile_p
Definition tree-ssa-alias.h:104
tree base
Definition tree-ssa-alias.h:89
poly_int64 size
Definition tree-ssa-alias.h:93
tree ref
Definition tree-ssa-alias.h:83
alias_set_type ref_alias_set
Definition tree-ssa-alias.h:98
poly_int64 max_size
Definition tree-ssa-alias.h:95
alias_set_type base_alias_set
Definition tree-ssa-alias.h:101
bool max_size_known_p() const
Definition tree-ssa-alias.h:113
bool debug
Definition collect-utils.cc:34
class edge_def * edge
Definition coretypes.h:348
const union tree_node * const_tree
Definition coretypes.h:98
#define GTY(x)
Definition coretypes.h:41
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
int alias_set_type
Definition coretypes.h:345
poly_int< NUM_POLY_INT_COEFFS, HOST_WIDE_INT > poly_int64
Definition poly-int-types.h:24
Definition tree-ssa-alias.h:29
unsigned int vars_contains_escaped
Definition tree-ssa-alias.h:60
bitmap vars
Definition tree-ssa-alias.h:71
unsigned int vars_contains_interposable
Definition tree-ssa-alias.h:68
unsigned int vars_contains_auto
Definition tree-ssa-alias.h:58
unsigned int vars_contains_escaped_heap
Definition tree-ssa-alias.h:63
unsigned int nonlocal
Definition tree-ssa-alias.h:36
unsigned int vars_contains_restrict
Definition tree-ssa-alias.h:66
unsigned int null
Definition tree-ssa-alias.h:48
unsigned int escaped
Definition tree-ssa-alias.h:40
unsigned int ipa_escaped
Definition tree-ssa-alias.h:44
unsigned int const_pool
Definition tree-ssa-alias.h:53
unsigned int vars_contains_nonlocal
Definition tree-ssa-alias.h:56
unsigned int anything
Definition tree-ssa-alias.h:32
#define NULL
Definition system.h:58
bool stmt_may_clobber_ref_p(gimple *stmt, tree ref, bool tbaa_p)
Definition tree-ssa-alias.cc:3334
bool refs_anti_dependent_p(tree load, tree store)
Definition tree-ssa-alias.cc:2629
void dump_points_to_info_for(FILE *file, tree ptr)
Definition tree-ssa-alias.cc:753
tree ao_ref_base_alias_ptr_type(ao_ref *ref)
Definition tree-ssa-alias.cc:842
bool ptr_derefs_may_alias_p(tree ptr1, tree ptr2)
Definition tree-ssa-alias.cc:341
int walk_aliased_vdefs(ao_ref *ref, tree vdef, bool(*walker)(ao_ref *, tree, void *), void *data, bitmap *visited, bool *function_entry_reached, unsigned int limit)
Definition tree-ssa-alias.cc:4105
bool ptr_deref_may_alias_global_p(tree ptr, bool escaped_local_p)
Definition tree-ssa-alias.cc:221
DEBUG_FUNCTION void debug_points_to_info_for(tree var)
Definition tree-ssa-alias.cc:771
void dump_points_to_solution(FILE *file, struct pt_solution *pt)
Definition tree-ssa-alias.cc:672
void dump_alias_info(FILE *file)
Definition tree-ssa-alias.cc:615
bool call_may_clobber_ref_p(gcall *call, tree ref, bool tbaa_p)
Definition tree-ssa-alias.cc:3283
DEBUG_FUNCTION void debug_alias_info(void)
Definition tree-ssa-alias.cc:663
bool stmt_may_clobber_global_p(gimple *stmt, bool escaped_local_p)
Definition tree-ssa-alias.cc:582
bool ref_can_have_store_data_races(tree ref)
Definition tree-ssa-alias.cc:3738
alias_set_type ao_ref_alias_set(ao_ref *ref)
Definition tree-ssa-alias.cc:828
bool ptrs_compare_unequal(tree ptr1, tree ptr2)
Definition tree-ssa-alias.cc:447
bool stmt_may_clobber_ref_p_1(gimple *stmt, ao_ref *ref, bool tbaa_p)
Definition tree-ssa-alias.cc:3301
void ao_ref_init_from_ptr_and_size(ao_ref *ref, tree ptr, tree size)
Definition tree-ssa-alias.cc:965
alias_set_type ao_ref_base_alias_set(ao_ref *ref)
Definition tree-ssa-alias.cc:809
bool ao_ref_alignment(ao_ref *ref, unsigned int *align, unsigned HOST_WIDE_INT *bitpos)
Definition tree-ssa-alias.cc:874
bool ref_may_alias_global_p(ao_ref *ref, bool escaped_local_p)
Definition tree-ssa-alias.cc:564
tree ao_ref_base(ao_ref *ref)
Definition tree-ssa-alias.cc:795
void dump_alias_stats(FILE *s)
Definition tree-ssa-alias.cc:135
bool call_may_clobber_ref_p_1(gcall *call, ao_ref *ref, bool tbaa_p)
Definition tree-ssa-alias.cc:3117
bool refs_output_dependent_p(tree store1, tree store2)
Definition tree-ssa-alias.cc:2641
bool refs_may_alias_p(tree ref1, tree ref2, bool tbaa_p)
Definition tree-ssa-alias.cc:2617
tree ao_ref_alias_ptr_type(ao_ref *ref)
Definition tree-ssa-alias.cc:861
bool stmt_kills_ref_p(gimple *stmt, ao_ref *ref)
Definition tree-ssa-alias.cc:3466
bool refs_may_alias_p_1(ao_ref *ref1, ao_ref *ref2, bool tbaa_p)
Definition tree-ssa-alias.cc:2598
bool ptr_deref_may_alias_auto_p(tree ptr)
Definition tree-ssa-alias.cc:245
void * walk_non_aliased_vuses(ao_ref *ref, tree vuse, bool tbaa_p, void *(*walker)(ao_ref *, tree, void *), void *(*translate)(ao_ref *, tree, void *, translate_flags *), bool(*is_backedge)(edge, void *), tree(*valueize)(tree), unsigned &limit, void *data)
Definition tree-ssa-alias.cc:3945
void ao_ref_init(ao_ref *r, tree ref)
Definition tree-ssa-alias.cc:780
tree get_continuation_for_phi(gphi *phi, ao_ref *ref, bool tbaa_p, unsigned int &limit, bitmap *visited, bool abort_on_visited, void *(*translate)(ao_ref *, tree, void *, translate_flags *), void *data, bool(*is_backedge)(edge, void *), translate_flags disambiguate_only)
Definition tree-ssa-alias.cc:3853
bool ref_maybe_used_by_stmt_p(gimple *stmt, ao_ref *ref, bool tbaa_p)
Definition tree-ssa-alias.cc:3062
void ao_ref_init_from_ptr_and_range(ao_ref *ref, tree ptr, bool range_known, poly_int64 offset, poly_int64 size, poly_int64 max_size)
Definition tree-ssa-alias.cc:901
bool ranges_overlap_p(HOST_WIDE_INT pos1, unsigned HOST_WIDE_INT size1, HOST_WIDE_INT pos2, unsigned HOST_WIDE_INT size2)
Definition tree-ssa-alias.h:205
struct pt_solution ipa_escaped_pt
Definition tree-ssa-structalias.cc:1838
translate_flags
Definition tree-ssa-alias.h:153
@ TR_VALUEIZE_AND_DISAMBIGUATE
Definition tree-ssa-alias.h:153
@ TR_TRANSLATE
Definition tree-ssa-alias.h:153
@ TR_DISAMBIGUATE
Definition tree-ssa-alias.h:153
void pt_solution_set(struct pt_solution *, bitmap, bool)
Definition tree-ssa-structalias.cc:1006
unsigned int compute_may_aliases(void)
Definition tree-ssa-structalias.cc:1721
bool pt_solution_singleton_or_null_p(struct pt_solution *, unsigned *)
Definition tree-ssa-structalias.cc:1093
void dump_pta_stats(FILE *)
Definition tree-ssa-structalias.cc:971
bool pt_solution_includes_global(struct pt_solution *, bool)
Definition tree-ssa-structalias.cc:1109
bool pt_solutions_intersect(struct pt_solution *, struct pt_solution *)
Definition tree-ssa-structalias.cc:1262
void pt_solution_set_var(struct pt_solution *, tree)
Definition tree-ssa-structalias.cc:1020
bool pt_solution_includes(struct pt_solution *, const_tree)
Definition tree-ssa-structalias.cc:1187
void pt_solution_reset(struct pt_solution *)
Definition tree-ssa-structalias.cc:993
bool pt_solution_includes_auto(struct pt_solution *)
Definition tree-ssa-structalias.cc:1139
bool pt_solution_includes_const_pool(struct pt_solution *)
Definition tree-ssa-structalias.cc:1201
bool pt_solution_empty_p(const pt_solution *)
Definition tree-ssa-structalias.cc:1066