Поддерживает ли Xcode оптимизацию хвостового вызова на iPhone?
Gcc, вероятно, делает, если вы поднимаете уровень оптимизации.
Более новый LLVM, возможно, еще не совсем:
http://llvm.org/docs/CodeGenerator.html#tailcallopt
Это говорит только о x86 / PPC ... он может быть старым, хотя Apple проделала большую работу по переключению на LLVM в качестве нового предпочтительного компилятора (хотя gcc по-прежнему по умолчанию).
xcode просто использует gcc - при условии, что то же самое для телефона, вопрос заключается в том, выполняет ли gcc удаление хвостовых вызовов. Я не верю, что это происходит ни в чем, кроме самых простых случаев.