public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Memory aliasing
@ 1997-10-14 17:27 Michael P. Hayes
  1997-10-26  9:34 ` Jeffrey A Law
  0 siblings, 1 reply; 4+ messages in thread
From: Michael P. Hayes @ 1997-10-14 17:27 UTC (permalink / raw)
  To: egcs

I've noticed that memrefs_conflict_p considers the following operands
to reference conflicting memory:

(mem:QI (plus:QI (reg:QI 8 ar0) (const_int 1)))

(mem:QI (reg:QI 8 ar0))

I wonder if canon_rtx should convert the second operand to

(mem:QI (plus:QI (reg:QI 8 ar0) (const_int 0))) ?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Memory aliasing
  1997-10-14 17:27 Memory aliasing Michael P. Hayes
@ 1997-10-26  9:34 ` Jeffrey A Law
  0 siblings, 0 replies; 4+ messages in thread
From: Jeffrey A Law @ 1997-10-26  9:34 UTC (permalink / raw)
  To: Michael P. Hayes; +Cc: egcs

  In message < 199710150031.NAA18141@ongaonga.chch.cri.nz >you write:
  > 
  > I've noticed that memrefs_conflict_p considers the following operands
  > to reference conflicting memory:
  > 
  > (mem:QI (plus:QI (reg:QI 8 ar0) (const_int 1)))
  > 
  > (mem:QI (reg:QI 8 ar0))
Does the particular call where they're considered conflicting come
from a call chain which includes true_dependence?  It appears that
true_dependence is passing in the wrong first argument when it
calls memrefs_conflict_p.

jeff

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Memory aliasing
       [not found] <20041011174109.GA1641@redhat.com>
@ 2004-10-24 19:13 ` Rajkishore Barik
  0 siblings, 0 replies; 4+ messages in thread
From: Rajkishore Barik @ 2004-10-24 19:13 UTC (permalink / raw)
  To: Richard Henderson; +Cc: gcc

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~


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Memory aliasing
@ 2004-10-10  1:19 Rajkishore Barik
  0 siblings, 0 replies; 4+ messages in thread
From: Rajkishore Barik @ 2004-10-10  1:19 UTC (permalink / raw)
  To: gcc

Hi,
Does  there exist an interface and implementation to find out if two 
rtl expressions [memory] alias with each other/access the same 
memory location? 
Thanks for your help,
regards,
Raj 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-10-24  3:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-14 17:27 Memory aliasing Michael P. Hayes
1997-10-26  9:34 ` Jeffrey A Law
2004-10-10  1:19 Rajkishore Barik
     [not found] <20041011174109.GA1641@redhat.com>
2004-10-24 19:13 ` Rajkishore Barik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).