JIT: enable implicit tail calls from inlined code (#9405)
Inlines of calls from implicit tail call sites should allow recognition
of inlinee implicit tail call sites.
The jit recognizes implicit tail call sites during importation,
but the inlinee compiler instance did not have compTailCallOpt set
and so never recognized these instances. Fix this and update the logic
to detect the transitively implicit tail calls.
Now that these sites are recognized, morph needs a fix to tunnel through
repeated casts for tail calls, since each level of inlining might add a
cast. All these casts should be identical.
Note under R2R tail calls are not yet recognized (see ZapInfo::canTailCall).
Enable only under FEATURE_TAILCALL_OPT_SHARED_RETURN since the
inline tail call sites are not likely to be in BBJ_RETURN blocks.
Closes #9349.