> -----Original Message----- > From: Jeff Law [mailto:l...@redhat.com] > Sent: Wednesday, October 23, 2013 3:53 PM > To: Iyer, Balaji V; r...@redhat.com; Jason Merrill (ja...@redhat.com); Aldy > Hernandez (al...@redhat.com) > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] Cilk Keywords (_Cilk_spawn and _Cilk_sync) for C (and > C++) > > On 10/23/13 13:46, Iyer, Balaji V wrote: > >> > >>>> Can you take a look at calls.c::special_function_p and determine if > >>>> we need > >> to > >>>> 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? > 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 (longjmp). > I do check for those in the the spawnee using the check_outlined_calls function.
> Jeff