Memory aliasing

Rajkishore Barik rajbarik@in.ibm.com
Sun Oct 24 19:13:00 GMT 2004


Hi,
Thanks for your input. I am facing a bit of problem interfacing the 
modules 
of the alias.c file. Can someone please help?
I have a simple program which initializes an array and then computes the 
sum of the array elements.
Two consecutive accesses [for summation] in the rtl look like this:
p64= p64 + [(((p60*4)+frame)+-128)]:SI   ; sum +=a[i] after loop unrolling
p64=p64+[(((p60*4)+frame)+-124)]:SI      ; sum+=a[i] after loop unrolling
As you can see both memory references refer to two different locations in 
the stack, when I
call the function 
memrefs_conflict_p(4,  [(((p60*4) + frame) + -128)]:SI, 4, [(((p60*4) + 
frame) + -124)]:SI, 0)
I get a result of 1 which should not be the case. I do convert the rtxes 
into
canonical form. 

Can someone please help?
One more thing, why are not the functions defined in "alias.c" available 
through "alias.h"?

regards,
Raj




Richard Henderson <rth@redhat.com> 
10/11/2004 11:11 PM

To
Rajkishore Barik/India/IBM@IBMIN
cc

Subject
Re: Memory aliasing






On Sat, Oct 09, 2004 at 06:59:47PM +0530, Rajkishore Barik wrote:
> Does  there exist an interface and implementation to find out if two 
> rtl expressions [memory] alias with each other/access the same 
> memory location? 

alias.c.


r~




More information about the Gcc mailing list