[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