[llvm-commits] [llvm] r58489 - in /llvm/trunk/lib: CodeGen/PrologEpilogInserter.cpp Target/X86/X86RegisterInfo.cpp

Bill Wendling wendling at apple.com
Thu Oct 30 23:24:42 PDT 2008


On Oct 30, 2008, at 11:09 PM, Chris Lattner wrote:

> On Oct 30, 2008, at 9:00 PM, Bill Wendling wrote:
>
>> Author: void
>> Date: Thu Oct 30 23:00:23 2008
>> New Revision: 58489
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=58489&view=rev
>> Log:
>> Don't skip over all "terminator" instructions when determining  
>> where to put the
>> callee-saved restore code. It could skip over conditional jumps
>> accidentally. Instead, just skip the "return" instructions.
>
> Testcase?
>
No. This came about because of stuff I'm doing for stack protectors.  
I'd basically end up with an epilogue that looked like this:

	cmpl	%edx, %ecx
	addl	$1068, %esp
	jne	LBB1_5	## CallStackCheckFailBlk
	popl	%esi
	popl	%edi
	popl	%ebx
	popl	%ebp
	ret

instead of this:

	cmpl	%edx, %ecx
	jne	LBB1_5	## CallStackCheckFailBlk
	addl	$1068, %esp
	popl	%esi
	popl	%edi
	popl	%ebx
	popl	%ebp
	ret

But that's after I inserted some code.

-bw




More information about the llvm-commits mailing list