[LLVMdev] Alias analysis interface
Dan Gohman
dan433584 at gmail.com
Fri Nov 9 16:44:44 PST 2012
Hello,
I'm afraid I don't understand your question. Could you restate your example
and your question, and say what specifically you would like alias analysis
to do?
Dan
On Fri, Nov 9, 2012 at 9:31 AM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
> Sorry the 1st example I gave it bit lame, it is changed to following:
>
> // a[] is local array, no addr taken. die right after the loop
>
> for (i = 0; i < N; i++) {
> a[i] = ... /* s1 */
> sum += a[i-1];
> }
>
> S1 could be easily deleted if alias analyizer say a[i] and a[i-1].
>
>
>
> On 11/8/12 6:07 PM, Shuxin Yang wrote:
>
>> Hi,
>>
>> In today meeting, Dan gave a very impressive talk about alias
>> analysis.
>> I had a question about the example in his slide, something like:
>>
>> for (i = 0; i < N; i++) a[i] = a[i-1] + 1;
>>
>> For the sake of convenience, let A1, A2 be a[i] and a[i-1] respectively.
>> In Dan's design, Alias(A1, A2) would give "no alias", and in order to
>> prevent A2 from being mistakenly moved out of loop, the optimizer
>> needs to query dependence test as well.
>>
>> The problems is how optimizer combine the results from alias analysis
>> and dependence test?
>>
>> If I change the code little bit, into following, then combining the
>> querying dependence testing would prevent hosting *q.
>>
>> // points-to(p) = { a, b }
>> // points-to(q) = { c, d }
>> for (i = 0; i < N; i++) *p += *q + 1;
>>
>> Thanks
>> Shuxin
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
> ______________________________**_________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev<http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121109/a647dc64/attachment.html>
More information about the llvm-dev
mailing list