> Thank you for the report. I have submitted a bug fix patch waiting to
> be reviewed.
The patch fixes the fortran failures (tested on gfortran an libgomp only).
Thanks,
Dominique
Thank you for the report. I have submitted a bug fix patch waiting to
be reviewed.
thanks,
Cong
On Fri, Nov 8, 2013 at 5:26 AM, Dominique Dhumieres wrote:
> According to http://gcc.gnu.org/ml/gcc-regression/2013-11/msg00197.html
> revision 204538 is breaking several tests. On x86_64-apple-dar
According to http://gcc.gnu.org/ml/gcc-regression/2013-11/msg00197.html
revision 204538 is breaking several tests. On x86_64-apple-darwin* the
failures I have looked at are of the kind
/opt/gcc/work/gcc/testsuite/gfortran.dg/typebound_operator_9.f03: In function
'nabla2_cart2d':
/opt/gcc/work/gcc
On Tue, Oct 15, 2013 at 12:43 AM, Cong Hou wrote:
> Sorry for forgetting using plain-text mode. Resend it.
>
>
> -- Forwarded message --
> From: Cong Hou
> Date: Mon, Oct 14, 2013 at 3:29 PM
> Subject: Re: [PATCH] Reducing number of alias checks in vectori
On Wed, Oct 2, 2013 at 8:26 PM, Jakub Jelinek wrote:
> On Wed, Oct 02, 2013 at 10:50:21AM -0700, Cong Hou wrote:
>> >> + if (int_cst_value (p11.offset) != int_cst_value (p21.offset))
>> >> +return int_cst_value (p11.offset) < int_cst_value (p21.offset);
>> >
>> > This is going to ICE whenever
Sorry for forgetting using plain-text mode. Resend it.
-- Forwarded message --
From: Cong Hou
Date: Mon, Oct 14, 2013 at 3:29 PM
Subject: Re: [PATCH] Reducing number of alias checks in vectorization.
To: Richard Biener , GCC Patches
Cc: Jakub Jelinek
I have made a new patch
Forget about this "aux" idea as the segment length for one data ref
can be different in different dr pairs.
In my patch I created a struct as shown below:
struct dr_addr_with_seg_len
{
data_reference *dr;
tree basic_addr;
tree offset;
tree seg_len;
};
Note that basic_addr and offset can
On Thu, Oct 3, 2013 at 2:06 PM, Joseph S. Myers wrote:
> On Tue, 1 Oct 2013, Cong Hou wrote:
>
>> +#include
>> +#include
>> +#include
>> +
>> #include "config.h"
>
> Whatever the other issues about including these headers at all, any system
> header (C or C++) must always be included *after* c
On Tue, 1 Oct 2013, Cong Hou wrote:
> +#include
> +#include
> +#include
> +
> #include "config.h"
Whatever the other issues about including these headers at all, any system
header (C or C++) must always be included *after* config.h, as config.h
may define feature test macros that are only p
Looks reasonable to me.
David
On Thu, Oct 3, 2013 at 10:57 AM, Cong Hou wrote:
> I noticed that there is a "struct dataref_aux" defined in
> tree-vectorizer.h which is specific to the vectorizer pass and is
> stored in (void*)aux in "struct data_reference". Can we add one more
> field "segment_l
I noticed that there is a "struct dataref_aux" defined in
tree-vectorizer.h which is specific to the vectorizer pass and is
stored in (void*)aux in "struct data_reference". Can we add one more
field "segment_length" to dataref_aux so that we can pass this
information for merging alias checks? Then
On Wed, Oct 2, 2013 at 5:30 PM, Cong Hou wrote:
> On Wed, Oct 2, 2013 at 2:47 PM, Xinliang David Li wrote:
>> I think you need to augment (using a wrapper class) the DDR to capture
>> more information about aliased memory pairs. It should be flexible
>> enough to handle the following cases (you d
General loop multi-versioning (pass) can be a very powerful enabler,
especially when combined with FDO. The loop MV can be done based on
many different conditions:
1) loop trip count (e.g, when we do value profiling on trip count, not
based on average count);
2) memory aliasing
3) target options --
On Wed, Oct 2, 2013 at 2:47 PM, Xinliang David Li wrote:
> I think you need to augment (using a wrapper class) the DDR to capture
> more information about aliased memory pairs. It should be flexible
> enough to handle the following cases (you don't have to handle all
> cases in your first patch, b
Forget to mention that the alias check merger can reduce the number of
checks from 7 to 2 for this example:
struct A {
int *base;
int offset;
int offset2;
int offset3;
int offset4;
int offset5;
int offset6;
int offset7;
int offset8;
};
void foo (struct A * ar1, struct A* ar2)
{
On Wed, Oct 2, 2013 at 2:18 PM, Xinliang David Li wrote:
> On Wed, Oct 2, 2013 at 4:24 AM, Richard Biener wrote:
>> On Tue, 1 Oct 2013, Cong Hou wrote:
>>
>>> When alias exists between data refs in a loop, to vectorize it GCC
>>> does loop versioning and adds runtime alias checks. Basically for e
I think you need to augment (using a wrapper class) the DDR to capture
more information about aliased memory pairs. It should be flexible
enough to handle the following cases (you don't have to handle all
cases in your first patch, but keep those in mind).
1) All accesses in the same group have co
On Wed, Oct 2, 2013 at 4:24 AM, Richard Biener wrote:
> On Tue, 1 Oct 2013, Cong Hou wrote:
>
>> When alias exists between data refs in a loop, to vectorize it GCC
>> does loop versioning and adds runtime alias checks. Basically for each
>> pair of data refs with possible data dependence, there wi
On Wed, Oct 2, 2013 at 4:24 AM, Richard Biener wrote:
> On Tue, 1 Oct 2013, Cong Hou wrote:
>
>> When alias exists between data refs in a loop, to vectorize it GCC
>> does loop versioning and adds runtime alias checks. Basically for each
>> pair of data refs with possible data dependence, there wi
On Wed, Oct 2, 2013 at 10:50 AM, Cong Hou wrote:
> On Tue, Oct 1, 2013 at 11:35 PM, Jakub Jelinek wrote:
>> On Tue, Oct 01, 2013 at 07:12:54PM -0700, Cong Hou wrote:
>>> --- gcc/tree-vect-loop-manip.c (revision 202662)
>>> +++ gcc/tree-vect-loop-manip.c (working copy)
>>
>> Your mailer ate all th
On Wed, Oct 02, 2013 at 10:50:21AM -0700, Cong Hou wrote:
> >> + if (int_cst_value (p11.offset) != int_cst_value (p21.offset))
> >> +return int_cst_value (p11.offset) < int_cst_value (p21.offset);
> >
> > This is going to ICE whenever the offsets wouldn't fit into a
> > HOST_WIDE_INT.
> >
> >
On Tue, Oct 1, 2013 at 11:35 PM, Jakub Jelinek wrote:
> On Tue, Oct 01, 2013 at 07:12:54PM -0700, Cong Hou wrote:
>> --- gcc/tree-vect-loop-manip.c (revision 202662)
>> +++ gcc/tree-vect-loop-manip.c (working copy)
>
> Your mailer ate all the tabs, so the formatting of the whole patch
> can't be c
On Tue, 1 Oct 2013, Cong Hou wrote:
> When alias exists between data refs in a loop, to vectorize it GCC
> does loop versioning and adds runtime alias checks. Basically for each
> pair of data refs with possible data dependence, there will be two
> comparisons generated to make sure there is no al
On Tue, Oct 01, 2013 at 07:12:54PM -0700, Cong Hou wrote:
> --- gcc/tree-vect-loop-manip.c (revision 202662)
> +++ gcc/tree-vect-loop-manip.c (working copy)
Your mailer ate all the tabs, so the formatting of the whole patch
can't be checked.
> @@ -19,6 +19,10 @@ You should have received a copy of
> On Oct 1, 2013, at 7:12 PM, Cong Hou wrote:
>
> When alias exists between data refs in a loop, to vectorize it GCC
> does loop versioning and adds runtime alias checks. Basically for each
> pair of data refs with possible data dependence, there will be two
> comparisons generated to make sure
When alias exists between data refs in a loop, to vectorize it GCC
does loop versioning and adds runtime alias checks. Basically for each
pair of data refs with possible data dependence, there will be two
comparisons generated to make sure there is no aliasing between them
in each iteration of the
26 matches
Mail list logo