This is the mail archive of the
mailing list for the GCC project.
Re: How could I get alias set information from data_reference_p
On Tue, Jul 14, 2009 at 6:08 PM, Sebastian Pop<firstname.lastname@example.org> wrote:
> On Tue, Jul 14, 2009 at 11:03, Sebastian Pop<email@example.com> wrote:
>>> Why do you need alias-set numbers?
>> We want to represent the alias set information as an extra subscript
>> on memory accesses: for example,
>> if we have A and supposing that A is in alias set 6, this would be
>> represented as "memory_access".
>> For B with base array B in alias set 7 and 8, we would represent
>> this as "memory_access or memory_access".
>> The data dependence test that we currently have in the graphite branch
>> would work with alias sets represented by an extra dimension to the
>> array dimensions.
> And by the way, right now we consider that all the data refs alias each
> other, that means that we set the alias dimension of the memory
> accesses to 1 for every data reference. ?This makes the test very
> conservative: in the example above, with the current implementation,
> we would have:
> A: memory_access
> B: memory_access
Well, so you really want to have sort-of the base objects partitioned
into must(!)-conflict sets? Thus,
is only correct if the resulting accesses may not alias? (that is,
p == q?)
No, we don't have such information readily available. You have
to compute it. Likely by building a complete conflict map of
the bases of all memory references and partitioning it.
Which doesn't sound like a great idea - it's quadratic. Thus, can't
you represent this in a more sparse way?