[PATCH] Allow tail call optimization through multiple/nested struct extractions/insertions

Stephen Lin swlin at post.harvard.edu
Fri Apr 19 07:43:38 PDT 2013


On Fri, Apr 19, 2013 at 10:42 AM, Stephen Lin <swlin at post.harvard.edu> wrote:
> On Fri, Apr 19, 2013 at 3:09 AM, Stephen Lin <swlin at post.harvard.edu> wrote:
>> No problem, I managed to get rid of most of the recursion, actually
>> (see updated patch); it was an interesting exercise. The only
>> recursion left is to handle extractions and insertions...I could
>> probably do something with that too but it requires a lot more book
>> keeping. Do you think it's worth it?
>>
>> I've added tests to CodeGen/X86/tailcall-64.ll to test for the new
>> positive cases. I thought of adding cases to verify that there aren't
>> any false positives because I had a hard time thinking of meaningful
>> false positive cases, but I can try harder to think of some. I also
>> didn't add tests for other targets since this is all
>> target-independent, but I don't mind doing that if you think it's
>> worthwhile.
>>
>> The entire LNT nightly test suite passes, except for an execution time
>> limit on one test, which was already failing for me before this. Is
>> there anything else I should test?
>>
>> Stephen
>>
>
> I've cleaned up the code a bit more.
> - Stephen

(Would be nice to attach the patch, of course.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tail-call-nested-struct.patch
Type: application/octet-stream
Size: 11857 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130419/c6334780/attachment.obj>


More information about the llvm-commits mailing list