On Tue, 29 Nov 2016, Jeff Law wrote:
> On 11/29/2016 12:47 AM, Richard Biener wrote:
> > > Balaji added this check explicitly. There should be tests in the testsuite
> > > (spawnee_inline, spawner_inline) which exercise that code.
> > Yes he did, but no, nothing in the testsuite.
> I believe the tests are:
> But as I mentioned, they don't check for proper behaviour
Actually they do -- and both show what the issue might be, cilk+
uses setjmp but we already have code to disallow inlining of
functions calling setjmp (but we happily inline into functions
calling setjmp). When mangling the testcases to try forcing
inlining I still (the patch was already applied) get
In function ‘fib’:
error: function ‘fib’ can never be copied because it receives a non-local
so the intent was probably to disallow inlining of functions calling
cilk_spawn, not to disable inlining into functions calling cilk_spawn.
But as seen above this is already handled by generic code handling
> > There is _nowhere_ documented _why_ the checks were added. Why is
> > inlining a transform that can do anything bad to a function using
> > cilk_spawn?
> I know, it's disappointing. Even the tests mentioned above don't shed any
> real light on the issue.
One issue is obvious (but already handled). Why all inlining should
be disabled is indeed still a mystery.
Richard Biener <rguent...@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB
21284 (AG Nuernberg)