<div dir="ltr">Sorry, I didn't know about that. I'll take this into account in the future, thanks.</div><br><div class="gmail_quote"><div dir="ltr">On Wed, Aug 15, 2018 at 1:57 PM Roman Lebedev <<a href="mailto:lebedev.ri@gmail.com">lebedev.ri@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The commit subject should also had "[NFC]", since this is literally no<br>
functional change.<br>
<br>
On Wed, Aug 15, 2018 at 1:54 PM, Aleksandr Urakov via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Author: aleksandr.urakov<br>
> Date: Wed Aug 15 03:54:06 2018<br>
> New Revision: 339760<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=339760&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=339760&view=rev</a><br>
> Log:<br>
> [X86] Add sibling-call test cases<br>
><br>
> This commit adds new sibling-call test cases, so it will be possible to see<br>
> how these test cases will be changed after applying D45653.<br>
> See D45653 for details.<br>
><br>
> Modified:<br>
>     llvm/trunk/test/CodeGen/X86/sibcall.ll<br>
><br>
> Modified: llvm/trunk/test/CodeGen/X86/sibcall.ll<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sibcall.ll?rev=339760&r1=339759&r2=339760&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sibcall.ll?rev=339760&r1=339759&r2=339760&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/test/CodeGen/X86/sibcall.ll (original)<br>
> +++ llvm/trunk/test/CodeGen/X86/sibcall.ll Wed Aug 15 03:54:06 2018<br>
> @@ -606,3 +606,112 @@ entry:<br>
>  }<br>
><br>
>  declare fastcc double @foo20(double) nounwind<br>
> +<br>
> +; bug 28417<br>
> +define fastcc void @t21_sret_to_sret(%struct.foo* noalias sret %agg.result) nounwind  {<br>
> +; 32-LABEL: t21_sret_to_sret:<br>
> +; 32: jmp {{_?}}t21_f_sret<br>
> +; 64-LABEL: t21_sret_to_sret:<br>
> +; 64: jmp {{_?}}t21_f_sret<br>
> +; X32-LABEL: t21_sret_to_sret:<br>
> +; X32:       # %bb.0:<br>
> +; X32-NEXT:    pushl %esi<br>
> +; X32-NEXT:    subl $8, %esp<br>
> +; X32-NEXT:    movl %ecx, %esi<br>
> +; X32-NEXT:    calll t21_f_sret<br>
> +; X32-NEXT:    movl %esi, %eax<br>
> +; X32-NEXT:    addl $8, %esp<br>
> +; X32-NEXT:    popl %esi<br>
> +; X32-NEXT:    retl<br>
> +;<br>
> +; X64-LABEL: t21_sret_to_sret:<br>
> +; X64:       # %bb.0:<br>
> +; X64-NEXT:    pushq %rbx<br>
> +; X64-NEXT:    movq %rdi, %rbx<br>
> +; X64-NEXT:    callq t21_f_sret<br>
> +; X64-NEXT:    movq %rbx, %rax<br>
> +; X64-NEXT:    popq %rbx<br>
> +; X64-NEXT:    retq<br>
> +;<br>
> +; X32ABI-LABEL: t21_sret_to_sret:<br>
> +; X32ABI:       # %bb.0:<br>
> +; X32ABI-NEXT:    pushq %rbx<br>
> +; X32ABI-NEXT:    movl %edi, %ebx<br>
> +; X32ABI-NEXT:    callq t21_f_sret<br>
> +; X32ABI-NEXT:    movl %ebx, %eax<br>
> +; X32ABI-NEXT:    popq %rbx<br>
> +; X32ABI-NEXT:    retq<br>
> +  tail call fastcc void @t21_f_sret(%struct.foo* noalias sret %agg.result) nounwind<br>
> +  ret void<br>
> +}<br>
> +<br>
> +define fastcc void @t21_sret_to_non_sret(%struct.foo* noalias sret %agg.result) nounwind  {<br>
> +; 32-LABEL: t21_sret_to_non_sret:<br>
> +; 32: calll {{_?}}t21_f_non_sret<br>
> +; 32: retl<br>
> +; 64-LABEL: t21_sret_to_non_sret:<br>
> +; 64: callq {{_?}}t21_f_non_sret<br>
> +; 64: retq<br>
> +; X32-LABEL: t21_sret_to_non_sret:<br>
> +; X32:       # %bb.0:<br>
> +; X32-NEXT:    pushl %esi<br>
> +; X32-NEXT:    subl $8, %esp<br>
> +; X32-NEXT:    movl %ecx, %esi<br>
> +; X32-NEXT:    calll t21_f_non_sret<br>
> +; X32-NEXT:    movl %esi, %eax<br>
> +; X32-NEXT:    addl $8, %esp<br>
> +; X32-NEXT:    popl %esi<br>
> +; X32-NEXT:    retl<br>
> +;<br>
> +; X64-LABEL: t21_sret_to_non_sret:<br>
> +; X64:       # %bb.0:<br>
> +; X64-NEXT:    pushq %rbx<br>
> +; X64-NEXT:    movq %rdi, %rbx<br>
> +; X64-NEXT:    callq t21_f_non_sret<br>
> +; X64-NEXT:    movq %rbx, %rax<br>
> +; X64-NEXT:    popq %rbx<br>
> +; X64-NEXT:    retq<br>
> +;<br>
> +; X32ABI-LABEL: t21_sret_to_non_sret:<br>
> +; X32ABI:       # %bb.0:<br>
> +; X32ABI-NEXT:    pushq %rbx<br>
> +; X32ABI-NEXT:    movl %edi, %ebx<br>
> +; X32ABI-NEXT:    callq t21_f_non_sret<br>
> +; X32ABI-NEXT:    movl %ebx, %eax<br>
> +; X32ABI-NEXT:    popq %rbx<br>
> +; X32ABI-NEXT:    retq<br>
> +  tail call fastcc void @t21_f_non_sret(%struct.foo* %agg.result) nounwind<br>
> +  ret void<br>
> +}<br>
> +<br>
> +define fastcc void @t21_non_sret_to_sret(%struct.foo* %agg.result) nounwind  {<br>
> +; 32-LABEL: t21_non_sret_to_sret:<br>
> +; 32: jmp {{_?}}t21_f_sret<br>
> +; 64-LABEL: t21_non_sret_to_sret:<br>
> +; 64: jmp {{_?}}t21_f_sret<br>
> +; X32-LABEL: t21_non_sret_to_sret:<br>
> +; X32:       # %bb.0:<br>
> +; X32-NEXT:    subl $12, %esp<br>
> +; X32-NEXT:    calll t21_f_sret<br>
> +; X32-NEXT:    addl $12, %esp<br>
> +; X32-NEXT:    retl<br>
> +;<br>
> +; X64-LABEL: t21_non_sret_to_sret:<br>
> +; X64:       # %bb.0:<br>
> +; X64-NEXT:    pushq %rax<br>
> +; X64-NEXT:    callq t21_f_sret<br>
> +; X64-NEXT:    popq %rax<br>
> +; X64-NEXT:    retq<br>
> +;<br>
> +; X32ABI-LABEL: t21_non_sret_to_sret:<br>
> +; X32ABI:       # %bb.0:<br>
> +; X32ABI-NEXT:    pushq %rax<br>
> +; X32ABI-NEXT:    callq t21_f_sret<br>
> +; X32ABI-NEXT:    popq %rax<br>
> +; X32ABI-NEXT:    retq<br>
> +  tail call fastcc void @t21_f_sret(%struct.foo* noalias sret %agg.result) nounwind<br>
> +  ret void<br>
> +}<br>
> +<br>
> +declare fastcc void @t21_f_sret(%struct.foo* noalias sret) nounwind<br>
> +declare fastcc void @t21_f_non_sret(%struct.foo*) nounwind<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Aleksandr Urakov</div><div><span>Software Developer</span></div><div><span>JetBrains</span></div><div><span><a href="http://www.jetbrains.com" target="_blank">http://www.jetbrains.com</a></span></div><div><span>The Drive to Develop</span></div></div></div>