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?