This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] _Cilk_for for C and C++
- From: Jakub Jelinek <jakub at redhat dot com>
- To: "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>
- Cc: Jason Merrill <jason at redhat dot com>, "'Jeff Law'" <law at redhat dot com>, "'Aldy Hernandez'" <aldyh at redhat dot com>, "'gcc-patches at gcc dot gnu dot org'" <gcc-patches at gcc dot gnu dot org>, "'rth at redhat dot com'" <rth at redhat dot com>
- Date: Tue, 7 Jan 2014 22:29:11 +0100
- Subject: Re: [PATCH] _Cilk_for for C and C++
- Authentication-results: sourceware.org; auth=none
- References: <52964B50 dot 6090006 at redhat dot com> <BF230D13CA30DD48930C31D4099330003A4AD05D at FMSMSX101 dot amr dot corp dot intel dot com> <529693B0 dot 4050005 at redhat dot com> <529D7A76 dot 1080001 at redhat dot com> <BF230D13CA30DD48930C31D4099330003A4AE391 at FMSMSX101 dot amr dot corp dot intel dot com> <BF230D13CA30DD48930C31D4099330003A4B2148 at FMSMSX101 dot amr dot corp dot intel dot com> <52AF6EE8 dot 2080807 at redhat dot com> <BF230D13CA30DD48930C31D4099330003A4B2BA2 at FMSMSX101 dot amr dot corp dot intel dot com> <52CC6657 dot 3000500 at redhat dot com> <BF230D13CA30DD48930C31D4099330003A4B866E at FMSMSX101 dot amr dot corp dot intel dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Jan 07, 2014 at 09:24:21PM +0000, Iyer, Balaji V wrote:
> > -----Original Message-----
> > From: Jason Merrill [mailto:jason@redhat.com]
> > Sent: Tuesday, January 7, 2014 3:41 PM
> > To: Iyer, Balaji V; 'Jeff Law'; 'Aldy Hernandez'
> > Cc: 'gcc-patches@gcc.gnu.org'; 'rth@redhat.com'; 'Jakub Jelinek'
> > Subject: Re: [PATCH] _Cilk_for for C and C++
> >
> > On 12/17/2013 07:21 PM, Iyer, Balaji V wrote:
> > > The reason why I store it in OMP_FOR_CLAUSE is because OMP clauses
> > cannot occur in _Cilk_for. So adding a new clause seem to be an overkill
> > IMHO. I need a place to store the grain value and so I chose this spot.
> >
> > But code expects OMP_FOR_CLAUSES to have a certain form, and you are
> > violating that so that now code needs to check whether we're dealing with a
> > for loop in order to know to parse OMP_FOR_CLAUSES. Doing it your way
> > requires lots of little special cases. Please represent it as a clause.
>
> Hi Jason,
> In gimplify_omp_for, I remove the information in OMP_FOR_CLAUSES ()
> and then replace it with a NULL_TREE. Till that point, nothing
> steps on it (except in pt.c and that I am handling it). Then the
> grain value is stored in gimple tree for omp_for.
So, you are abusing OMP_FOR_CLAUSES for shorter time, still, I agree with
Jason that you shouldn't do that.
If you don't want to add a new clause, just use a similar existing one,
if grain is something like scheduling chunk size, just with a different
name for it, then using OMP_CLAUSE_SCHEDULE with OMP_CLAUSE_SCHEDULE_EXPR
being the grain expression would be certainly cleaner.
But even adding a new artificial clause isn't that hard.
Jakub