1; RUN: llvm-as %s -o /dev/null 2 3; Should assemble without error. 4 5declare void @similar_param_ptrty_callee(i8*) 6define void @similar_param_ptrty(i32*) { 7 musttail call void @similar_param_ptrty_callee(i8* null) 8 ret void 9} 10 11declare i8* @similar_ret_ptrty_callee() 12define i32* @similar_ret_ptrty() { 13 %v = musttail call i8* @similar_ret_ptrty_callee() 14 %w = bitcast i8* %v to i32* 15 ret i32* %w 16} 17 18declare x86_thiscallcc void @varargs_thiscall(i8*, ...) 19define x86_thiscallcc void @varargs_thiscall_thunk(i8* %this, ...) { 20 musttail call x86_thiscallcc void (i8*, ...) @varargs_thiscall(i8* %this, ...) 21 ret void 22} 23 24declare x86_fastcallcc void @varargs_fastcall(i8*, ...) 25define x86_fastcallcc void @varargs_fastcall_thunk(i8* %this, ...) { 26 musttail call x86_fastcallcc void (i8*, ...) @varargs_fastcall(i8* %this, ...) 27 ret void 28} 29 30define x86_thiscallcc void @varargs_thiscall_unreachable(i8* %this, ...) { 31 unreachable 32} 33 34define x86_thiscallcc void @varargs_thiscall_ret_unreachable(i8* %this, ...) { 35 musttail call x86_thiscallcc void (i8*, ...) @varargs_thiscall(i8* %this, ...) 36 ret void 37bb1: 38 ret void 39} 40