[llvm-commits] [llvm] r95351 - in /llvm/trunk: lib/Target/X86/X86ISelLowering.cpp test/CodeGen/X86/tailcall2.ll

Duncan Sands baldrick at free.fr
Mon Feb 8 12:53:35 PST 2010


Hi Evan,

>> this is great - all of this tailcall work is doing nice things to thunks,
>> for example the thunk in 2003-11-27-MultipleInheritanceThunk.cpp now compiles
>> (using dragonegg) to this:
>>
>> _ZThn16_N20AliasAnalysisCounter13getModRefInfoE8CallSite:
>> .Leh_func_begin2:
>> 	subq	$8, %rsp
>> .Llabel1:
>> 	addq	$-16, %rdi
>> 	addq	$8, %rsp
>> 	jmp	_ZN20AliasAnalysisCounter13getModRefInfoE8CallSite  # TAILCALL
>>
>> Pity about the stack pointer adjustments, but compared to what it was before,
>> it's like Christmas came round all over again!
> 
> I am getting rid of the unnecessary stack ptr adjustments next.

thanks - it is very nice now.  I also tried some covariant return thunks, and
for them LLVM is now producing better code than gcc-4.5.

Ciao,

Duncan.



More information about the llvm-commits mailing list