For example, alias_sets_conflict_p will say the a[i] is aliased with b[i]. It is both conservative and wrong.
void foo(int * restrict a, int * restrict b, int n) { int i; for(i = 0; i < n; i++) { a[i] = b[i] * 100; } } Bingfeng > -----Original Message----- > From: Steven Bosscher [mailto:stevenb....@gmail.com] > Sent: 04 August 2010 16:26 > To: Bingfeng Mei > Cc: gcc@gcc.gnu.org; Richard Guenther > Subject: Re: Shouldn't alias_sets_conflict_p be replaced with > rtx_refs_may_alias_p? > > On Wed, Aug 4, 2010 at 2:02 PM, Bingfeng Mei <b...@broadcom.com> wrote: > > Hi, > > alias_sets_conflict_p are still used in various places to determine > > whether two memory accesses are aliased. It is based on unique set > > number, which seems not correct with recent changes on alias > > oracle. For example, in ddg.c cross-iteration memory dependence > > is drawn by calling insn_alias_sets_conflict_p, which in turns calls > > alias_sets_conflict_p and gets the wrong answer. > > Just to clarify: When you say "wrong", do you mean "incorrect" or "too > conservative"? > > Ciao! > Steven