[llvm-dev] llvm optimizer turning musttail into tail

Carlo Kok via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 24 05:41:41 PST 2016



On 2016-11-24 14:39, Carlo Kok via llvm-dev wrote:
>
> I've got some calls like:
>
> musttail call void bitcast (i32 (i32, i8*, %Type*)* @MyMethod to void
> (i32, i8*)*)(i32 %0, i8* %1)
> ret void
>

This should have said: that llvm optimizes into something like:
> %8 = tail call i32 @MyMethod(i32 %0, i8* %1, %Type* null)
> ret void
>
> I realize I'm losing a parameter there, but this is an interface jump
> trick I use and relies on the end code being a 'jmp' (x86). I can probably
 > use noopt & noinline to do this trick, but I do want llvm
> to optimize and inline calls if it can prove it always calls a given
> method. Any way i can do this?
>

-- 
Carlo Kok
RemObjects Software


More information about the llvm-dev mailing list