This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Cilk Keywords (_Cilk_spawn and _Cilk_sync) for C (and C++)
- From: Jeff Law <law at redhat dot com>
- To: "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>, "rth at redhat dot com" <rth at redhat dot com>, "Jason Merrill (jason at redhat dot com)" <jason at redhat dot com>, "Aldy Hernandez (aldyh at redhat dot com)" <aldyh at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 23 Oct 2013 13:53:00 -0600
- Subject: Re: [PATCH] Cilk Keywords (_Cilk_spawn and _Cilk_sync) for C (and C++)
- Authentication-results: sourceware.org; auth=none
- References: <BF230D13CA30DD48930C31D4099330003A46B6DF at FMSMSX101 dot amr dot corp dot intel dot com> <525F03CE dot 9000801 at redhat dot com> <BF230D13CA30DD48930C31D4099330003A488BAF at FMSMSX101 dot amr dot corp dot intel dot com> <52675A8D dot 9040601 at redhat dot com> <BF230D13CA30DD48930C31D4099330003A492BEF at FMSMSX101 dot amr dot corp dot intel dot com>
On 10/23/13 13:46, Iyer, Balaji V wrote:
There wasn't anything in particular I was worried about. Just a general
question as to whether or not we needed to mark the spawner or spawnee
as special, partiuclarly returns twice (setjmp/fork) and never returns
Can you take a look at calls.c::special_function_p and
determine if we need
do something special for spawn here?
I will look into it and let you know.
Any word on this?
Hi Jeff, I looked into this function and from what I can tell, it is
used to mark certain functions (e.g. builtin functions) as special
and thus don't do special optimizations on them like a regular
function. The thing is, the spawnee (the function being spawned) can
be pretty much any regular function. The compiler doesn't even touch
inside the function. The compiler inserts specific Cilk function
calls in the spawner and transplants the function . The only major
restriction I know is that the frame pointer needs to be used and
that I mark as I mentioned above.
Is there anything you were thinking about that I missed?