The ref manual states: The optional "tail" marker indicates whether
the callee function accesses any allocas or varargs in the caller. If
the "tail" marker is present, the function call is eligible for tail
call optimization. Note that calls may be marked "tail" even if they
do not occur before a ret instruction.
Does "eligible" in the above mean that some analysis is performed, and
if the call is found to meet certain criteria it is turned into a tail
call? Or is it guaranteed to perform a tail call if 'tail' is
The last statement of that paragraph implies that some analysis is
involved, but  states that there is no analysis performed.