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
static bool ranges_overlap_p(const insn_range_info &r1, const insn_range_info &r2)
Definition pair-fusion.cc:757
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:50
void ao_ref_init_from_ptr_and_size(ao_ref *, tree, tree)
Definition tree-ssa-alias.cc:965
bool call_may_clobber_ref_p(gcall *, tree, bool=true)
Definition tree-ssa-alias.cc:3283
bool ref_can_have_store_data_races(tree)
Definition tree-ssa-alias.cc:3738
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
bool refs_output_dependent_p(tree, tree)
Definition tree-ssa-alias.cc:2641
tree ao_ref_base(ao_ref *)
Definition tree-ssa-alias.cc:795
void pt_solution_set(struct pt_solution *, bitmap, bool)
Definition tree-ssa-structalias.cc:1006
int walk_aliased_vdefs(ao_ref *, tree, bool(*)(ao_ref *, tree, void *), void *, bitmap *, bool *function_entry_reached=NULL, unsigned int limit=0)
Definition tree-ssa-alias.cc:4101
unsigned int compute_may_aliases(void)
Definition tree-ssa-structalias.cc:1721
bool ptr_deref_may_alias_auto_p(tree)
Definition tree-ssa-alias.cc:245
bool ptrs_compare_unequal(tree, tree)
Definition tree-ssa-alias.cc:447
bool ao_ref_alignment(ao_ref *, unsigned int *, unsigned HOST_WIDE_INT *)
Definition tree-ssa-alias.cc:874
bool pt_solution_singleton_or_null_p(struct pt_solution *, unsigned *)
Definition tree-ssa-structalias.cc:1093
bool stmt_may_clobber_global_p(gimple *, bool)
Definition tree-ssa-alias.cc:582
void * walk_non_aliased_vuses(ao_ref *, tree, bool, void *(*)(ao_ref *, tree, void *), void *(*)(ao_ref *, tree, void *, translate_flags *), bool(*)(edge, void *), tree(*)(tree), unsigned &, void *)
void dump_pta_stats(FILE *)
Definition tree-ssa-structalias.cc:971
bool refs_may_alias_p(tree, tree, bool=true)
Definition tree-ssa-alias.cc:2617
void debug_points_to_info_for(tree)
Definition tree-ssa-alias.cc:771
void ao_ref_init(ao_ref *, tree)
Definition tree-ssa-alias.cc:780
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
bool refs_anti_dependent_p(tree, tree)
Definition tree-ssa-alias.cc:2629
tree ao_ref_base_alias_ptr_type(ao_ref *)
Definition tree-ssa-alias.cc:842
bool ptr_derefs_may_alias_p(tree, tree)
Definition tree-ssa-alias.cc:341
bool ref_may_alias_global_p(tree, bool)
Definition tree-ssa-alias.cc:571
alias_set_type ao_ref_base_alias_set(ao_ref *)
Definition tree-ssa-alias.cc:809
void debug_alias_info(void)
Definition tree-ssa-alias.cc:663
bool call_may_clobber_ref_p_1(gcall *, ao_ref *, bool=true)
Definition tree-ssa-alias.cc:3117
void dump_points_to_solution(FILE *, struct pt_solution *)
Definition tree-ssa-alias.cc:672
bool ptr_deref_may_alias_global_p(tree, bool)
Definition tree-ssa-alias.cc:221
void pt_solution_set_var(struct pt_solution *, tree)
Definition tree-ssa-structalias.cc:1020
bool refs_may_alias_p_1(ao_ref *, ao_ref *, bool)
Definition tree-ssa-alias.cc:2598
tree get_continuation_for_phi(gphi *, ao_ref *, bool, unsigned int &, bitmap *, bool, void *(*)(ao_ref *, tree, void *, translate_flags *), void *, bool(*)(edge, void *)=nullptr, translate_flags=TR_VALUEIZE_AND_DISAMBIGUATE)
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
void dump_alias_info(FILE *)
Definition tree-ssa-alias.cc:615
bool stmt_may_clobber_ref_p_1(gimple *, ao_ref *, bool=true)
Definition tree-ssa-alias.cc:3301
bool pt_solution_includes_auto(struct pt_solution *)
Definition tree-ssa-structalias.cc:1139
bool stmt_may_clobber_ref_p(gimple *, tree, bool=true)
Definition tree-ssa-alias.cc:3334
void dump_points_to_info_for(FILE *, tree)
Definition tree-ssa-alias.cc:753
bool pt_solution_includes_const_pool(struct pt_solution *)
Definition tree-ssa-structalias.cc:1201
tree ao_ref_alias_ptr_type(ao_ref *)
Definition tree-ssa-alias.cc:861
alias_set_type ao_ref_alias_set(ao_ref *)
Definition tree-ssa-alias.cc:828
void dump_alias_stats(FILE *)
Definition tree-ssa-alias.cc:135
void ao_ref_init_from_ptr_and_range(ao_ref *, tree, bool, poly_int64, poly_int64, poly_int64)
Definition tree-ssa-alias.cc:901
bool ref_maybe_used_by_stmt_p(gimple *, tree, bool=true)
Definition tree-ssa-alias.cc:3106
bool stmt_kills_ref_p(gimple *, tree)
Definition tree-ssa-alias.cc:3728
bool pt_solution_empty_p(const pt_solution *)
Definition tree-ssa-structalias.cc:1066