patch: emit tail calls with zeroext/signext on return

Nick Lewycky nlewycky at google.com
Mon Jul 29 23:43:08 PDT 2013


Currently clang can't emit a tail call on:

  bool g(); bool f() { return g(); }

because we lower the functions to have "zeroext i1" return. This patch
updates the safety check in codegen which currently forbids zeroext/signext
from ever participating in tail calls to instead check that the caller and
callee match.

Please review!

Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130729/1e721aec/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr16742-1.patch
Type: application/octet-stream
Size: 3104 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130729/1e721aec/attachment.obj>


More information about the llvm-commits mailing list