[PATCH] D45653: [X86] Enable sibling-call optimization for functions returning structs

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 24 15:14:42 PDT 2018


efriedma added a comment.

For the C calling convention, there should probably be a testcase where the callee is sret and the caller is not.  (I think we correctly reject the callee-pop cases that can't be handled, though.)

If both the caller and callee are sret, do you need to check that the sret argument is the same?  Consider something like `tail call void @f(%struct.foo* noalias sret @aa) nounwind`.


https://reviews.llvm.org/D45653





More information about the llvm-commits mailing list