[llvm-commits] [llvm-gcc-4.2] r50200 - /llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s
Chris Lattner
clattner at apple.com
Wed Apr 23 17:35:04 PDT 2008
On Apr 23, 2008, at 5:11 PM, Dan Gohman wrote:
> Author: djg
> Date: Wed Apr 23 19:11:32 2008
> New Revision: 50200
>
> URL: http://llvm.org/viewvc/llvm-project?rev=50200&view=rev
> Log:
> Fix the darwin snapshot_ret to keep %rsp 16-byte aligned. This is
> pretty obscure, but it turns out that LLVM's -regalloc=local
> occasionally finds a way to need xmm spills in some of these trivial
> ABI testcases, and the code for that requires proper stack alignment.
Whoa. What the heck is snapshot_ret used for?
-Chris
>
>
> This fixes a memory trap in gcc.target/x86_64/abi/
> test_struct_returning.c.
>
> Modified:
> llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-
> support-darwin.s
>
> Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-
> support-darwin.s
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s?rev=50200&r1=50199&r2=50200&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-
> support-darwin.s (original)
> +++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-
> support-darwin.s Wed Apr 23 19:11:32 2008
> @@ -41,6 +41,8 @@
> .p2align 4,,15
> .globl _snapshot_ret
> _snapshot_ret:
> + pushq %rbp
> + movq %rsp, %rbp
> movq %rdi, _rdi(%rip)
> call *_callthis(%rip)
> movq %rax, _rax(%rip)
> @@ -51,6 +53,7 @@
> fstpt _x87_regs+16(%rip)
> fldt _x87_regs+16(%rip)
> fldt _x87_regs(%rip)
> + leave
> ret
>
> .comm _callthis,8
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list