[llvm-dev] llvm optimizer turning musttail into tail

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

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

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 realize 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