> 
> 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.

Reply via email to