> > Yes, note that we don't have callused unless IPA PTA is enabled, > but it might be salveagable from IPA reference info? What we're > missing is a stmt_clobbers_pt_solution_p, or rather a reasonably > cheap way to construct an ao_ref covering all of a points-to > solution. The not-so-cheap way to do that is > > tree tem = make_ssa_name (ptr_type_node); > ptr_info_def *pi = get_ptr_info (p); > pt->pt = *gimple_call_use_set (call_stmt); > tree ref = build2 (MEM_REF, void_type_node /* ?? */, tem, build_zero_cst > (ptr_type_node /* that effectively is ref-all */)); > ao_ref_init (&r, ref); > r->base = ref; > r->ref = NULL_TREE; > r->offset = 0; > r->alias_set = 0; > r->base_alias_set = 0; > > and if we come from IPA reference we first have to build a > points-to bitmap as well. > > What would be a bit more convenient is probably adding > a pt_solution * member to ao_ref. Maybe also avoiding
Having a way to add additional pt_solution to the ref looks like a good idea, since then it could do through the common path in tree-ssa-alias.c. I will look into that next year :) Honza > the MEM_REF build we already do in some cases and overload > the base field using a union and a designator ... > > But yes, sth for next stage1. > > Richard.