[llvm-dev] llvm optimizer turning musttail into tail

Carlo Kok via llvm-dev
2016-11-24T13:41:41Z

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