This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Issue with _Cilk_for
- From: Jakub Jelinek <jakub at redhat dot com>
- To: "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 31 Jan 2014 17:25:43 +0100
- Subject: Re: Issue with _Cilk_for
- Authentication-results: sourceware.org; auth=none
- References: <BF230D13CA30DD48930C31D4099330003A4CA5AD at FMSMSX101 dot amr dot corp dot intel dot com> <20140131154257 dot GU892 at tucnak dot redhat dot com> <20140131160418 dot GV892 at tucnak dot redhat dot com> <BF230D13CA30DD48930C31D4099330003A4CAE95 at FMSMSX101 dot amr dot corp dot intel dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Jan 31, 2014 at 04:18:28PM +0000, Iyer, Balaji V wrote:
> I tried to do this. The thing is, you had me model like this:
>
> #pragma omp parallel for
> _Cilk_for (...)
> {
> Body
> }
>
> Now, the compiler will do something like this:
>
> #pragma OMP parallel
> {
> #pragma Omp for
> {
> _Cilk_for (...)
> Body
> }
> }
>
> Now, if by the time it starts to look at evaluating/breaking up the
> _Cilk-for's parts, we are already at the scope inside #pragma omp
> parallel. If I try to pop here, it has some scope issues with #pragma omp
> parallel. This requires a lot of rewrite of existing OMP code to port it
> for _Cilk_for. This can be done but will take significant time which I
> don't think I have since we are close to end of stage3.
It really doesn't require lots of rewriting, after all, OpenMP handles
the C++ iterators very similarly.
> We can look into what you want, but in the meantime, can you accept this
> patch with the way I have modelled so that the feature can make it into
> 4.9?
No. In GCC we do not rush in bad changes just because there is time
pressure. As Cilk+ is new in GCC 4.9, if you adjust things properly in
say 2-3 weeks frame, we might still make an exception and allow it in
during stage4, otherwise it will have to wait for 5.0.
Jakub