Ira Rosen - Re: [patch, 4.1.2, 4.2.1, 4.3] Fix a bug in pointer dependency test (original) (raw)
This is the mail archive of the gcc-patches@gcc.gnu.orgmailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
- From: Ira Rosen
- To: Roger Sayle , "Daniel Berlin"
- Cc: Diego Novillo , gcc-patches at gnu dot org
- Date: Mon, 19 Feb 2007 12:17:33 +0200
- Subject: Re: [patch, 4.1.2, 4.2.1, 4.3] Fix a bug in pointer dependency test
Roger Sayle roger@eyesopen.com wrote on 18/02/2007 22:46:06:
Hi Ira (and Diego),
Re: http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01228.html Re: http://gcc.gnu.org/ml/gcc-patches/2007-02/msg00230.html
On Fri, 2 Feb 2007, Diego Novillo wrote:
Ira Rosen wrote on 01/15/07 05:49:
* tree-ssa-alias.c (may_aliases_intersect): New function. * tree-data-ref.c (ptr_ptr_may_alias_p): Call
may_aliases_intersect for different tags. * tree-flow.h (may_aliases_intersect): Add function declaration.
In mainline you no longer need this after Dan's bitmap conversion for alias sets.
The rest is OK everywhere.
It looks like this patch is responsible for today's regression of three gfortran test cases in the dejagnu testsuite on the 4.1 branch, namely gfortran.dg/vect/vect-2.c on x86_64-unknown-linux-gnu.
Instead of:
! vect-2.f90:7: note: LOOP VECTORIZED. ! vect-2.f90:7: note: vectorized 3 loops in function.
we now get
vect-2.f90:7: note: LOOP VECTORIZED. ! vect-2.f90:7: note: not vectorized: can't determine dependence between (*a_27)[D.955_25] and (*c_23)[D.955_25] ! vect-2.f90:7: note: vectorized 2 loops in function.
Yes, I somehow missed these yesterday. It happens on powerpc too. I will change the test case on 4.1, if there is no objection.
Interestingly, this test case is unchanged on mainline, where it currently passes. I'm wondering are there other alias related patches that need to be backported together with this fix?
I haven't committed the fix to mainline yet, so it does not surprise me.
However, on 4.2 after the fix the test passes too (and on mainline if I add the fix), due to the fact that all the function arguments get different PARM_NOALIAS values, and their may_alias sets does not intersect. Is this the correct behavior? Are function arguments supposed to be not aliased? (I attached the alias analysis dump for this testcase).
Roger
Thanks, Ira
(See attached file: vect-2.f90.084t.alias6.txt)
Attachment:vect-2.f90.084t.alias6.txt
Description: Text document
- Follow-Ups:
- Re: [patch, 4.1.2, 4.2.1, 4.3] Fix a bug in pointer dependency test
* From: Steven Bosscher - Re: [patch, 4.1.2, 4.2.1, 4.3] Fix a bug in pointer dependency test
* From: Eric Botcazou
- Re: [patch, 4.1.2, 4.2.1, 4.3] Fix a bug in pointer dependency test
- References:
- Re: [patch, 4.1.2, 4.2.1, 4.3] Fix a bug in pointer dependency test
* From: Roger Sayle
- Re: [patch, 4.1.2, 4.2.1, 4.3] Fix a bug in pointer dependency test
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |