Is this by definition inline or should I spell it out explicitly, i.e. is there a difference if I prefix (or not) the proc withinline.
Are you asking specifically about procs with param
return intent? Those are removed before the inlining pass. Therefore inline
does not make a difference.
For non-param
and non-type
procs, inline
ensures that the Chapel compiler inlines the proc. Without inline
, the Chapel compiler inlines only iterators except in corner cases.
Once the generated code is passed to the backend compiler, it uses its own judgment what to inline; Chapel's inline
annotation - or its absence - has no impact there.
1 Like