erichkeane added a comment. In D147714#4251690 <https://reviews.llvm.org/D147714#4251690>, @haberman wrote:
>> is a [[should_tail]] attribute sort of thing: a tail-hint where we do 'best >> effort with no promises', and make no guarantees that we're going to tail it. > > I'm not sure I see the value in that. The compiler already optimizes tail > calls when it can in a best-effort manner. The purpose of `[[musttail]]` is > to support algorithms that would blow the stack if tail calls were not > optimized. It's better to get a compiler error than to get a stack overflow > at runtime (especially if stack overflow only occurs with certain inputs). I see, yes, that makes sense. Then I go back to my other suggestion: we this needs to encode the per-platform limitations in Sema. I could definitely see this being an 'alias' for `musttail` on most platforms, and us reducing the restrictions over time on a per-platform basis though, so long as we knew codegen would be compatible with it. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D147714/new/ https://reviews.llvm.org/D147714 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits